我配置完PB3和PB4为上拉输出后 分别将其置0或置1 但PB3和PB4的 输出电平 一直是高 是不是配置错误了 配置如下: GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4; //控制口 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//上拉输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//50M时钟速度 GPIO_Init(GPIOB, &GPIO_InitStructure); |
RE:正确配置 PB4 和PB3
要配置这些引脚,首先要开启AFIO时钟,然后在AFIO的设置中,释放这些引脚。具体看STM32的参考手册中有关AFIO的部分。
应该是GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); 这样吧 如果按您那样设置直接把SDW下载方式也关闭了 程序就下不下去了 麻烦
回复:正确配置 PB4 和PB3
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
RE:正确配置 PB4 和PB3
RE:正确配置 PB4 和PB3
RE:正确配置 PB4 和PB3
回复:正确配置 PB4 和PB3
配置没有错误,你怎么输出的呢?
我是直接用库函数里面的GPIO_ResetBits()和GPIO_SetBits()来进行置低或置高的
回复:正确配置 PB4 和PB3
STM32的PB3、PB4,分别是JTAG的JTDO和NJTRST引脚,在没关闭JTAG功能之前,在程序中是配置不了这些引脚的功能的。
要配置这些引脚,首先要开启AFIO时钟,然后在AFIO的设置中,释放这些引脚。具体看STM32的参考手册中有关AFIO的部分。
AFIO时钟我是打开了 , 但是AFIO我不知道该如何去配置(我一直用的都是库函数 对于直接操控寄存器不是很好) 。能否具体的给说一下。
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
参考这个帖子