您好,我這兒測試還是正常的,板子都斷電再上電后也是正常。
對于您說的幾分鐘后才會收到消息,可以打印一下seq數(shù)值,如果上電時沒有自增60,建議您更新一下最新EVT,使用最新庫。
您好,我這兒測試還是正常的,板子都斷電再上電后也是正常。
對于您說的幾分鐘后才會收到消息,可以打印一下seq數(shù)值,如果上電時沒有自增60,建議您更新一下最新EVT,使用最新庫。
TECH_JW您好!
? ?1)、打印seq數(shù)值,這個代碼需要自己來實現(xiàn)是吧?有參考例程么?該放在什么位置打印?
? ?2)、更新EVT,目前網(wǎng)站上只有1.5版2022-08-31這個是最新版了吧,目前。
您好,以官網(wǎng)為準,目前最新EVT是8月31日更新的該版本。常用API在MESH_LIB.h中都能找到。
最新EVT中有uint32_t bt_mesh_seq_get( void ); 這個函數(shù),在發(fā)包之后可以調(diào)用看看seq num有沒有+1,斷電重啟之后,seq num有沒有+60。如果發(fā)包的seq num比對方節(jié)點收到的上一則消息的seq num小,則會判斷為過往消息,在底層忽略掉。
另有IV值獲取接口uint32_t bt_mesh_iv_index_get( void ); 可以用它獲取兩邊的IV值情況。如果IV值不同步,也會造成丟包。
在app_vendor_model_srv中,vendor_message_srv_trans函數(shù)下可以打印一下tid值,看看tid是否每次發(fā)包都+1,若tid一直不變,被判斷為重復消息,不再上報也會導致丟包。
您好!終于找到坑了,之前只是重復燒寫self_provisioner_vendor而沒有每次都燒寫adv_vendor_friend,所以一直莫名其妙的問題。測試如下:
我在 App_ProcessEvent(uint8_t task_id, uint16_t events)函數(shù)中添加了
? ? ?bt_mesh_seq_get();
? ? ?APP_DBG("Print Test 2\r\n");
運行后只見打印Print Test 2沒見到其它信息,是沒有正確調(diào)用么?打印信息如下:
bt_mesh_seq_get();這個函數(shù)是有uint32_t類型的返回值的。定義一個局部變量X,X =?bt_mesh_seq_get();,然后打印X的數(shù)值這樣用。
您好!我現(xiàn)在的系統(tǒng)結(jié)構(gòu)打算這樣,如下圖:
現(xiàn)在幾點問題請教如下:
1)、MCU通過Uart從CH852讀取終端的數(shù)據(jù),在函數(shù)static void vendor_model_cli_rsp_handler(const vendor_model_cli_status_t *val)中來實現(xiàn)。
2、MCU通過Uart通過CH852向終端發(fā)送平臺下發(fā)的數(shù)據(jù),在函數(shù)uint16_t App_ProcessEvent(uint8_t task_id, uint16_t events)中來添加代碼實現(xiàn)。
? ? ? ? ? ?目前我要做的就是通過CH582的Uart通訊代碼,把數(shù)據(jù)周轉(zhuǎn)、傳送就可以了是吧?
是的。另外我司有CH32V208芯片,有網(wǎng)絡接口和無線功能。
好的,暫時先用手里現(xiàn)有的MCU和CH582來實現(xiàn)代碼,后期購買其它芯片時一起買208吧;Uart的代碼還需要自己來實現(xiàn)嗎?還是在這個例程里有,直接調(diào)用呢?謝謝!
可以參考BLE-UART例程,看看該例程中是怎么在TMOS系統(tǒng)中使用UART的。
好的,謝謝!
唉!感覺沒幾個例程是可以順遛運行的。BLE_UART例程燒寫后,藍牙調(diào)試器設置如截圖:
藍牙助手發(fā)數(shù)據(jù),串口助手打印的信息如下圖:
串口助手發(fā)信息,APP也收不到,該怎么處理?
BLE_UART下提供了一份說明,請仔細閱讀后進行驗證;
應用商城下載BLE調(diào)試助手進行連接驗證。
關(guān)于TMOS使用方式請直接查看該博客:
WCH TMOS用法詳解 - debugdabiaoge - 博客園 (cnblogs.com)
若要實現(xiàn)通過串口來交互傳輸數(shù)據(jù),是不要模仿BLE_UART里的結(jié)構(gòu),在self_provisioner_vendor例程里添加app_drv_fifo.c、app_drv_fifo.h、ble_uart_service_16bit.c、ble_uart_service.h等文件進來?
您好,mesh也是基于TMOS系統(tǒng)運行的,故可以參考BLE_UART的程序進行移植。在移植之前可以現(xiàn)了解一下TMOS系統(tǒng)的使用,參考上面發(fā)過的博客。