[STM32F1] 红外接收头初始化

[复制链接]
1164|16
 楼主| renyaq 发表于 2021-5-5 16:33 | 显示全部楼层 |阅读模式

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;                                 //PA1 输入
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;                 //上拉输入
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        GPIO_SetBits(GPIOA,GPIO_Pin_1);        //初始化GPIOA1
正点原子的MINI板,红外接收头连接在PA1上,为什么PA1初始化完成后要GPIO_SetBits(GPIOA,GPIO_Pin_1);给PA1一个高电平,有什么特殊意义吗
zwll 发表于 2021-5-5 16:35 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| renyaq 发表于 2021-5-5 16:37 | 显示全部楼层
红外接收头在没有脉冲时是高电平,有脉冲时是低电平。单片机是STM32F103RCT6
chuxh 发表于 2021-5-5 16:39 | 显示全部楼层
个人理解没什么用;
你可以注释掉看看;
xxrs 发表于 2021-5-5 16:40 | 显示全部楼层
因为IO设置成输入了;
stly 发表于 2021-5-5 16:42 | 显示全部楼层
应该是防止信号不稳定。
llljh 发表于 2021-5-5 16:45 | 显示全部楼层
去掉这个代码有什么问题吗?
 楼主| renyaq 发表于 2021-5-5 16:58 | 显示全部楼层
如果注释掉这个代码,按红外遥控器,程序不会触发中断。不注释掉,程序运行正常。所以,我想,这个代码是不是有什么特殊的意义。
zchong 发表于 2021-5-5 17:03 | 显示全部楼层
对照硬件来看,别迷糊
 楼主| renyaq 发表于 2021-5-5 17:20 | 显示全部楼层
可是,PA1已经被初始化成输入模式了,按说,输出已经没有任何意义了。对这个比较迷茫
dingy 发表于 2021-5-5 17:22 | 显示全部楼层
因为要实现默认高电平,也就是上拉模式,所以要在输入端口输出个高电平。这样上拉确认生效。
 楼主| renyaq 发表于 2021-5-5 17:24 | 显示全部楼层
嗯,预料中的结果,先结贴吧,多谢大家啦
guanjiaer 发表于 2021-6-1 09:36 | 显示全部楼层
这需要看红外接头的需求
八层楼 发表于 2021-6-1 09:39 | 显示全部楼层
其实就是对io口的初始化
观海 发表于 2021-6-1 10:02 | 显示全部楼层
需要一定的时序吗
heimaojingzhang 发表于 2021-6-1 11:11 | 显示全部楼层
红外接头是什么型号的 啊
keaibukelian 发表于 2021-6-1 11:12 | 显示全部楼层
如果没有这个高电平 能正常工作吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

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