亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1248|回復: 3
收起左側

STC8G1K08和藍牙的串口問題

[復制鏈接]
ID:76027 發表于 2025-8-13 14:14 | 顯示全部樓層 |閱讀模式
最近在玩通過藍牙控制手機APP播放音樂,藍牙模塊用的是BT401.測試的時候是通過電腦串口發指令控制二款手機APP播放和停止都沒有問題。用單片機控制的話,其中有一款APP有時正常,有時不能執行指令,隨機性很大。藍牙模塊能是正常接收AT命令,返回都是OK的,但手機不正常執行是沒有返回信息。請教一下大佬,這可能存在什么問題。
/*********************************************UART初始化 波特率115200/24MHz***********************************/
void UART_Init() {
  SCON = 0x50;                //8位數據,可變波特率
        AUXR |= 0x40;                //定時器時鐘1T模式
        AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
        TMOD &= 0x0F;                //設置定時器模式
        TL1 = 0xCC;                        //設置定時初始值
        TH1 = 0xFF;                        //設置定時初始值
        ET1 = 0;                                //禁止定時器中斷
        TR1 = 1;                                //定時器1開始計時
}

/*********************************************發送一個字符*********************************************/
void UART_SendChar(char c) {
    SBUF = c;
    while (!TI);
    TI = 0;
}

/*********************************************發送字符串*********************************************/
void UART_SendString(char *str) {
    while (*str) {
        UART_SendChar(*str++);
                                }
}


/*********************************************藍牙初始化*********************************************/
void Bluetooth_Init() {
    UART_SendString("AT+BD8888\r\n");                          // 設置藍牙名稱
    delay_ms(100);
    UART_SendString("AT+CA30\r\n");                                // 設置藍牙音量為最大30
    delay_ms(100);
    UART_SendString("AT+B400\r\n");                              // 關閉BLE功能,只用藍牙,不用數傳
   delay_ms(100);
   UART_SendString("AT+CZ\r\n");                                            // 重啟藍牙
}

/*************************** 藍牙控制 ******************************/
void Bluetooth_StartTalking()
        {
                UART_SendString("AT+BA08\r\n");                  //發送播放命令
        }

void Bluetooth_Stop()
        {
                UART_SendString("AT+CB\r\n");                  //發送停止命令
        }

回復

使用道具 舉報

ID:161164 發表于 2025-8-15 22:06 | 顯示全部樓層
2025-08-15_220512.png
回復

使用道具 舉報

ID:76027 發表于 2025-8-16 07:35 | 顯示全部樓層

AI查的:高速通信(如115200bps以上):建議嚴格控制在 ±1%~±2%。誤差0.16%應該沒多大問題吧?
回復

使用道具 舉報

ID:1153607 發表于 2025-8-17 08:19 | 顯示全部樓層
實驗APP INVENTOR 對手機編程,藍牙通訊有如下幾個基本經驗1絕不要在模塊最快的通信速率上長時間通訊,很容易掉線。手機一定要簡單使用,開過多程序容易掉線。HC06模塊經實驗比較好用,一次傳輸500字節反復多次成功率較高。速率誤差決定了可靠傳輸的長度,想可靠不能存在。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表