寄存器用法..

2019-07-20 19:21发布

请问,我用 GIOP_Set 命令 I/O 能正常...
用红字部份I/O卻不动作.?



#include "gpio.h"


void Gpio_Init(void)
{
        RCC->AHB1ENR|=1<<1;                // 使能PORTB时钟
       
        GPIO_Set(GPIOB,PIN0|PIN1|PIN7,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);       
        GPIO_Set(GPIOB,PIN6,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_NONE);       

        GPIO_Set(GPIOB,PIN8|PIN9|PIN10|PIN11,GPIO_MODE_IN,0,0,GPIO_PUPD_NONE);
        GPIO_Set(GPIOB,PIN12|PIN13|PIN14|PIN15,GPIO_MODE_IN,0,0,GPIO_PUPD_NONE);
/*       

//        GPIOB->MODER &= 0xffffaffa;        // 清要设定的位
//        GPIOB->MODER |= 0x00005005;        // CIS_CLK PB.0 , CIS_SI PB.1 设为输出
                                        // PB6 oSROL1 , PB7 CIS_SI 抓取时间脚 设为输出
                                        // PB8 ~ PB15 输入
       
       
//        GPIOB->OSPEEDR &= 0xffff0ff0;        // 清要设定的位
//        GPIOB->OSPEEDR |= 0x0000a00a;        // Gpio 速度 100MHZ
       
//        GPIOB->PUPDR &= 0xffffbffa;        // 清要设定的位
//        GPIOB->PUPDR |= 0x00004005;        // PB0 PB1 上拉,PB6 无 ,PB7 上拉
               
//        GPIOB->OTYPER &= 0xffffff3c;        // 清要设定的位
//        GPIOB->OTYPER |= 0x000000C3;        // 输出推挽 PB0 PB1 PB6 PB7

*/       
       
       
               
}







友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。