打印

松翰SN8P1917的芯片如何实现串口?

[复制链接]
2987|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ningling_21|  楼主 | 2009-8-30 15:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原因:一款老的产品需增加串口功能,但内部只有一个定时器已经被使用了,怎样实现串口功能?

串口功能就是:模拟串口2400波特率,同过接口芯片给电脑发送10字节数据;

请高手支招.....

相关帖子

沙发
chunyang| | 2009-8-30 16:46 | 只看该作者
换带串口的MCU或者想法共享定时器做软件串口,没有定时器资源,除非软件结构合适,否则无法取得合适的波特率。共享定时器应该是可行的,这么低档的MCU你不可能拿来跑实时多任务吧,剩下的,就是想办法共享定时器了,软件结构非常重要。

使用特权

评论回复
板凳
ningling_21|  楼主 | 2009-8-30 18:52 | 只看该作者
不是多任务的,只是增加串口发送数据功能.
产品已经定型,不可能换MCU了...

使用特权

评论回复
地板
chunyang| | 2009-8-30 20:06 | 只看该作者
那就只有用软件串口了,复用定时器需要一定技巧,想明白了也不是什么难事。

使用特权

评论回复
5
ningling_21|  楼主 | 2009-8-31 07:48 | 只看该作者
试试看,多谢楼上两位提醒!

使用特权

评论回复
6
OneMillion| | 2009-8-31 11:48 | 只看该作者
仅仅是发送数据,算指令即可。

使用特权

评论回复
7
xnwxq| | 2009-8-31 11:56 | 只看该作者
使用软串口我只高过STC的

使用特权

评论回复
8
xnwxq| | 2009-8-31 11:57 | 只看该作者
我以前使用的STC89C54只用一个串口,我后来扩展到3个串口。2个使用软串口,目前工作是比较正常的

使用特权

评论回复
9
chunyang| | 2009-8-31 12:07 | 只看该作者
6楼说的不错,仅仅发送而不接收且发送时MCU不处理/响应其它任务的话,用特定子程序的指令执行时间做延时都可以,只要该子程序不影响发送端口和数据即可,具体什么功能可不关心,由此,特殊情况下的多任务调度也可实现了,当然,这种方法波特率不能太高,误差是一定有的,2400bps则无问题。

使用特权

评论回复
10
mohanwei| | 2009-8-31 12:25 | 只看该作者
直接I/O模拟即可……

使用特权

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

本版积分规则

5013

主题

17735

帖子

51

粉丝