找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 845|回復: 2
收起左側

單片機串口程序里怎么沒見X呢?運行時要輸入X,X不是條件嗎?有點糊涂了

[復制鏈接]
ID:994128 發(fā)表于 2022-1-27 15:18 | 顯示全部樓層 |閱讀模式
在上位機上用串口調(diào)試助手發(fā)送一個字符x,單片機收到字符后返回給上位機“I get  ”,串口波特率為9600,

#include <reg52.h>            
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i;
uchar code table[]="I get ";
//uchar code table[]={'I',' ','g','e','t',' '};
void init()
{
        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        REN=1;
        SM0=0;
        SM1=1;        
        EA=1;
        ES=1;        
}
void main()
{
        init();
        while(1)
        {
                if(flag==1)
                {
                        ES=0;
                        for(i=0;i<6;i++)
                        {
                                SBUF=table[ i];
                                while(!TI);
                                TI=0;
                        }
                        SBUF=a;
                        while(!TI);
                        TI=0;
                        ES=1;
                        flag=0;
                }
        }
}

void ser() interrupt 4
{
        RI=0;
        a=SBUF;
        flag=1;
}



回復

使用道具 舉報

ID:883242 發(fā)表于 2022-1-27 19:27 | 顯示全部樓層
代碼里的a就是題目里面的x!

a=SBUF; 這句就是題目里面的“上位機發(fā)送一個字符x,單片機收到字符”。
SBUF=a; 這句前面發(fā)送“I get ”之后把x返回給上位機。
回復

使用道具 舉報

ID:994128 發(fā)表于 2022-1-28 14:36 | 顯示全部樓層
Hephaestus 發(fā)表于 2022-1-27 19:27
代碼里的a就是題目里面的x。

a=SBUF; 這句就是題目里面的“上位機發(fā)送一個字符x,單片機收到字符”。
...

謝謝!
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表