STM32F103RCT6有些端口作为输入无法使用

2019-10-14 23:24发布

本帖最后由 酸奶菌 于 2017-2-20 20:13 编辑

各位大大最近小的在用原子哥mini板做个工程,涉及到大概15个输入端口,在用一个端口试用无误之后开始写程序,程序写完之后出大事了,有6个端口无法使用。。。分别是PA15,PB3,PB4,PC11,PC12,PD2。这些端口在初始化的时候都和其他端口一样,使能时钟、下拉输入、然后初始化低电平。        
[mw_shl_code=c,true]        GPIO_InitTypeDef  GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD, ENABLE);


        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
        
        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        GPIO_ResetBits(GPIOA,GPIO_Pin_0);[/mw_shl_code]



同时我也关闭了JTAG,使能SWD。

       [mw_shl_code=c,true] GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);[/mw_shl_code]

当端口检测到高电平(3.3v)时判断为读到1。



       [mw_shl_code=c,true] #define        Mof                GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)                //Male        or        Female                        14[/mw_shl_code]

其他的输入端也是这样子初始化的,可以使用,但是这些端口就不行。

望各位大大帮忙求解,谢谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
Connor
1楼-- · 2019-10-15 03:03
PA15,PB3,PB4默认是JTAG的功能,作为普通IO口配置要开启AFIO时钟,并进行重映射
hcxm1
2楼-- · 2019-10-15 07:08
可能要使能AFIO时钟
酸奶菌
3楼-- · 2019-10-15 07:52
hcxm1 发表于 2017-2-21 08:54
可能要使能AFIO时钟

额,开启复用功能么?
酸奶菌
4楼-- · 2019-10-15 09:40
Connor 发表于 2017-2-21 11:21
PA15,PB3,PB4默认是JTAG的功能,作为普通IO口配置要开启AFIO时钟,并进行重映射

恩恩,好的,我去试试。
酸奶菌
5楼-- · 2019-10-15 11:14
 精彩回答 2  元偷偷看……

一周热门 更多>