- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 MAX30102 血氧调试笔记
血氧饱和度(英语:Oxygen saturation),或称血氧浓度,是指血中氧饱和血红蛋白相对于总(不饱和+饱和)的比例。人体需要并调节血液中的氧气非常精确和特定的平衡。人体的正常动脉血氧饱和度为95-100%。如果该水平低于90%,则被认为是。血氧的测量主要分为透射式和反射式。目前的主流是透射式。但是两者原理差不多,都是使用发光二极管(红光RED,红外IR,绿光GREEN和蓝光BLUE等)照射被测部位,然后使用一个光电二极管接收透射/反射的光线,将光信号转换为电信号。
2020-11-07 13:51:38 59201 20
原创 两种内存池管理方法对比
目录一、问题背景二、两种内存池管理2.1 固定大小内存块分配(参考正点原子STM32F4 malloc.c)2.1.1 初始化2.1.3释放原理2.2 可变大小内存块分配(参考WSF BLE协议栈buffer management)2.2.1 初始化2.2.2 分配原理2.2.3 释放原理三、总结和对比一、问题背景最近在调试ambiq apollo...
2020-04-07 22:33:52 2132 5
原创 STM32F4 RTC精密数字校准与同步
一、问题背景最近在调试一个数据采集项目,采集板需要每隔一秒将原始数据打包,每个数据包包头包含有打包时刻的时间戳,如“S20191120152020”。采集时钟源采用的是MCU硬件定时器,通过外部高精度的8MHz分频得到,所以精确足够。但是数据包包头的时间戳是使用STM32 的RTC外设获得,实测长时间运行后,RTC平均误差一天快一秒左右。网上搜索发现,大家基本都有遇到STM32 RTC时钟不准...
2019-12-05 17:47:14 12569 8
原创 Unix时间戳和北京时间的相互转换(C语言实现 )
一、问题背景最近项目中需要上传包含时间戳的设备数据到服务器平台。原本想把“年”,“月”,“日”,“时”,“分”, “秒”分别用一个uint8_t的数据类型去存储,即占用6个字节。但是在平台配置协议时,只有一种叫“Unix时间戳”的数据类型。Unix时间戳只占用4个字节,而且Unix时间戳在服务器端更加通用,但是在单片机上没有想Linux环境下现成的time(),localtime(),mkti...
2019-05-23 10:19:01 14378 5
原创 MPU6500驱动调试笔记(STM32F407+SPI)
本来最开始使用MPU6050芯片,采集陀螺仪原始数据做生理信号采集好好的,但算法发现用IIC接口采样率(200hz)达不到要求。故寻找同类型支持SPI协议的芯片去替代,发现了这块MPU6500,还便宜,就用起来。在读写寄存器费了些周折(每读一次数据寄存器需要短暂延时,写寄存器有100ms延时要求),算是记录下吧
2017-09-21 17:21:24 14538 14
原创 ADS131A02驱动调试笔记(stm32f407+spi)
由于实验室研究采集研究心电信号,故开始使用ADS1292,而后考虑使用分立器件自己搭。故采用了这款ADS131A02高精度24bit的adc芯片; 调试中需要注意的点:
2017-09-08 17:30:05 16478 17
原创 O_APPEND的原子性操作
/*** @function: atomic_append.c ** @brief: in this function we will show how to use O_APPEND flag to guarantee atomic operation.* first function will open filename(if necessary creat it),
2017-08-03 17:13:42 783
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人