汇聚博主多年工程经验的新书《Simulink嵌入式开发实战》现已上市,针对Simulink与MBD开发技术,形成了一套完整的知识体系和方法论。详细介绍和优惠链接可以参考博客《Simulink嵌入式开发实战》新书上市,感谢粉丝长期以来的支持!
1 阶段目标
本文是《循迹小车控制实验》的最后一部分,会通过图文结合的方式,将前几个章节生成的底层和应用层代码都放到CubeIDE中进行集成。
本章的开发首先会把Simulink生成的代码拷贝到CubeMX生成的包含底层代码的工程中。接着会通过手写一部分代码完成相互之间的调用。最后,编译代码并烧写,用红外遥控器上的按键向STM32上的红外接收器发送红外指令,然后观察小车是否执行预期的动作,从而完成闭环验证。
2 集成过程
2.1 代码集成框架
本实验的代码集成基本框架如图所示。

首先,在main()函数中需要调用上层软件的2个初始化函数InfraredRemote_Appl_initialize()和SmartCar_Appl_initialize(),分别对红外解析算法和循迹控制算法的上层初始化。接着,在main函数中通过HAL_SYSTICK_Config函数配置系统定时器重装载值,使系统定时器中断的周期为10ms。接下来是两处核心算法的调用。
- 红外解析算法调用
在输入捕获回调函数HAL_TIM_IC_CaptureCallback中调用红外解析算法上层软件的step函数InfraredRemote_Appl_step(),即每次GPIO下降沿中断时调用该step函数。step函数
订阅专栏 解锁全文

3902

被折叠的 条评论
为什么被折叠?



