课题一:探秘FreeRTOS#
简介#
FreeRTOS是Robomaster嵌软开发必不可缺的框架,使用它我们可以轻松整合多项任务,实现类似Windows/Linux的多进程服务。在这之前各位可能还没有进行过比FreeRTOS更为基础的单片机开发,本课题将从最基础的任务开始,引导大家快速上手嵌入式软件开发。
本课题忽略了各位对编程语言的掌握程度,若无法阅读参考资料中的简短代码,请先学习C++(附参考资料)。
使用材料#
Robomaster C型开发板、三色LED灯泡、红外光发射二极管、红外光敏二极管、STLink、按键式开关、若干导线。 因疫情特殊情况,材料发放请等待后续指示,各位可先进行理论学习和代码编写,实机调试则另行安排。
基本任务及指标#
所有任务编写的代码均需要注释,注释为重要评分依据‼️
Mission 1 点亮LED灯#
此任务无需使用FreeRTOS,只需要使用最基础的SuperLoop完成GPIO的配置,点亮一个LED灯泡即可。
Mission 2 调试红外二极管的发射与接收#
此任务无需使用FreeRTOS,需要配置使用发光二极管发射信号,光敏二极管接收信号并使用调试器在电脑端显示。
Mission 3 制作LED调色灯#
此任务需使用FreeRTOS,通过指定的RGB值实现配置LED灯泡发出对应颜色的光。
Mission 4 配备红外开关的LED呼吸灯#
将Mission3的RGB灯迭代为呼吸灯样式(亮度的无极调节),并搭配红外信号处理模块实现一个红外开关模块。
加分指标#
使用VsCode + Platform而非Keil编写工程
使用Git版本管理工具控制项目迭代
使用Markdown标记语言撰写任务报告
最终需要上传的文件#
每个Mission的工程压缩包(使用Git版本管理的仅提交两个工程文件即可:非FreeRTOS项目一个,FreeRTOS项目一个)
任务汇报书,需包括相关实物图
请将所有文件打包发送至邮箱doeca@cqu.edu.cn
第一次线上会议答疑:2022年11月13日
第一次线上会议答疑:2022年11月16日,有录屏。
中期汇报时间(待定):2022年11月13日20:00
最终截止时间(待定):2022年11月18日23:59
参考资料#
部分课题内容需要使用境外网络服务访问
(B.2) 计算机教育中缺失的一课
(C.1) Robomaster C型开发板官方教学包。
Youtube教学视频(未找到中文版):Introduction to FreeRTOS
(A.1) C++菜鸟教程:https://www.runoob.com/cplusplus/cpp-tutorial.html
VsCode配置指南:https://blog.gztime.cc/posts/2020/6b9b4626/
B站UP主爱上半导体(相关器材的原理):https://space.bilibili.com/395188578
Markdown教程:https://www.runoob.com/markdown/md-tutorial.html
Git教程:https://www.liaoxuefeng.com/wiki/896043488029600