串口发送速度实测

来源:互联网 发布:淘宝客怎么生成优惠券 编辑:程序博客网 时间:2024/06/05 21:55


最近一直在考虑用串口传输音频或者视频可不可能,这就涉及了串口传输速度的问题了,虽然说可以通过波特率大致算出其传输速率,但是算出来的总没有实测的准,再加上我是个实干主义者,所以就动手测起来了:

使用的是stm32f103的串口,CH340转串口,SSCOM 5.1接收,测试方法很简单:循环发送1024字节(1KB))数据,用单片机定时器记录发送耗时,再用1/耗时 即得到发送速率(单位KB/s)  以下是测试结果:

*********************这是一个串口发送速度测试实验*********************


  测试条件:8数据位,1停止位,无奇偶校验,无硬件流控制......
  测试开始.......


  当前测试波特率为:1200 
  测试结束:Baud=1200.......
  共发送1024Byte,耗时 9386660 us(精度10us),所以串口发送速度为 0.106534 KB/s 


  &&&&下一个测试波特率为:2400 请于3秒钟内准备好!&&&&



  当前测试波特率为:2400 
  测试结束:Baud=2400.......
  共发送1024Byte,耗时 4693330 us(精度10us),所以串口发送速度为 0.213068 KB/s 


  &&&&下一个测试波特率为:4800 请于3秒钟内准备好!&&&&



  当前测试波特率为:4800 
  测试结束:Baud=4800.......
  共发送1024Byte,耗时 2346670 us(精度10us),所以串口发送速度为 0.426136 KB/s 



  &&&&下一个测试波特率为:9600 请于3秒钟内准备好!&&&&



  当前测试波特率为:9600 
  测试结束:Baud=9600.......
  共发送1024Byte,耗时 1173330 us(精度10us),所以串口发送速度为 0.852275 KB/s 


  &&&&下一个测试波特率为:19200 请于3秒钟内准备好!&&&&



  当前测试波特率为:19200 
  测试结束:Baud=19200.......
  共发送1024Byte,耗时 586670 us(精度10us),所以串口发送速度为 1.704536 KB/s 


  &&&&下一个测试波特率为:38400 请于3秒钟内准备好!&&&&



  当前测试波特率为:38400 
  测试结束:Baud=38400.......
  共发送1024Byte,耗时 293180 us(精度10us),所以串口发送速度为 3.410874 KB/s 


  &&&&下一个测试波特率为:57600 请于3秒钟内准备好!&&&&



  当前测试波特率为:57600 
  测试结束:Baud=57600.......
  共发送1024Byte,耗时 195550 us(精度10us),所以串口发送速度为 5.113781 KB/s 


  &&&&下一个测试波特率为:115200 请于3秒钟内准备好!&&&&



  当前测试波特率为:115200 
  测试结束:Baud=115200.......
  共发送1024Byte,耗时 97620 us(精度10us),所以串口发送速度为 10.243802 KB/s 


  &&&&下一个测试波特率为:128000 请于3秒钟内准备好!&&&&



  当前测试波特率为:128000 
  测试结束:Baud=128000.......
  共发送1024Byte,耗时 87930 us(精度10us),所以串口发送速度为 11.372683 KB/s 


  &&&&下一个测试波特率为:256000 请于3秒钟内准备好!&&&&



  当前测试波特率为:256000 
  测试结束:Baud=256000.......
  共发送1024Byte,耗时 43800 us(精度10us),所以串口发送速度为 22.831051 KB/s 


  &&&&下一个测试波特率为:512000 请于3秒钟内准备好!&&&&



  当前测试波特率为:512000 
  测试结束:Baud=512000.......
  共发送1024Byte,耗时 21900 us(精度10us),所以串口发送速度为 45.662102 KB/s 


  &&&&下一个测试波特率为:1500000 请于3秒钟内准备好!&&&&



  当前测试波特率为:1500000 
  测试结束:Baud=1500000.......
  共发送1024Byte,耗时 8380 us(精度10us),所以串口发送速度为 119.331741 KB/s 


  &&&&下一个测试波特率为:0 请于3秒钟内准备好!&&&&

**********************全部测试已完成,请注意保存数据*********************

由测试结果可知,当波特率达到115200时,速率达到了10KB/s,已经有点可观了,到了256000的时候达到了22KB/s,这个速度一分钟可以发1.3M数据,3分钟就是3.6M,已经可以传输普通音质的音频了;波特率512000,速度45.6KB/s,一小时可以传输164M左右,可以勉强传输低品质的视频了吧;继续看1500000波特率,这是一个很不常用的波特率,速度达到了将近120KB/s,一小时能传输432MB数据,这个速度已经可以勉强传输720P的视频了(720P的视频一小时500M左右),这速度是不是还可以大笑


以上测试若有不合理或可改善之处还望各位大神指教!