左边的等号后面是发送的数据 右边是主机通过notify接收到的数据 发现是16进制显示的 而且值也对不上
从机的notify是这样写的
左边的等号后面是发送的数据 右边是主机通过notify接收到的数据 发现是16进制显示的 而且值也对不上
从机的notify是这样写的
你这边定义的数组是一个字节的,而你填的参数是两个字节的,这样就是取低八位去发送,
主机接收显示的16进制原因是打印输出代码写的是%x,%d是十进制,不是发送十进制就是显示十进制的。
您好 我还想问一下 就是我现在发现主机接收的部分位数不够 无法显示255以上的值 这个问题要在什么地方进行更改呢
发送和接收都是按一个字节来操作的,一个字节的范围是0-255,如果超过了,发送和接收可以通过两个字节来实现,接收端将两个字节赋值给一个16bit的变量打印出来,加上自己对数据的解析就可以了。
这个不是接收端的打印函数吗 我要怎么将它改成两个字节呢
*(p+1) 指向下一个地址的值。
能具体说一下是什么意思吗
可以这样写,根据长度打印出后面的数据:
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");
}
}
这样的话显示的是无符号整型 我想输出有符号整型要怎么处理呢 麻烦了!
方便的话可以拨打技术支持电话:025-89691339