发新帖我要提问
12
返回列表
打印

请问一个串口中断的问题

[复制链接]
楼主: guwu
手机看帖
扫描二维码
随时随地手机跟帖
21
ddtx| | 2010-5-19 09:59 | 只看该作者 回帖奖励 |倒序浏览
不等接受完毕就赋值么,接受完毕后还要清零

使用特权

评论回复
22
liyoujun| | 2010-5-19 10:09 | 只看该作者
额,你看看我的帖子把,我没有你的问题,但是比你的更诡异。

使用特权

评论回复
23
一棵小草| | 2010-5-19 13:15 | 只看该作者
把改正后的所有代码再发上来

晕——————肯定还有错误的,你改正好不发上来,人家怎么知道你改了什么?唉--------

使用特权

评论回复
24
jiabin1024| | 2010-5-20 11:15 | 只看该作者
将{
RI=0;
i=SBUF;
LED=i;
}改为
将{
RI=0;
P?=SBUF;
}试试看,P?为你接的端口。

使用特权

评论回复
25
zhangjiwei2007| | 2010-5-23 20:53 | 只看该作者
看看

使用特权

评论回复
26
冷漠| | 2010-5-24 09:35 | 只看该作者
本帖最后由 冷漠 于 2010-5-24 09:37 编辑
SCON=0x70;
PCON=0;
TMOD=0x20;
TH1=220;
TL1=220;
TCON=0x40;


LZ 是用串口助手9600比特率进行发送?自己程序设置的这好像是1200比特率?9600,11.0592M,TH1/TL1好像应设置为0xfd。TH1=0xFD;TL1=0xFD;

使用特权

评论回复
27
guwu|  楼主 | 2010-6-8 23:15 | 只看该作者
18# jack_shine
SM2不可以设置为1么?在方式1下工作

使用特权

评论回复
28
冷漠| | 2010-6-9 09:05 | 只看该作者
本帖最后由 冷漠 于 2010-6-9 09:16 编辑

SM2设置为1还是0 ?且看下面公式:

1、  RI(中断)= / SM2 +   SM2 • RB8
或者      2、 RI =   RB8 +  / SM2 • / RB8

2者互相可以推导出来的,看哪个好**罢了。
这澄清了一个概念:当RB8=1时,无论SM2是否为1,都将引发接收中断;当SM2=0 时,无论RB8是否为1,都将引发接收中断。

那么,如果LZ将SM2设置为1,若要接收方RI中断,这就必然要求发送方(PC串口专家)发送帧的第9位一定是“1”,(忘了说,这是方式2/3时)否则不能触发接收方中断;——如若是方式2(8位帧)只能是停止位起第9位的作用了。所以,将SM2设置为“0”,方式1——8位传输,可以接收任何帧(无论8位、9位)触发RI中断。

使用特权

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

本版积分规则