打印
[N32G43x]

请教问题 GPIO输入为0

[复制链接]
961|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
确保硬件连接正确,所有的引脚都连接到适当的电源或地。

使用特权

评论回复
5
好几遍vh| | 2024-9-30 14:52 | 只看该作者
GPIO_InitStructure.GPIO_Pull

使用特权

评论回复
6
suncat0504| | 2024-9-30 15:00 | 只看该作者
本帖最后由 suncat0504 于 2024-9-30 15:12 编辑

你总体看下代码,看看那几个不正常的电路有没有问题,或者有没有被其它外设复用。

使用特权

评论回复
7
suncat0504| | 2024-9-30 15:02 | 只看该作者
本帖最后由 suncat0504 于 2024-9-30 15:10 编辑

另外也没看到对GPIO口的初始化指令。看错了,你的代码中都有,你再看看手册,看看是不是时钟总线的问题。

使用特权

评论回复
8
suncat0504| | 2024-9-30 15:04 | 只看该作者
本帖最后由 suncat0504 于 2024-9-30 15:09 编辑

你查查手册,看看对应的时钟总线

使用特权

评论回复
9
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 ;
这样的吗?

使用特权

评论回复
10
两只袜子| | 2024-12-5 16:11 | 只看该作者
RCC_EnableAPB2PeriphClk函数是否正确启用了对应GPIO端口的时钟。

使用特权

评论回复
11
jcky001| | 2024-12-5 16:12 | 只看该作者
检查KEY_INT_GPIO_PIN和PAUSE_INT_GPIO_PIN宏定义是否正确,分别对应PA5、PA6和PB4、PB5、PB6。

使用特权

评论回复
12
cr315| | 2024-12-5 16:13 | 只看该作者
如果可能的话,考虑使用上拉或下拉电阻来稳定输入电平。

使用特权

评论回复
13
elephant00| | 2024-12-5 16:36 | 只看该作者
硬件连接是否正确,包括GPIO引脚与外部电路的连接、电源和地线的连接等。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝