在该实验remote.h文件中,定义了3个函数:Remote_Init();、TIM4_IRQHandler();、Remote_Scan();。

1、Remote_Init();

STM32单片机以NEC协议实现红外遥控设计

这里要注意中断优先级,定时器4的两个中断,溢出(更新)中断,捕获事件中断的优先级是一样的。意思就是,他两谁也不能打断谁,例如A在执行时,B就不会产生中断。这里很重要,很重要,很重要!

2、TIM4_IRQHandler();

STM32单片机以NEC协议实现红外遥控设计

STM32单片机以NEC协议实现红外遥控设计

STM32单片机以NEC协议实现红外遥控设计

注意:遥控器发过来的码都是编好的,比如想破解遥控器编码,可以拿示波器去测接收端的码。

整个程序思路不难,就是对遥控器发过来的码进行解码,这里主要是两个中断的理解。

关于控制,MCU就介绍完了,您有什么想法可以联系小编。