最近在學習藍牙模塊時遇到了點問題,懇求各位大佬幫我解答一下,謝謝了。。
問題:當我正接時,發送31,串口會返回1
111111.jpg (136.46 KB, 下載次數: 40)
下載附件
2021-3-13 13:34 上傳
444.jpg (379.25 KB, 下載次數: 53)
下載附件
2021-3-13 13:35 上傳
當我反接的時候,發送31,led燈不亮,并且SPP藍牙串口會返回 B1
55555.jpg (125.71 KB, 下載次數: 40)
下載附件
2021-3-13 13:36 上傳
源碼如下:
#include<reg52.h>
typedef unsigned int uint;
typedef unsigned char uchar;
sbit led1 = P2^1; //根據各位實際的單片機上的小燈硬件連接,隨便選擇一個即可
uint pass = 0; //傳遞數據位
void UART_init() //設置串行通信 本晶振為11.0592MHZ,其他的就自己算一下應該設置多少
{
TMOD = 0x20;
TH1 = 0xfd;
TL1 = 0xfd; //波特率9600
SM0 = 0;
SM1 = 1; // 串口工作方式1 10位異步
REN = 1; //串口允許接收
TR1 = 1;
EA = 1;
ES =1 ; //串口中斷
}
int main()
{
UART_init(); //波特率9600
while(1)
{
if(pass == 0x31)
led1 = 0; //本單片機P2^1為小燈
else
led1 = 1;
}
}
void UART_INTERRUPT() interrupt 4
{
pass = SBUF;
RI = 0;
SBUF = pass; //手機和藍牙模塊通訊時,我們可以打開電腦串口調試工具查看我們的發送值)
while(!TI);
TI = 0;
}
|