问个模拟串口的问题

[复制链接]
1522|6
 楼主| popeye021 发表于 2014-12-26 14:19 | 显示全部楼层 |阅读模式
两个单片机通讯,有一个UART口没了,用软件模拟,另一个用UART口。
这样通讯可以不?
如果可以的话,稳定性呢?需要注意那些问题?
wang168506 发表于 2014-12-26 15:05 | 显示全部楼层
异步的话  波特率确实很成问题这样   同步的好些!
 楼主| popeye021 发表于 2014-12-26 16:03 | 显示全部楼层
wang168506 发表于 2014-12-26 15:05
异步的话  波特率确实很成问题这样   同步的好些!

异步的话,软件模拟串口一方的波特率误差太大?

从实现上来说,是不是用异步的方式要简单一点?
wang168506 发表于 2014-12-26 17:20 | 显示全部楼层
popeye021 发表于 2014-12-26 16:03
异步的话,软件模拟串口一方的波特率误差太大?

从实现上来说,是不是用异步的方式要简单一点?

对额  请问你怎么模拟时钟输出呢?for 语句?应该是不大稳妥的办法吧  其实同步异步都不难   同步串行通信 就不存在时钟问题了の
ningling_21 发表于 2014-12-26 19:33 | 显示全部楼层
popeye021 发表于 2014-12-26 16:03
异步的话,软件模拟串口一方的波特率误差太大?

从实现上来说,是不是用异步的方式要简单一点?

模拟异步串口需要用到定时器,如果定时器被其它中断打断会造成数据出错...
 楼主| popeye021 发表于 2014-12-27 19:16 | 显示全部楼层
ningling_21 发表于 2014-12-26 19:33
模拟异步串口需要用到定时器,如果定时器被其它中断打断会造成数据出错... ...

你说的被其他中断打断是指其他中断优先级更高导致执行定时中断的时候响应其他中断,导致波特率不准?
huayuliang 发表于 2014-12-27 19:48 | 显示全部楼层
模拟串口所用的定时器被中断·····既然已经知道会存在这个问题,你可以屏蔽掉其他中断啊。
曾在一个项目里使用了个模拟串口,AVR的,自带两个串口,都被占用(一个485,一个CDMA),俺又不想搞什么复用,干脆模拟了个串口。嗯,俺在网上找了个现成的程序,使用时确实发现了点问题,不过都解决了,主要是波特率不能高。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

86

主题

455

帖子

4

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