久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機比較兩數是否相同(接受串口數據)
[打印本頁]
作者:
禤666
時間:
2018-11-14 09:12
標題:
51單片機比較兩數是否相同(接受串口數據)
單片機源程序如下:
#include<reg51.h>
#include<string.h> //后面有一個比較函數
#define uchar unsigned char
#define uint unsigned int
bit UART_Flag=0; //定義串口接收標志位
uchar str[50]; //定義一數組
uchar length=0; //數組長度從0開始
void init() //初始化uart
{
TMOD=0X20; //定時器1定時器方式 工作模式2,可自動重載的8位計數器常把定時/計數器1以模式2作為串行口波特率發生器
SCON=0X50; //選擇工作模式1使能接收,允許發送,允許接收
EA=1; //開總中斷
ES=1; //打開串口中斷
ET1=0; //打開定時器中斷
PCON=0X80; //8位自動重載,波特率加倍
TH1=0XFF; //用22.1184 mhz波特率
TL1=0XFF;
TR1=1; //打開中時器
}
void UART_Putch(uchar dat) //輸出一個字符
{
SBUF=dat; //把數據送給sbuf緩存器中
while(TI!=1);//發送標志位 TI如果發送了為1,沒發送為0,沒發送等待,到了退出循環
TI=0; //到了,TI清為0
}
void init1() interrupt 4 //uart中斷 ,4為串口中斷
{
if(RI==1) //收到數據
{
uchar m=SBUF; //m為計算機發送給串口的數據,例,open //總體思想是,計算機通知串口,我要發數據了
RI=0; //收到清0
if(m=='\r') //判斷m這位數據有無\r
{
UART_Putch('\r'); //回車
UART_Putch('\n'); // 換行
str[length]='\0'; //數據最后位加0標志位表示發完了數據
UART_Flag=1; // 傳 完 標 志 位
}
else if(m=='\n')
{
}
else if(m=='\b')//b表退格 //下面幾句表刪鋤
{
UART_Putch('\b');
UART_Putch('');
UART_Putch('\b');
length=length-1; //刪鋤了后總長度減一
}
else
{
str[length++]=m; //比如m為open,先傳0后傳p,length加一
UART_Putch(m); //輸出 比如open
}
}
}
void check(char *str) //計算機發一數據,我來檢查,
{
if( strcmp("open",str)==0 ) //比較兩數是否相同,相同為0,不同為1 //要加string.h頭文件
{
UART_Putch('o'); //計算機中寫入open我回復ok
UART_Putch('k');
UART_Putch('\r'); //回車是跑到這一行的最前 UART_Putch('\n'); //換行是跳到下一行
}
else if( strcmp("close",str)==0 )
{
UART_Putch('o');
UART_Putch('k');
UART_Putch('\r');
UART_Putch('\n');
}
else //否則出錯
{
UART_Putch('e');
UART_Putch('r');
UART_Putch('r');
UART_Putch('o');
UART_Putch('r');
UART_Putch('!');
UART_Putch('\r');
UART_Putch('\n');
}
}
void main()
{
init();
while(1)
{
if(UART_Flag==1) //接收標志位表示接收完成
{
check(str);//檢查
length=0; //長度清0
UART_Flag=0;//標志位清0
}
}
}
復制代碼
作者:
mfwz001
時間:
2021-9-13 15:50
后面函數在哪啊
作者:
WeirdoStudio
時間:
2021-9-14 00:09
沒有仿真學習下嗎
作者:
hondephy@126.co
時間:
2021-9-15 00:11
看著好累,就不能直接寫:
void serial_out(char* pchar)
{
while(*pchar)
{
SBUF = *pchar;
while(TI == 0);
TI = 0;
}
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产亚洲一区二区三区在线观看
|
午夜大片
|
亚洲国产精品一区二区第一页
|
久久福利电影
|
夜夜撸av
|
四虎成人免费视频
|
欧美日韩黄色一级片
|
久久久久国产一级毛片高清网站
|
亚洲最大的黄色网址
|
国产午夜久久久
|
日韩精品成人一区二区三区视频
|
天堂一区二区三区
|
国产精品二区三区
|
欧美激情久久久
|
香蕉久久久
|
超碰导航
|
国产成人99久久亚洲综合精品
|
日韩欧美在线一区
|
国产高潮好爽受不了了夜夜做
|
色黄爽
|
免费在线视频一区二区
|
久久国色
|
涩涩操
|
97久久久久久久久
|
亚洲成人三区
|
亚洲高清在线观看
|
天天视频一区二区三区
|
久久久免费电影
|
91视频麻豆
|
久久久久久亚洲国产精品
|
国产一区亚洲二区三区
|
国产精品自产拍在线观看蜜
|
一区二区三区亚洲
|
亚洲一区二区中文字幕
|
国产精品一区一区
|
九色综合网
|
亚洲国产精选
|
免费国产黄
|
婷婷精品
|
国内激情av片
|
久热精品在线观看视频
|