关于STM32-CubeMx工程中串口无法正常发送/接收的问题解决

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
江涛带你玩STM32-CubeMX红外NEC解码实战(上)--外部断方式。 NEC红外协议是一种常见的红外信号通信协议,利用这个协议我们可以实现遥控器对单片机的控制。在STM32开发,可以使用外部断方式来实现NEC红外码的解码。 首先,我们需要在CubeMX配置外部断引脚。选择对应的GPIO引脚,将其配置为外部断输入模式。然后将断触发方式设置为上升沿触发,这样当红外接收模块接收到红外信号时,引脚上的电平会从低电平跳变到高电平,触发外部断。 接下来,我们在代码初始化外部断。使用HAL库提供的函数HAL_GPIO_Init()初始化GPIO引脚。然后使用HAL库提供的函数HAL_NVIC_SetPriority()设置断优先级,通过HAL_NVIC_EnableIRQ()使能断。 然后,我们需要编写断处理函数。在断处理函数,我们首先可以通过读取GPIO引脚的电平状态来判断是否收到了红外信号。然后可以使用定时器计数器来计算红外信号的时长,根据时长判断是0还是1,进而解码出红外码。可以使用计时器断来实现时长的计算,并将计算结果保存在一个数组,用于后续的红外码解析。 最后,我们可以通过串口或者其他方式将解码后的红外码输出,在串口助手上看到红外码的内容。 总结一下,使用STM32-CubeMX和外部断方式实现NEC红外码解码实战的步骤包括配置外部断引脚、初始化外部断、编写断处理函数、计算红外信号的时长并解码出红外码、输出解码后的红外码。通过这种方式,我们可以通过遥控器来控制单片机的各种功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值