[N32G43x] 请教问题 GPIO输入为0

[复制链接]
 楼主| liuxy67 发表于 2024-4-24 14:36 | 显示全部楼层 |阅读模式
ni, pi, gp, IO, GPIO
经朋友推荐,使用N32G35CCL7芯片,配置PA5,PA6,PB4,PB5,PB6做为普通IO输入,(输入电平均为1),读取结果除PA5为1外其它均为0,请教各位指导?
void EXT_Key_Config(void)
{
    GPIO_InitType GPIO_InitStructure;
//    EXTI_InitType EXTI_InitStructure;

    /* Enable GPIO clock */
    RCC_EnableAPB2PeriphClk(KEY_INT_GPIO_CLK, ENABLE);
   

    /*--------------------------KEY1\2  PA5\PA6 Configuration-----------------------------*/
    /* Initialize GPIO_InitStructure */
    GPIO_InitStruct(&GPIO_InitStructure);
    /* Configure KEY1 as input floating */
    GPIO_InitStructure.Pin       = KEY_INT_GPIO_PIN;    //PA5|PA6
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Input;   
        GPIO_InitStructure.GPIO_Pull = GPIO_No_Pull;
    GPIO_InitPeripheral(KEY_INT_GPIO_PORT, &GPIO_InitStructure);    //PA

    /*--------------------------PAUSE Configuration PB4,PB5,PB6-----------------------------*/
    /* Initialize GPIO_InitStructure */
    RCC_EnableAPB2PeriphClk(PAUSE_INT_GPIO_CLK, ENABLE);        //PB
   // RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_AFIO, ENABLE);

        GPIO_InitStruct(&GPIO_InitStructure);
    /* Configure PAUSEN as input floating */
    GPIO_InitStructure.Pin       = PAUSE_INT_GPIO_PIN;        //PB4|PB5|PB6
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Input;
        GPIO_InitStructure.GPIO_Pull = GPIO_No_Pull;        
    GPIO_InitPeripheral(PAUSE_INT_GPIO_PORT, &GPIO_InitStructure);    //PB

}



LEDyyds 发表于 2024-4-25 13:48 | 显示全部楼层
好像1.3V以上才视为高电平吧
 楼主| liuxy67 发表于 2024-4-25 16:09 | 显示全部楼层
硬件的电平问题不用质疑,低电平0.1V,高电平3.3V,用JLINK仿真,PID存贮器的那一位0、1反应没问题。
慢醇 发表于 2024-8-31 18:22 | 显示全部楼层
确保硬件连接正确,所有的引脚都连接到适当的电源或地。
好几遍vh 发表于 2024-9-30 14:52 来自手机 | 显示全部楼层
GPIO_InitStructure.GPIO_Pull
suncat0504 发表于 2024-9-30 15:00 | 显示全部楼层
本帖最后由 suncat0504 于 2024-9-30 15:12 编辑

你总体看下代码,看看那几个不正常的电路有没有问题,或者有没有被其它外设复用。
suncat0504 发表于 2024-9-30 15:02 | 显示全部楼层
本帖最后由 suncat0504 于 2024-9-30 15:10 编辑

另外也没看到对GPIO口的初始化指令。看错了,你的代码中都有,你再看看手册,看看是不是时钟总线的问题。
suncat0504 发表于 2024-9-30 15:04 | 显示全部楼层
本帖最后由 suncat0504 于 2024-9-30 15:09 编辑

你查查手册,看看对应的时钟总线
suncat0504 发表于 2024-9-30 15:13 | 显示全部楼层
本帖最后由 suncat0504 于 2024-9-30 15:14 编辑

KEY_INT_GPIO_PIN 和 PAUSE_INT_GPIO_PIN 是各自的一个管脚,还是几个管脚的或?几个管脚场合,一般不是:
GPIO_InitStructure.Pin          = xx1 | xx2 ;
这样的吗?
两只袜子 发表于 2024-12-5 16:11 | 显示全部楼层
RCC_EnableAPB2PeriphClk函数是否正确启用了对应GPIO端口的时钟。
jcky001 发表于 2024-12-5 16:12 | 显示全部楼层
检查KEY_INT_GPIO_PIN和PAUSE_INT_GPIO_PIN宏定义是否正确,分别对应PA5、PA6和PB4、PB5、PB6。
cr315 发表于 2024-12-5 16:13 | 显示全部楼层
如果可能的话,考虑使用上拉或下拉电阻来稳定输入电平。
elephant00 发表于 2024-12-5 16:36 | 显示全部楼层
硬件连接是否正确,包括GPIO引脚与外部电路的连接、电源和地线的连接等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

2

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部