打印

请问串口通讯,用PC817隔离,最大的波特率是多是?谢谢

[复制链接]
6919|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
winter1999|  楼主 | 2007-10-8 08:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近折腾一个东西,显示部分用的51,通过串口和另一个MCU通讯,现在问题是因为我显示部分用16个数码管和5个led,用51+HC595动态扫描的,12M晶体。如果通讯波特率低,在发数据的时候数码管闪烁的很厉害。用高的波特率到不闪了,可通讯又失败了,请教有什么好的方法吗?16个数码管用什么方法显示比较快呢?

相关帖子

沙发
awey| | 2007-10-8 09:03 | 只看该作者

做过9600的,数码管闪烁与串口通信没关系吧?

使用特权

评论回复
板凳
winter1999|  楼主 | 2007-10-8 09:12 | 只看该作者

闪啊

是这样的,串口数据发送时需要一定时间,在这段时间内无法扫描数码管,所以就会闪。

使用特权

评论回复
地板
hq_y| | 2007-10-8 09:17 | 只看该作者

595带锁存啊

哦你是动态扫描啊

使用特权

评论回复
5
农民讲习所| | 2007-10-8 09:23 | 只看该作者

显示程序要中中断方式,不要用DELAY

DELAY是老师遗留的毒瘤。
接收串口也要用中断。

使用特权

评论回复
6
古道热肠| | 2007-10-8 10:14 | 只看该作者

用全中断方式

 发送接收都开缓冲区,串口中断专门管理进出的数据字节。动态扫描要用汇编写HC595的数据串行移位输出,这种应用C语言效率太低了。还有一个办法,用硬件SPI发送数据到HC595,但是硬件必须照此设计才有可能。

使用特权

评论回复
7
winter1999|  楼主 | 2007-10-8 10:52 | 只看该作者

谢谢大家

讲习所你好:我在扫描数码管的时候并没有用Delay;

串口接收也是用的中断;

现在的矛盾是低波特率的时候发送数据的时间比较长,这段时间影响了扫描数码管;

古先生:纯硬件SPI比IO模拟要快很多吗?

可能是我的数码管比较多吧,我在程序里扫描数码管时是直接把这段程序放在while(1)里的,我试过,每隔1MS扫描一次数码管都会闪,只好直接放在while(1)里。

使用特权

评论回复
8
awey| | 2007-10-8 11:21 | 只看该作者

不能这么干的

可能是我的数码管比较多吧,我在程序里扫描数码管时是直接把这段程序放在while(1)里的,我试过,每隔1MS扫描一次数码管都会闪,只好直接放在while(1)里。
===================================

每隔1MS扫描一次,16个数码管就是16mS,不应该会闪。

使用特权

评论回复
9
seeokok| | 2007-10-8 13:52 | 只看该作者

串口发送也要用中断

串口接收也是用的中断;

现在的矛盾是低波特率的时候发送数据的时间比较长,这段时间影响了扫描数码管;
==================================================
串口发送也要用中断!

使用特权

评论回复
10
yangyxun| | 2007-10-8 14:37 | 只看该作者

干吗不用6N136等速度更好的呢

使用特权

评论回复
11
wtfshxkj| | 2007-10-8 18:23 | 只看该作者

扫描与中断

1) LED扫描:
      可以采用定时扫描;
2) SCI操作:
      - 中断方式;
      - 定时扫描;
3) 带来的问题:
   - 定时扫描时
      可以选择一个较短的定时时基T,在每次T中断时扫描串口;累计N次后扫
      描LED;
      * 优点,省略了中断嵌套处理;
   - LED定时扫描,SCI中断方式
      需要在中断嵌套方面做一下细致处理:
      * 是否允许嵌套;
      * 若允许嵌套,则需制定合理的嵌套规则;
^_^
   条条大道通罗马,祝Lz成功。

使用特权

评论回复
12
wtfshxkj| | 2007-10-8 18:25 | 只看该作者

PC817

另就PC817对于BPS的限定,Lz需要关注一下PC817的时序特性,必须保证其rise、fall delay time < 每bit的传输时间;

使用特权

评论回复
13
winter1999|  楼主 | 2007-10-8 23:36 | 只看该作者

谢谢

今天下午有别的事情耽误了,明天我再仔细调试下参数和程序。谢谢大家的帮忙

使用特权

评论回复
14
hotpower| | 2007-10-8 23:47 | 只看该作者

程序的问题~~~

气急了你可以在1mS定时中断里处理显示刷新的任务~~~
让串口中断级别高于1mS定时中断.(中断嵌套)

使用特权

评论回复
15
hab2000| | 2007-10-10 10:48 | 只看该作者

光藕的驱动电流要满足实际需要,电阻改小试试,9600没问题

使用特权

评论回复
16
wtfshxkj| | 2007-10-10 17:28 | 只看该作者

hh

LS正解

使用特权

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

本版积分规则

37

主题

136

帖子

2

粉丝