- 主题:STC串口通信遇到个棘手问题
接收串口115200,转发串口波特率可调,但高于115200没有测试过。。
要是接收串口优先级高,没有机会转发
如果接收串口优先级低,又担心丢失数据字节
毕竟要接收1w多个字节。
怎么办?
【 在 dormouseBHU 的大作中提到: 】
: 几十个字节不够用吧。两边波特率差个1% 都会很快把缓冲区填满…
--
FROM 124.200.97.*
一般串口波特率误差不超过3%,所以有个400字节的缓冲区就足够安全了。优先级无所谓,只要主频够高就行。
【 在 AIREE 的大作中提到: 】
: 接收串口115200,转发串口波特率可调,但高于115200没有测试过。。
: 要是接收串口优先级高,没有机会转发
: 如果接收串口优先级低,又担心丢失数据字节
: ...................
--
FROM 39.144.34.*
刚用STC试了,用32B的缓冲,STC程序只做转发,STC一个串口连PC用串口软件发一个文
件。STC另一个串口接个wifi模块,PC用TCP调试软件接收数据,保存成文件。收发完了
,2个文件做二进制比较,一个字节不差。
【 在 dormouseBHU (dormouseBHU) 的大作中提到: 】
: 几十个字节不够用吧。两边波特率差个1% 都会很快把缓冲区填满…
--
FROM 223.73.28.*
那图啥啊,直接飞个线把串口3跳到串口2不就完了
【 在 AIREE 的大作中提到: 】
: 忘了说清楚了,stc只是做串口转发,不处理,也就是串口3接收,串口2转发至上位机,这样如果不扩展sram,用双缓冲是否可行?
--
FROM 218.83.127.*
你这测试意义不大,buffer是否会溢出主要取决于收发波特率是否准确。如果接收端收到的数据的波特率高1%,发送端低1%,那一定会溢出。
而且最关键的是收到数据的波特率你是没法控制的。
【 在 samhws 的大作中提到: 】
: 刚用STC试了,用32B的缓冲,STC程序只做转发,STC一个串口连PC用串口软件发一个文
: 件。STC另一个串口接个wifi模块,PC用TCP调试软件接收数据,保存成文件。收发完了
: ,2个文件做二进制比较,一个字节不差。
: ...................
--
FROM 39.144.34.*
stc目前设置11.0592m主频,是不是惨了?
【 在 dormouseBHU 的大作中提到: 】
: 一般串口波特率误差不超过3%,所以有个400字节的缓冲区就足够安全了。优先级无所谓,只要主频够高就行。
--
FROM 124.64.17.*
串口3接模块,串口2接上位机,stc除了串口处理,还有电机控制等其他任务。不能这样飞线吧
【 在 commander 的大作中提到: 】
: 那图啥啊,直接飞个线把串口3跳到串口2不就完了
:
--
FROM 124.64.17.*
两边都有晶振的话应该不至于差1%吧...
【 在 dormouseBHU (dormouseBHU) 的大作中提到: 】
: 几十个字节不够用吧。两边波特率差个1% 都会很快把缓冲区填满…
--
FROM 106.121.160.*