4055|7

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

W77E58串口初始化 [复制链接]

请教:我这里有个W77E58的双串口初始化程序,好像有点问题,但又不知道具体问题在哪里?因为是第一次用这种芯片,对有些地方还是不是很了解,大家看看有没有问题,感激不尽!我在手册里看到说串口1一定要用定时器1做波特率发生器,定时器2用定时器1或者2,两个串口的波特率都是9600,晶振12M。在中断程序里,串口0用的是串口中断INTERUPT4,串口1用的INTERRUPT7
//串口0
    IE=0x00;
    T2MOD=0x20;
    RCAP2H=0xff;
    RCAP2L=0xdc;
    SCON1=0x50;
    PCON=0x00;
    T2CON=0x30;
    RCLK=1;
    TCLK=1;
    TR2=1;
    EA=1;
    ES0=0;
    PS0=1;    //串口0中断优先
//串口1
    TMOD=0x20;
    SCON=0x50;
    TH1=0xfd;
    TL1=0xfd;
    TR1=1;
    ES1=1;

最新回复

这个我知道,我的目的就是让它等于1,因为我在外面还有个计数器,是通过传感器的,感应到物体count1=1,在串口中断中这个也是这样,有数据过来count2=1,然后进行比较。现在的问题就是两个计数器一直相等,如果不进串口中断,计数器不相等,会报警,正常的。进了串口中断后,计数器好像就出了问题了,等下次即使没有进入中断,也不会报警。这个问题好像有点奇怪?麻烦指点一下  详情 回复 发表于 2009-8-20 08:30
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
几年前用过,不知道楼主有什么问题?
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我就是想确认下,两个串口是不是都可以中断接收?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
两个串口肯定都可以中断接收
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
参考:W77E58单片机双串口(其中串口0发送与接收使用不同的波特率)
http://blog.chinaunix.net/u/11826/showart_1997436.html
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
我调试了半天,两个中断都能进去了~我现在再问个问题,我想进中断后,收完数据后计数器加1,我把这个计数器写在接收部分,如下:
if(RI)
    {
      RI=0;
      ES0=0;
      count2=1;
      Rece_Data=SBUF0;     //将接收缓冲区数据存入接收数据存储数组
       SBUF1=Rece_Data;
    }
但好像芯片烧出来执行的时候,计数器里的数字并不是加了1,想问问我的问题出在哪里?这样做可行吗?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 5 楼 fenglangjunzi 的回复:
我调试了半天,两个中断都能进去了~我现在再问个问题,我想进中断后,收完数据后计数器加1,我把这个计数器写在接收部分,如下:
if(RI)
? ? {
? ? ? RI=0;
? ? ? ES0=0;
? ? ? count2=1;
? ? ? Rece_Data=SBUF0;? ? //将接收缓冲区数据存入接收数据存储数组
? ? ? SBUF1=Rece_Data;
? ? }
但好像芯片烧出来执行的时候,计数器里的数字并不是加了1,想问问我的问题出在哪里?这样做可行吗?

count2=1;
是对count2赋值等于一,不是加1。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

8
 
这个我知道,我的目的就是让它等于1,因为我在外面还有个计数器,是通过传感器的,感应到物体count1=1,在串口中断中这个也是这样,有数据过来count2=1,然后进行比较。现在的问题就是两个计数器一直相等,如果不进串口中断,计数器不相等,会报警,正常的。进了串口中断后,计数器好像就出了问题了,等下次即使没有进入中断,也不会报警。这个问题好像有点奇怪?麻烦指点一下
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表