STM32mini板V3.0 读GPIO状态时关于PA15电平状态的问题

2019-08-18 20:47发布

我在使用stm32mini板读取GPIO状态时,设置的PA15为下拉输入,已经禁用了JtaG,但是PA15不能正常读取数据,测量端口电压发现,无论设置为上拉还是下拉PA15都是低电平、、求解啊

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
ba5rw
1楼-- · 2019-08-19 01:22
Riven丶叮当 发表于 2016-11-1 16:11
我这个地方不需要使用复用功能啊、、

哈,PA15默认JTAG的一个脚,现在要变成普通IO就要使能复用时钟,一般的GPIOA时钟使能对它是无效的,你试试看嘛!
远方的自己
2楼-- · 2019-08-19 03:32
看是不是外部电路有下拉的线路,看看原理图吧。
Riven丶叮当
3楼-- · 2019-08-19 07:13
远方的自己 发表于 2016-11-1 10:52
看是不是外部电路有下拉的线路,看看原理图吧。

下拉的没有、上拉的有一个、VCC3.3接了一个10K的电阻,是定义的JTAG的JTDI
ba5rw
4楼-- · 2019-08-19 08:26
 精彩回答 2  元偷偷看……
Riven丶叮当
5楼-- · 2019-08-19 12:52
ba5rw 发表于 2016-11-1 16:06
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);
红 {MOD}部分打开了吗?
或者 ...

GPIO_InitTypeDef GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE);//使能PORTA,PORTC时钟
       
  GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//关闭jtag,使能SWD,可以用SWD模式调试
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_All;//PA0
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA0
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_1;//PA1
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA1设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA1
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_2;//PA2
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA2设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA2
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_3;//PA3
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA3设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA3
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_4;//PA4
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA4设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA4
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_5;//PA5
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA5设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA5
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_6;//PA6
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA6设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA6
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_7;//PA7
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA7设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA7
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_8;//PA8
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA8设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA8
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_9;//PA9
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA9设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA9
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_10;//PA10
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA10设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA10
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_11;//PA11
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA11设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA11
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_12;//PA12
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA12设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA12
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_13;//PA13
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA13设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA13
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_14;//PA14
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA14设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA14
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_15;//PA15
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA15设置成下拉输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA15
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_1;//PC5
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PC5设置成下拉输入
       
        GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化GPIOC5
       
ba5rw
6楼-- · 2019-08-19 18:51
本帖最后由 ba5rw 于 2016-11-1 16:12 编辑

没看到 RCC_APB2Periph_AFIO使能啊,虽然禁用了JTAG但是PA15是单独时钟使能的,也就是备用或复用时钟使能。

一周热门 更多>