
作者:RT-Thread论坛 出出啊
前言
“serialX” 我起的名字,起个名字想破头。
在前一篇文章里,大致提出了我的串口驱动框架理论。里面做了一些对串口驱动特性的幻想。也在 NUC970 芯片下通过了中断模式的实践验证。但是,因为 NUC970 的 uart 自带 fifo 。用它测试效果好,并不能真正说明驱动框架通过验证了。
然后,紧接着笔者在 STM32F429 完成了中断和 DMA 两种模式。今天,我把一些测试结果和移植说明发出来,征求全网公测。
测试配置:DMA 二级缓存 32 个字节,串口收发缓存各 512 字节。
注:本串口驱动工作特性请参阅前一篇文章rt-thread 驱动篇 之 串口驱动框架剖析性能提升
STM32 中断模式测试
以下是三组连续发收测试:
1、定时间隔20ms,发送250字节数据,持续发送2600w,接收发送数据量相等

2、定时间隔50ms,发送250字节数据,持续发送600w,接收发送数据量相等

3、定时间隔80ms,发送1000字节数据,持续发送600w,接收发送数据量相等

注:刚刚跟我们小伙伴求证了一下,串口调试助手的定时间隔是固定周期。如果是这样的,以上测试是有意义的,如果不是,那就没达到串口带宽上限。
STM32 DMA模式测试
1、读写测试,串口调试助手定时 10ms ,发送40字节数据,持续发送129w

2、串口调试助手定时 50ms ,发送500字节数据,持续发送527w

3、串口调试助手定时 40ms ,发送500字节数据,持续发送261w

4、串口调试助手定时 40ms ,发送1000字节数据,持续发送262w

串口调试助手上发送和接收数量不相等,接着我在代码中添加了个断点,单独发送了一个字节 ‘Z

最低0.47元/天 解锁文章
2937

被折叠的 条评论
为什么被折叠?



