3122|3

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

单片机串口通信时,出现了个问题,有点想不通! [复制链接]

当单片机烧录成功后,要是复位或者冷启动,我写的程序就会运行一次,PC机就会“I get ”(程序的运行结果是从PC机发送字符或者字符串,单片机会给PC一个反馈‘I get xx’)。自己以为问题出现在了初始化,但至今未想明白,求高手解答!#include
#define  uchar unsigned char ;
char code table[]={' ','i',' ','g','e','t',' '};
char jie , getchar,num;
void delay(int n);
void init()
{
    TMOD = 0x20 ;   //定时计数器1工作方式2
        EA  = 1 ;                //中断允许
        ES = 1 ;                //开启串行中断
        TH1 = 0xfd;            //定时计数器的初始值
        TL1 = 0xfd ;
        TR1 = 1 ;                //开启定时计数器1
        REN = 1 ;                //接收允许
        SM0 = 0;
        SM1 = 1 ;                //串口工作方式1
}

void main()
{
    init();
    delay(256);
    while(1)
        {
     if( jie == 1 )
           {
               ES  = 0 ;         //关闭串行中断
                   for( num=0; num<=6; num++ )
                      {
                               SBUF = table[num];
                                    while(!TI);
                                        TI = 0 ;
                          }
                    SBUF = getchar;                //将得到的字符发送
                        while( !TI ) ;            
                        TI = 0 ;
                        ES = 1 ;
                        jie  = 0 ;                          
           }
         }
}
void delay(int n)
{  int i ,j ;
    for(i = n ; i>=0 ; i--)
          for(j=256;j>=0 ;j--);

}

void  RR( ) interrupt 4
{
         RI = 0 ;
            getchar = SBUF;
         jie = 1 ;

}
此帖出自51单片机论坛

最新回复

我运行下  详情 回复 发表于 2012-3-31 10:56
点赞 关注
 

回复
举报

547

帖子

0

TA的资源

纯净的硅(初级)

沙发
 
这个有问题吗?看不出来先顶一下吧
此帖出自51单片机论坛
 
个人签名嵌入式培训www.51great.org
 
 

回复

1

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
SM0=0;
SM1=1;
REN=1;
这样写试试看呢

此帖出自51单片机论坛
 
 
 

回复

202

帖子

0

TA的资源

一粒金砂(中级)

4
 
我运行下
此帖出自51单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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