1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標(biāo)題: 51單片機串口數(shù)據(jù),咋能判斷這單詞有幾個字母,每個字母是什么啊? [打印本頁]

作者: 小璽    時間: 2020-4-5 15:12
標(biāo)題: 51單片機串口數(shù)據(jù),咋能判斷這單詞有幾個字母,每個字母是什么啊?
大神大哥大姐美女請問用串口發(fā)過去一個英語單詞,咋能判斷這單詞有幾個字母,每個字母是什么啊。



#include "reg52.h"    //此文件中定義了單片機的一些特殊功能寄存器
sbit led=P2^0;   
typedef unsigned int u16;   //對數(shù)據(jù)類型進行聲明定義
typedef unsigned char u8;
/*******************************************************************************
* 函數(shù)名         :UsartInit()
* 函數(shù)功能     :設(shè)置串口
* 輸入           : 無
* 輸出           : 無
*******************************************************************************/
void UsartInit()
{
SCON=0X50;   //設(shè)置為工作方式1
TMOD=0X20;   //設(shè)置計數(shù)器工作方式2
PCON=0X80;   //波特率加倍
TH1=0XF3;    //計數(shù)器初始值設(shè)置,注意波特率是4800的
TL1=0XF3;
ES=1;      //打開接收中斷
EA=1;      //打開總中斷
TR1=1;     //打開計數(shù)器
}
/*******************************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能   : 主函數(shù)
* 輸    入       : 無
* 輸    出      : 無
*******************************************************************************/
void main()
{
UsartInit();  // 串口初始化

while(1);  
}
/*******************************************************************************
* 函數(shù)名         : Usart() interrupt 4
* 函數(shù)功能    : 串口通信中斷函數(shù)
* 輸入           : 無
* 輸出           : 無
*******************************************************************************/
void Usart() interrupt 4
{
u8 receiveData;
receiveData=SBUF;//出去接收到的數(shù)據(jù)
RI = 0;//清除接收中斷標(biāo)志位
SBUF=receiveData;//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
while(!TI);    //等待發(fā)送數(shù)據(jù)完成
TI=0;       //清除發(fā)送完成標(biāo)志位
  if(receiveData=='A'||receiveData=='a')
        led=0;
     if(receiveData=='B'||receiveData=='b')
        led=1;
}

作者: wulin    時間: 2020-4-5 16:54
你這程序只能判斷單個字符,要改成接收字符串才能解析單詞。
作者: ktoto2011    時間: 2020-4-5 19:19
定義一個接收buf,rx_buf[max],接收長度LEN,其中max = 255;在中斷函數(shù)void Usart() interrupt 4   ,LEN++;rx_buf[LEN] = SBUF;定時接收數(shù)據(jù),然后仿真就可以知道rx_buf接收到了什么字符串
作者: 小璽    時間: 2020-4-5 23:44
wulin 發(fā)表于 2020-4-5 16:54
你這程序只能判斷單個字符,要改成接收字符串才能解析單詞。

謝謝解答
作者: 小璽    時間: 2020-4-5 23:44
ktoto2011 發(fā)表于 2020-4-5 19:19
定義一個接收buf,rx_buf[max],接收長度LEN,其中max = 255;在中斷函數(shù)void Usart() interrupt 4   ,LEN++; ...

謝謝解答




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