我想将A口中的12 13 14设置成推挽输出 用寄存器的代码如下
GPIOA->CRH&=0xfff0ffff;
GPIOA->CRH|=0X00070000; // 01110111
GPIOA->ODR|=1<<12;
GPIOA->CRH&=0xff0fffff;
GPIOA->CRH|=0X00700000; // 01110111
GPIOA->ODR|=1<<13;
GPIOA->CRH&=0xf0ffffff;
GPIOA->CRH|=0X07000000; // 01110111
GPIOA->ODR|=1<<14;
我觉得应该是没什么问题的 怎么就是不对
我用函数就可以 代码如下
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12| GPIO_Pin_13| GPIO_Pin_14; //所有GPIO为同一类型端口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出的最大频率为50HZ
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIOA端口
改成这个就可以 真不知道是什么原因 求大神帮助啊
|