文章目录
1 实验目标
本文是《红外遥控器接收实验》的第三部分,会通过图文结合的方式,手把手带读者操作Simulink工具进行红外遥控器NEC协议解析的应用层开发。
2 模型方案研究
2.1 调用模型代码
在《红外遥控器接收实验:CubeMX配置底层软件》中,通过在中断回调函数中编写C代码可以解析出红外指令。同理,将中断回调函数中手写的代码换成Simulink生成的函数,也可以解析出红外指令。
相比《LED灯闪烁实验》和《直流减速电机控制实验》,本次Simulink模型不再是周期运行,而是每次调用时都处于下降沿触发的中断之中。
2.2 模型拆解
将整个解析过程拆解为三部分,如下示意图:
其中每个子模块的功能为:
- 脉宽识别:将本次下降沿捕获的定时器计数值减去上一次,得到两次下降沿的时间长度;
- 信号指令识别:通过脉宽判断该次指令为引导码、逻辑0或逻辑1;
- 解析状态机:通过信号指