大神开源的LWRB通用环形FIFO
C++ 嵌入式 修改了移植时const变量指针报错问题,可实现系统无锁多线程安全,底层原子操作,中断安全,跨平台
STM32工具 CubeMX 使用FreeRtos系统 基于lwRB通用环形缓冲区的串口非阻塞发送,程序使用printf,通过重定向fputc函数,将发送数据保存在FIFO中,可以在中断中调用printf,保证了系统的线程安全和中断安全,将发送任务放在线程中。LwRB有两个指针一个r读指,一个w写指针,底层采用原子操作,不需要用到锁,保证了线程安全,最大的好处是它是支持DMA的,为CPU减负。
* Author: Tilen MAJERLE <tilen@majerle.eu> * Version: v3.1.0
1、单总线驱动 2、定时器控制时序无需CPU干扰 3、可移植性强,单独的.c .h文件 4、可扩展性强,可自行增加ROM识别 5、CubeMx生成,HAL库可移植,采用结构体定义 6、状态机思想,完全自创,仅提供思路,不喜勿喷
创作能手
新秀勋章
分享学徒
签到新秀
阅读者勋章