欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 我用藍牙模塊HC-05與STC90C51連接,手機發(fā)送字符,點亮led燈 [打印本頁]

作者: piaolin    時間: 2015-10-29 12:21
標題: 我用藍牙模塊HC-05與STC90C51連接,手機發(fā)送字符,點亮led燈
問題:單片機能接收到手機發(fā)送的字符,但沒有識別出那個字符是什么('A'為點亮,'B'為熄滅),模塊沒有問題,如何解決?

代碼:
/*******************************************************************************
* 實驗名                           : 藍牙HC-05模塊驅(qū)動實驗
* 使用的IO                   : P3.0,P3.1,P0.0,P0.1
* 實驗效果             : 手機發(fā)送字符給單片機點亮或熄滅led燈
*        注意                       :
*******************************************************************************/
#include<reg51.h>
#define uchar unsigned char
uchar receiveData;
sbit led = P0^0;
sbit led2 = P0^1;
void UsartConfiguration();

void main()
{
        UsartConfiguration();
        led = 0;
        led2 = 0;           //檢測是否接收到字符,即是否進入串行口中斷
        TI = 0;
        while(1)
        {
                if(receiveData == 'A')
                   led = 1;  //點亮
                if(receiveData == 'B')
                   led = 0;  //熄滅
        }
}
/*******************************************************************************
* 函數(shù)名         :UsartConfiguration()
* 函數(shù)功能                   :設置串口
* 輸入           : 無
* 輸出                  : 無
*******************************************************************************/

void UsartConfiguration()
{
        SCON=0X50;                        //設置為工作方式1
        TMOD=0X20;                        //設置計數(shù)器工作方式2
        PCON=0X80;                        //波特率加倍
        TH1=0XF3;                    //計數(shù)器初始值設置,注意波特率是4800的(晶振為12.0MHz)
        TL1=0XF3;
        ES=1;                                                //打開接收中斷
        EA=1;                                                //打開總中斷
        TR1=1;                                        //打開計數(shù)器
}

void Usart() interrupt 4                        //串行口中斷
{
        receiveData=SBUF;    //出去接收到的數(shù)據(jù)
        led2 = 1;                         //手機發(fā)送字符時,此燈點亮
        RI = 0;              //清除接收中斷標志位
        SBUF=receiveData;    //將接收到的數(shù)據(jù)放入到發(fā)送寄存器
        while(!TI);                         //等待發(fā)送數(shù)據(jù)完成
        TI=0;                             //清除發(fā)送完成標志位 */
}



作者: wlq19911021a    時間: 2015-10-30 12:32
明顯的波特率有誤,也不明白樓主的端口配置

按樓主約定好的波特率    先用串口收下LC-05,然后再模擬LC-05從PC發(fā)給控制端    測試是否正常
作者: WAN    時間: 2016-5-7 16:13
手機發(fā)送字符用的什么軟件啊
作者: 1563257180    時間: 2016-7-18 21:17
藍牙串口助手貌似可以發(fā)送字符
作者: 俠歌無畏    時間: 2016-7-19 21:53
9600  4800
作者: 123天邊    時間: 2017-7-14 18:28
串口發(fā)送是一次只能發(fā)一個字節(jié)嗎

作者: 18871101234    時間: 2017-7-15 15:45
手機藍牙發(fā)數(shù)據(jù)的時候,需要一次性發(fā)送兩個,比如0a,0b,單獨發(fā)送一個a,b發(fā)送不過去
作者: lanxichang    時間: 2022-5-16 09:57
發(fā)送 0  或 者 1 不就好了嘛,干嘛要多此一舉呢? 小伙子  “高電平為1,低電平為0” 它不香嗎?還要去識別A/B
作者: 此生皆浮夢lhd    時間: 2022-5-16 21:04
我覺著波特率設置有問題,然后主函數(shù)里面的T0=0;進入中斷后應該也不會執(zhí)行其他的代碼(個人見解)
作者: yaoyao2022    時間: 2022-5-16 22:59
第一先檢查  led = 1; led = 0; 再不加 判斷的時候能否實現(xiàn)你的預期,然后再調(diào)試串口的收的數(shù)據(jù),至于收到的顯示不對的需要檢查下發(fā)送的波特率對不對,可以用一個串口小板按照你程序上的設置的4800來發(fā)送字符A 或者B;在觀察,或許答案就再其中。




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