久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6520|回復: 9
打印 上一主題 下一主題
收起左側

我用藍牙模塊HC-05與STC90C51連接,手機發送字符,點亮led燈

  [復制鏈接]
跳轉到指定樓層
樓主
ID:91350 發表于 2015-10-29 12:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
問題:單片機能接收到手機發送的字符,但沒有識別出那個字符是什么('A'為點亮,'B'為熄滅),模塊沒有問題,如何解決?

代碼:
/*******************************************************************************
* 實驗名                           : 藍牙HC-05模塊驅動實驗
* 使用的IO                   : P3.0,P3.1,P0.0,P0.1
* 實驗效果             : 手機發送字符給單片機點亮或熄滅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;  //熄滅
        }
}
/*******************************************************************************
* 函數名         :UsartConfiguration()
* 函數功能                   :設置串口
* 輸入           : 無
* 輸出                  : 無
*******************************************************************************/

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

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


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:93852 發表于 2015-10-30 12:32 | 只看該作者
明顯的波特率有誤,也不明白樓主的端口配置

按樓主約定好的波特率    先用串口收下LC-05,然后再模擬LC-05從PC發給控制端    測試是否正常

評分

參與人數 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:119047 發表于 2016-5-7 16:13 | 只看該作者
手機發送字符用的什么軟件啊

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:110935 發表于 2016-7-18 21:17 | 只看該作者
藍牙串口助手貌似可以發送字符
回復

使用道具 舉報

5#
ID:94991 發表于 2016-7-19 21:53 | 只看該作者
9600  4800
回復

使用道具 舉報

6#
ID:219350 發表于 2017-7-14 18:28 | 只看該作者
串口發送是一次只能發一個字節嗎
回復

使用道具 舉報

7#
ID:219388 發表于 2017-7-15 15:45 | 只看該作者
手機藍牙發數據的時候,需要一次性發送兩個,比如0a,0b,單獨發送一個a,b發送不過去
回復

使用道具 舉報

8#
ID:95059 發表于 2022-5-16 09:57 | 只看該作者
發送 0  或 者 1 不就好了嘛,干嘛要多此一舉呢? 小伙子  “高電平為1,低電平為0” 它不香嗎?還要去識別A/B
回復

使用道具 舉報

9#
ID:1013529 發表于 2022-5-16 21:04 | 只看該作者
我覺著波特率設置有問題,然后主函數里面的T0=0;進入中斷后應該也不會執行其他的代碼(個人見解)
回復

使用道具 舉報

10#
ID:1026496 發表于 2022-5-16 22:59 | 只看該作者
第一先檢查  led = 1; led = 0; 再不加 判斷的時候能否實現你的預期,然后再調試串口的收的數據,至于收到的顯示不對的需要檢查下發送的波特率對不對,可以用一個串口小板按照你程序上的設置的4800來發送字符A 或者B;在觀察,或許答案就再其中。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 超碰国产在线 | 精品毛片视频 | 亚洲成人免费视频 | 在线午夜电影 | 91精品久久久久久久久久 | 婷婷色成人 | 久久高清| 天天人人精品 | 日韩国产一区二区三区 | 国产粉嫩尤物极品99综合精品 | 欧美精品在线观看 | 午夜一区二区三区在线观看 | 日韩电影中文字幕 | 国产精品精品 | 久久99深爱久久99精品 | 日本在线播放一区二区 | 欧美日韩网站 | 粉嫩一区二区三区性色av | 在线成人 | 91中文字幕在线 | 国产在线视频三区 | 国产日产精品一区二区三区四区 | 男女羞羞免费网站 | 久草.com| 日韩精品一区二区在线观看 | 超碰激情 | 欧美毛片免费观看 | 99在线国产| 亚洲成人一区二区 | 国内成人免费视频 | 91精品中文字幕一区二区三区 | 亚洲成人精品国产 | 午夜视频一区二区三区 | 日日噜噜噜夜夜爽爽狠狠视频, | 中文字幕成人av | 亚洲精品在线看 | 本道综合精品 | 懂色中文一区二区在线播放 | 人人擦人人干 | 羞羞涩涩在线观看 | 国产午夜在线观看 |