基于arm芯片的stm32f4xx的单片机项目-智能手环(6)
·

一、前情提要
在前面的章节中,初始化了RTC和dht11,以及使用hc_04(5.0)蓝牙模块和RTC闹钟设置,简单用RTC获取了单片机系统时间和环境的温湿度,并且可以通过手机来设置闹钟,在上面的基础中,通过esp8266模块,添加了让rtc连接服务器获取网络时间,通过外接传感器MPU6050,MAX30102实现心率,血氧的检测,计步的检测。接下来,我们学习如何让这些模块整理,合并起来。
二、实时操作系统(RTOS)
这个概念我就不详细说了,这是一个在项目中经常使用的重要知识点,实现多任务并发操作的系统,我这边是使用了其中的FreeRTOS,因为这个免费。
在项目中的用法:

实现
- 1、一个任务管理一个硬件
- 2、任务间共享资源访问使用互斥锁
- 3、任务的同步使用信号量
- 4、任务与任务或任务与中断涉及到数据传输使用消息队列
- 5、标志位的管理使用事件标志位
- 6、编写一个专门初始化硬件的任务,该任务可以包含创建任务的功能
下面是FreeRTOS的一些使用的工具
1、官网
2、相关的api函数
https://www.freertos.org/a00106.html
3、开发板文档下载
https://www.freertos.org/Documentation/RTOS_book.html
三、在项目的用法
代码的话,不会有,简单的说说使用的方法,总体来说就是上面的图片的使用方法,创建多个任务,一个任务管理一个模块功能,例如:RTC、HC05、ESP8266等,通过设置优先级,使用互斥锁,信号量,消息队列,事件组等来实现各个任务的分配,使用自带的软件定时器来控制任务的使用,可以有效的降低功耗。
四、总结
智能手环的简单说明,就到此结束了,有一些虽然没讲出来,如LVGL、RTOS的移殖使用,但是基础的基本都说明了,后续有时间,会整理发布在git库中。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)