亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

標題: 我總結的單片機通過串口接收數據的程序步驟,請大家幫忙看看有沒有哪里不對,謝謝 [打印本頁]

作者: 明日香    時間: 2020-12-2 20:41
標題: 我總結的單片機通過串口接收數據的程序步驟,請大家幫忙看看有沒有哪里不對,謝謝
某傳感器通過串口傳輸數據給單片機

單片機通過串口接收數據,并將數據付給變量data[]

初始化:
void init()  //系統初始化
{
TMOD=0X20;//選擇定時器T1,方式2,波特率由PCON寄存器的SMOD決定
TH1=0xfa;//設置波特率為4800
TL1=0xfa;
TR1=1;//定時器1中斷開啟
SCON=0x50;//       方式1 SCON是串行口1的串行控制寄存器
PCON=0x00;//各工作方式波特率加倍
IP=0X10;
EA=1;
ES=1;
}

//定時器1中斷程序:
void UART_1() interrupt 4
{
        int i=0;
        //接收完緩沖數據后RI置1
        if(RI)       //如果RI為1
        {
          RI=0;    //RI置0
        data[i++]=SBUF;  //SBUF里得到的數據存入data[i++]中
        }
}


請大家幫忙看看這兩個初始化程序和中斷程序對嗎?謝謝大家



作者: csmyldl    時間: 2020-12-3 00:02
大概是這個意思,但波特率并未加倍




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1