久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4289|回復: 1
打印 上一主題 下一主題
收起左側

STC12 串口1通訊中有 卡死現象 求解

[復制鏈接]
跳轉到指定樓層
樓主
ID:142303 發表于 2016-10-11 11:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
串口1 有2個命令一個是ZZAE(發送后 回傳數據)和 ZZBE (停止回傳數據)

目前的情況是  反復ZZAE ZZBE 發送后 會將單片機卡死。。。 求幫助啊

下面是 我的串口設置   串口中斷程序


void InitUART(void)
{
        PCON &= 0x7F;                //波特率不倍速
        SCON = 0x50;                //8位數據,可變波特率
        AUXR |= 0x40;                //定時器1時鐘為Fosc,即1T
        AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
        TMOD &= 0x0F;                //清除定時器1模式位
        TMOD |= 0x20;                //設定定時器1為8位自動重裝方式
        TL1 = 0xDC;                //設定定時初值                                                115200--FA     57600--F4     19200--DC
        TH1 = 0xDC;                //設定定時器重裝值
        ET1 = 0;                //禁止定時器1中斷
        TR1 = 1;                //啟動定時器1

        ES=1;
    AUXR &= 0xF7;                //波特率不倍速
        S2CON = 0x50;                //8位數據,可變波特率
        AUXR |= 0x04;                //獨立波特率發生器時鐘為Fosc,即1T
        BRT = 0xFA;                //設定獨立波特率發生器重裝值
        AUXR |= 0x10;                //啟動獨立波特率發生器
        EA =1;                    //開總中斷
    IE2 =0x01;                //開串口2中斷  ES2=1
}




/****************串行口1發送****************/
void sendbyte(uchar c)
{

    SBUF=c;
    while(!TI);        //等待發送完成
    TI=0;  
}

/****************串行口1字符串地址發送****************/
void SendString1(uchar *string)//此處*string相當于數組
{
    while(*string!='\0')//判斷是否到字符串末尾
    {
        sendbyte(*string);
        string++;
    }
}



串口1中斷
void Uart_Isr() interrupt 4 using 2{
  if(RI == 1)
  {  
          RI=0;  
          rbuf[Digit]=SBUF;
          if(rbuf[Digit]==0x45)
          {      
                  if(rbuf[Digit-3]==0x5a&&rbuf[Digit-2]==0x5a&&rbuf[Digit-1]==0x41&&rbuf[Digit]==0x45)                           //ZZAE
                  {  
                     ret_flag=1;  
                         Digit=0;
                         lockzzabe=1;   
                  }
                  else if(rbuf[Digit-3]==0x5a&&rbuf[Digit-2]==0x5a&&rbuf[Digit-1]==0x42&&rbuf[Digit]==0x45&&lockzzabe==1)                         //ZZBE
                  {
                            ret_flag=2;  
                     ES = 0;
                         Digit=0;
                  }
                //     ES = 0;
                         Digit=0;
                       
                  }
                               
                   else                                                                                                                                                 //其他輸出為錯
                  {
                           ret_flag=99;
                         Digit=0;
                  }
          }
          Digit++;              
  }
    if (TI)
    {
        TI = 0;            
        busy = 0;           
    }
}








分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:320098 發表于 2018-5-1 21:38 | 只看該作者
我也經常卡死,據說是因為電腦問題,也不知道具體是什么問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 三级在线视频 | 亚洲精品福利在线 | 午夜免费视频 | 午夜电影在线播放 | 久久久久久亚洲欧洲 | 国产精品久久久久久久久久东京 | 日韩在线精品 | 亚洲天堂免费在线 | 欧美韩一区二区 | www.一级片 | 狠狠躁夜夜躁人人爽天天高潮 | 亚欧洲精品在线视频免费观看 | 欧美国产日韩在线观看 | 精品一区二区三区不卡 | 天天操操| 一区二区视屏 | 日韩1区 | 亚洲成人网在线 | 亚洲成人午夜在线 | 久草在线中文888 | 午夜视频免费在线观看 | 国产成人99久久亚洲综合精品 | 欧美成人一区二区 | 欧美精品综合在线 | 久在线| 久久精品日产第一区二区三区 | 亚洲一区二区三区欧美 | 久久久久久国产精品免费免费 | 欧美在线视频a | 精品99久久| 一级黄在线观看 | 久久高清免费视频 | 日韩三级免费网站 | 国产在线精品一区二区 | 狠狠色香婷婷久久亚洲精品 | 国产在线精品一区二区 | 国产99久久久国产精品下药 | 久久伊人一区 | 久久国产精品视频 | 日韩欧美二区 | 国产第一页在线播放 |