STM32F103 串口打印时,数据传输速率被限制

2019-03-23 18:00发布

      各位同行,最近我在做一个用ADC采集高频信号(大概在4K)的程序。我是利用定时器触发ADC,并通过DMA传输数据的方式进行采样,最后将采集到的数据直接用串口(波特率为115200)打印出来(同时写入到SD卡)。理论上每秒钟会有8K的数据被写进SD卡,同时由串口打印出来。但是,我在实际的实验中,发现串口的打印速率被限制在116字节/s以下,而且SD卡里面每秒钟写入的数据也只有几十个数据。请问有没有人知道这是为什么呀?
    谢谢呀!大家都说说可能的原因,非常感谢!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
shinykongcn
1楼-- · 2019-03-24 03:09
/ 不做缓存的么?sd卡写数据和串口发数据都要占用很多时间的,确定不会影响采集?
Li_Lei
2楼-- · 2019-03-24 05:26
 精彩回答 2  元偷偷看……
ienglgge
3楼-- · 2019-03-24 07:37
串口打印和写SD卡都是耗时间的。频繁的中断会影响串口发送和写SD卡。 不能拿adc单次采样的时间计算采样频率。你可以采集和打印,采集和存储,分别进行测试,看看两种情况极限值是多少。另外,printf不如原始的串口发送函数效率高。
a943368093
4楼-- · 2019-03-24 12:25
也许senddata时有延时。。。你多找找看。。。。

一周热门 更多>