CH573作為從機,BLE UART例程串口收發(fā)問題

按照CH573的ble-uart例程,將uart3的收發(fā)數(shù)據(jù)改為了uart0,uart1打印沒改變。

①連接手機app發(fā)送數(shù)據(jù),發(fā)hex類型串口收到的內(nèi)容一致,發(fā)送字符就不一致,是什么原因呢。(如:? 發(fā):01,收:01? 發(fā):123, 收:313233);

②uart1只能接收手機發(fā)送的數(shù)據(jù),卻不能發(fā)送數(shù)據(jù)到手機端,是否哪里配置不正確?

③app打開notif接收數(shù)據(jù),啥也沒有。手機給573發(fā)送數(shù)據(jù)后,如何知道573收到數(shù)據(jù)是否反饋給手機端。

④573接收SPI的數(shù)據(jù)會自動通過藍牙發(fā)送到手機端嗎。

⑤自定義功能函數(shù)在主函數(shù)中跑藍牙就會搜不到,串口卻顯示藍牙處于Advertising..,disconnect reason:3e

  1. 這和串口打印有關(guān),你打印的是16進制,字符1對應(yīng)的16進制就是0x31

  2. uart1只是用于打印,

  3. BLE UART 例程的邏輯是將串口3收到的數(shù)據(jù)通過藍牙發(fā)送至主機(app),并不會主動發(fā)數(shù)據(jù),如果手機需要看反饋,需要再收到數(shù)據(jù)后調(diào)用notify發(fā)送數(shù)據(jù),

  4. 接收spi數(shù)據(jù)并不會通過藍牙發(fā)送至主機,需要程序中調(diào)用notify函數(shù),

  5. while中需要一直查詢?nèi)蝿?wù),不可以添加耗時過長的程序,會影響藍牙功能,可以用tmos任務(wù)實現(xiàn)。


@TECH_Hy感謝回答,調(diào)用notify具體哪個函數(shù)呢?用tmos實現(xiàn)任務(wù)是需要注冊一個新的任務(wù)呢還是在其他任務(wù)中添加Evt事件也可以?手機app發(fā)送指令控制573 SPI外設(shè)參考哪個例程好一些呢?


??noti.len?=?read_length;
????????????????????noti.pValue?=?GATT_bm_alloc(peripheralConnList.connHandle,?ATT_HANDLE_VALUE_NOTI,?noti.len,?NULL,?0);
????????????????????if(noti.pValue?!=?NULL)
????????????????????{
????????????????????????tmos_memcpy(noti.pValue,?to_test_buffer,?noti.len);
????????????????????????result?=?ble_uart_notify(peripheralConnList.connHandle,?&noti,?0);
????????????????????????if(result?!=?SUCCESS)
????????????????????????{
????????????????????????????PRINT("R1:%02x\r\n",?result);
????????????????????????????send_to_ble_state?=?SEND_TO_BLE_SEND_FAILED;
????????????????????????????GATT_bm_free((gattMsg_t?*)&noti,?ATT_HANDLE_VALUE_NOTI);
????????????????????????????tmos_start_task(Peripheral_TaskID,?UART_TO_BLE_SEND_EVT,?2);
????????????????????????}

可以自己重新注冊一個taskid,也可以在例程原有的上面添加,

spi可參考evt中SPI例程。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频