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

[复制链接]
4747|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 | 显示全部楼层
那就只有用软件串口了,复用定时器需要一定技巧,想明白了也不是什么难事。
 楼主| ningling_21 发表于 2009-8-31 07:48 | 显示全部楼层
试试看,多谢楼上两位提醒!
OneMillion 发表于 2009-8-31 11:48 | 显示全部楼层
仅仅是发送数据,算指令即可。
xnwxq 发表于 2009-8-31 11:56 | 显示全部楼层
使用软串口我只高过STC的
xnwxq 发表于 2009-8-31 11:57 | 显示全部楼层
我以前使用的STC89C54只用一个串口,我后来扩展到3个串口。2个使用软串口,目前工作是比较正常的
chunyang 发表于 2009-8-31 12:07 | 显示全部楼层
6楼说的不错,仅仅发送而不接收且发送时MCU不处理/响应其它任务的话,用特定子程序的指令执行时间做延时都可以,只要该子程序不影响发送端口和数据即可,具体什么功能可不关心,由此,特殊情况下的多任务调度也可实现了,当然,这种方法波特率不能太高,误差是一定有的,2400bps则无问题。
mohanwei 发表于 2009-8-31 12:25 | 显示全部楼层
直接I/O模拟即可……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5015

主题

17842

帖子

51

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