FreeRTOS下UART的封装

FreeRTOS下UART的封装_哔哩哔哩_bilibili

Git使用的一个BUG:

当出现这个问题是因为git本身的安全证书路径有问题,我们需要重新指定路径

P1:UART程序层次

P4:使用面向对象的思想构造结构体的好处

P5:面向对象封装UART_编写框架

在结构体里定义私有数据使其不暴露出给应用开发者

而在Linux中有很多类似的私有数据

P6:面向对象封装UART_编写

这里对私有数据进行再封装,扩充私有数据

如何判断发送完成?答:触发 发送完成回调函数

在回调函数里就可以释放信号量了

封装完善:

这里引发了一个思考:我以前一直使用的轮询方式发送的,我没法判断这一帧是否发送完成(应该是可以,不过暂时能力有限),容易粘包。但如果我使用中断发送的话,我可以使用发送完成回调函数来判断这一帧是否发送完成后再发下一帧,应该是可以改善发送时粘包的问题。

补充一个单DMA实现双DMA缓冲的思想:

如果我使用DMA半转移完成回调函数后就处理数据,就可以实现双半DMA缓冲,达到类似双DMA缓冲的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值