打印
[技术问答]

新唐n76e003双串口问题

[复制链接]
1119|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
卧龙小子|  楼主 | 2019-10-23 12:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现有一项目同时要使用串口0和串口1,串口0波特率为2400,串口1为19200,程序运行大致就是串口1接收数据,完成动作再由串口0下发到另一从机接收完成相应动作,要求主从机实时改变例如点灯要同时亮灭,相当于串口1接收到数据马上要用串口0发送,问:当串口1接收6个数据改变太快时,串口0发送22个数会跟不上,有时会漏发,或单片机卡死,这是什么问题呢???

使用特权

评论回复
沙发
yjgna| | 2019-10-23 17:18 | 只看该作者
用RAM保存串口1接收的数据,在串口0空闲时从RAM中按字节发送。应该能解决漏发。

使用特权

评论回复
板凳
tianxj01| | 2019-10-23 18:03 | 只看该作者
波特率不一样,要求实时转发,尤其是高的接收,低的发送,算算时间,肯定不对头,所以,简单的转发肯定会有问题不是?只有把接收到是数据全部缓存起来,然后波特率低的,从第一个数据时开始启动硬件发送,并不断检查缓存区,根据缓存情况进行后续发送,则肯定不会发生漏发、错发情况。

使用特权

评论回复
地板
幸福小强| | 2019-10-26 23:43 | 只看该作者
这种思路都是错误的。

使用特权

评论回复
5
幸福小强| | 2019-10-26 23:44 | 只看该作者
这个情况就跟,一个开车的,跟一个骑自行车的互相讲话一样,你能讲的通吗,人家呼啸而过了。

使用特权

评论回复
6
wahahaheihei| | 2019-10-29 00:23 | 只看该作者
两个通信的串口,波特率和格式必须一致才行。

使用特权

评论回复
7
wahahaheihei| | 2019-10-29 00:25 | 只看该作者
你好比两个人接力办事,比如说扔球,一个人只能一秒扔1个,结果另外一个扔3个的不停砸给他。

使用特权

评论回复
8
wahahaheihei| | 2019-10-29 00:25 | 只看该作者
所以你要算好,你发送的频率要能让低速的那个来得及发送才行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

23

帖子

0

粉丝