左邊的等號后面是發(fā)送的數(shù)據(jù) 右邊是主機通過notify接收到的數(shù)據(jù) 發(fā)現(xiàn)是16進制顯示的 而且值也對不上
從機的notify是這樣寫的
左邊的等號后面是發(fā)送的數(shù)據(jù) 右邊是主機通過notify接收到的數(shù)據(jù) 發(fā)現(xiàn)是16進制顯示的 而且值也對不上
從機的notify是這樣寫的
你這邊定義的數(shù)組是一個字節(jié)的,而你填的參數(shù)是兩個字節(jié)的,這樣就是取低八位去發(fā)送,
主機接收顯示的16進制原因是打印輸出代碼寫的是%x,%d是十進制,不是發(fā)送十進制就是顯示十進制的。
您好 我還想問一下 就是我現(xiàn)在發(fā)現(xiàn)主機接收的部分位數(shù)不夠 無法顯示255以上的值 這個問題要在什么地方進行更改呢
發(fā)送和接收都是按一個字節(jié)來操作的,一個字節(jié)的范圍是0-255,如果超過了,發(fā)送和接收可以通過兩個字節(jié)來實現(xiàn),接收端將兩個字節(jié)賦值給一個16bit的變量打印出來,加上自己對數(shù)據(jù)的解析就可以了。
這個不是接收端的打印函數(shù)嗎 我要怎么將它改成兩個字節(jié)呢
*(p+1) 指向下一個地址的值。
能具體說一下是什么意思嗎
可以這樣寫,根據(jù)長度打印出后面的數(shù)據(jù):
else if(pMsg->method == ATT_HANDLE_VALUE_NOTI)
{
PRINT("Receive noti:");
for(uint8_t i=0;pMsg->msg.handleValueNoti.len;i++){
PRINT("%x ", pMsg->msg.handleValueNoti.pValue[i]);
PRINT("\n");
}
}
這樣的話顯示的是無符號整型 我想輸出有符號整型要怎么處理呢 麻煩了!
方便的話可以撥打技術(shù)支持電話:025-89691339