资料下载:https://download.csdn.net/download/wouderw/87540711
一、概述
使用STM32F103芯片,FreeRTOS系统开发的扫地机器人项目,支持多种外设和功能,比如电机、按键、LED、ADC(电池温度检测、边刷电流检测和放电电流IBAT)、电池管理、陀螺仪、掉落检测、悬空传感器、碰撞传感器、超声波距离传感器、垃圾盒检测、捕获输入等。
Bootloader支持IAP功能,可方便升级固件。
二,代码
1,代码注释完整、规范
文件、函数、全局变量、局部变量都有完善的注释,阅读学习无障碍。
2,目录结构清晰
从上面截图的左边部分,也可以看出每个外设或功能都划分得非常明确。目录结构主要包含下面内容:
USER文件夹 | main函数 |
SYSTEM文件夹 | 必要的延时函数、调试串口源文件初始化 |
HARDWARE文件夹 | 硬件初始化源文件 |
application_Robot | 机器人行为相关的文件 |
application_Share | 机器人共享相关的文件(一般为算法) |
application_Motor | 机器人电机应用相关文件 |
application_Key | 机器人按键应用相关文件 |
application_Led | 机器人LED应用相关文件 |
application_Led | 机器人adc获取与处理应用相关文件 |
application_PowerChip | 机器人电池管理芯片与充电应用相关文件 |
application_Bmi160 | 机器人BMI160、陀螺仪芯片应用相关文件 |
application_Drop | 机器人掉落传感器应用相关文件 |
application_UltraSonic | 机器人超声波传感器应用相关文件 |
application_GarBox | 机器人垃圾盒应用相关文件 |
CORE文件夹 | STM32启动文件和内核函数文件 |
FWLIB文件夹 | STM32库文件 |
FreeRTOS_CORE | freertos内核函数 |
Usmart文件夹 | usmart调试函数源码 |
testfunction文件夹 | 测试函数 |
readme | 说明文档 |
3,编译
固件编译
Bootloader编译
三,原理图
四,总结
一个学习STM32不可多得的项目,通过该项目可以熟悉STM32各种片内资源的使用。