原子哥,问个关于bootloader例程的问题,为什么以115200的波特率每100ms检测一次串口缓存,可以一次读出来100k字节?

2019-07-20 23:25发布

我通过sscom向串单片机这边发送一个hex文件
直接使用例程就会:发送50k的数据量,单片机会只收到一大包,显示一次printf的log。这是为什么呢?理论上讲,串口也应该是不断接收的,如果发送的是50 000字节,那每100ms最多收到11520000/10/10=1152个字节,但实际为什么能一次收到50 000字节呢?例程里开了一个超大的数组,用于一次性存储几十k个字节,例程明显认为100ms收几十k没有问题。不符合理论呀,难道sscom直接发文件会有什么特殊标志,被认为是一包数据吗?
我现在用无线传输进行固件升级,测试时就发现一次只能收到800到1000多个字节的数据,符合理论值。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。