串口大数据量收发(<1k)51真的不能胜任吗?

[复制链接]
 楼主| 海际天涯 发表于 2016-4-24 20:05 | 显示全部楼层 |阅读模式
    各位高手,我最近做了个通讯的板子,用STC15W4K48S4的UART做随时的1K左右数据收发实验,可能收发同时进行,用的发送和接收中断方式。虽然用UART1的最高优先级。但是经常发送或者接收的过程中数据会少了几个字节。除非发送或者接受字节比较少(只有100个以内左右),或者把波特率放的很慢。才可以完整收发。
  我想咨询下各位有经验的高手,是否在115200bps下,51真的不能胜任,是否换STM32F103可以解决。
coody 发表于 2016-4-24 20:14 | 显示全部楼层
STC的51用115200bps下载16M字节无错误的飘过。。。。。

你这样的情况,一般是程序的问题。
ayb_ice 发表于 2016-4-24 20:44 来自手机 | 显示全部楼层
这怎么可能,明显是程序问题
wztoad 发表于 2016-4-24 21:22 | 显示全部楼层
晶振用多少
洛理小子 发表于 2016-4-24 22:09 | 显示全部楼层
怎么会呢?
十三like 发表于 2016-4-24 23:54 | 显示全部楼层
跟波特率没关系,程序问题
xuander 发表于 2016-4-25 08:07 | 显示全部楼层

串口速度这么慢,一般是数据管理有问题,也可能是硬件不可靠。

i7gly 发表于 2016-4-25 08:14 | 显示全部楼层
程序处理问题
robter 发表于 2016-4-25 08:35 | 显示全部楼层
不应该的,好好查查
lkk2266 发表于 2016-4-25 09:33 | 显示全部楼层
不可能, 贴一下源码
wsnsyy 发表于 2016-4-25 09:42 | 显示全部楼层
大数据的传送一般程序里面怎么处理呢
huangqi412 发表于 2016-4-25 10:13 | 显示全部楼层
估计,很可能,是因为中断占用时间太多。  
51没DMA,每收发一个字节都要进一次中断,带来很多额外开销。  如果还有其他中断频繁来,还得很多。 115200/10=11K中断频率,收发一起还得加,还好不算多。     
发送本来就只挪指针。接收中只填充缓冲不做解析,其他中断都看看是不是时间长了。
ningling_21 发表于 2016-4-25 11:34 | 显示全部楼层
wsnsyy 发表于 2016-4-25 09:42
大数据的传送一般程序里面怎么处理呢

关键看处理数据需要多长时间,和两个字节之间的时间 哪个长
wsnsyy 发表于 2016-4-25 15:00 | 显示全部楼层
ningling_21 发表于 2016-4-25 11:34
关键看处理数据需要多长时间,和两个字节之间的时间 哪个长

如果比两个字节之间的时间长呢
ningling_21 发表于 2016-4-25 17:05 | 显示全部楼层
wsnsyy 发表于 2016-4-25 15:00
如果比两个字节之间的时间长呢

那就有足够的时间去处理数据,肯定不会漏掉
wsnsyy 发表于 2016-4-25 17:08 | 显示全部楼层
ningling_21 发表于 2016-4-25 17:05
那就有足够的时间去处理数据,肯定不会漏掉

哦,那如果两个字节之间的时间比较长,要怎么处理啊
ningling_21 发表于 2016-4-25 17:10 | 显示全部楼层
wsnsyy 发表于 2016-4-25 17:08
哦,那如果两个字节之间的时间比较长,要怎么处理啊

处理什么?

yhn1973 发表于 2016-4-25 20:03 | 显示全部楼层
51串口我最高做到3M波特率稳定不丢数据
spydf 发表于 2016-4-25 21:24 | 显示全部楼层
也有可能是硬件问题.山寨max232, 115200,经常掉数据.
xgliyouquan 发表于 2016-4-25 22:59 | 显示全部楼层
用不丢码的串口助手看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

106

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部