OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4290|回复: 5

菜鸟求教,f7读取IO口电平状态,有些io口可以有些不行,需要什么特殊设置么

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-7-17
在线时间
2 小时
发表于 2018-7-17 11:09:56 | 显示全部楼层 |阅读模式
1金钱
//红外传感器io口相关配置
void HAL_hongwai_init()
{
          GPIO_InitTypeDef GPIO_Initure;     //创建io口结构体
       
                __HAL_RCC_GPIOA_CLK_ENABLE();                        //使能GPIOA时钟
        //        __HAL_RCC_USART1_CLK_ENABLE();                        //使能USART1时钟
               
                GPIO_Initure.Pin=GPIO_PIN_0;                        //PA1
                GPIO_Initure.Mode=GPIO_MODE_INPUT;                //
                GPIO_Initure.Pull=GPIO_PULLUP;                        //上拉
                GPIO_Initure.Speed=GPIO_SPEED_HIGH;                //高速
               
                HAL_GPIO_Init(GPIOA,&GPIO_Initure);                   //初始化PA1
}
int main(void)
{
        Cache_Enable();                         //打开L1-Cache
        HAL_Init();                 //初始化HAL库
        Stm32_Clock_Init(432,25,2,9);   //设置时钟,216Mhz
        delay_init(216);
                HAL_hongwai_init();
        uart1_init();
               
        while(1)
        {
               
            printf("%d",HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0));  //输出IO口的值

            delay_ms(1000);

        }
}

这里我用PA0就可以,用PA1就不行,问题出自哪里求解答。
问题好像有点低级不好意思

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-7-17
在线时间
2 小时
 楼主| 发表于 2018-7-17 16:27:39 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-7-18 01:57:32 | 显示全部楼层
看过原理图么?
回复

使用道具 举报

8

主题

169

帖子

0

精华

高级会员

Rank: 4

积分
564
金钱
564
注册时间
2015-7-4
在线时间
105 小时
发表于 2018-7-18 19:44:18 | 显示全部楼层
感觉像用的51的方式写32的代码,好像在主函数中没有获取IO的值
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-7-17
在线时间
2 小时
 楼主| 发表于 2018-7-19 09:53:42 | 显示全部楼层

是要看哪份资料呢,我现在发现好像只有PA1存在这种情况,PA1连接上后读取IO口得到的是一个随机的电平,尝试了其他几个IO口都能准确读取到电平,这里好像不是我代码配置的问题?
抱歉 新手小白一枚 谢谢大佬指教
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-7-17
在线时间
2 小时
 楼主| 发表于 2018-7-19 09:54:06 | 显示全部楼层
chaifuwu 发表于 2018-7-18 19:44
感觉像用的51的方式写32的代码,好像在主函数中没有获取IO的值

printf("%d",HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0));  //输出IO口的值

这一句应该是吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-29 20:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表