noyify可以显示十进制吗

image.png

左边的等号后面是发送的数据 右边是主机通过notify接收到的数据 发现是16进制显示的 而且值也对不上

image.png

从机的notify是这样写的

你这边定义的数组是一个字节的,而你填的参数是两个字节的,这样就是取低八位去发送,

主机接收显示的16进制原因是打印输出代码写的是%x,%d是十进制,不是发送十进制就是显示十进制的。


image.png

您好 我还想问一下 就是我现在发现主机接收的部分位数不够 无法显示255以上的值 这个问题要在什么地方进行更改呢


发送和接收都是按一个字节来操作的,一个字节的范围是0-255,如果超过了,发送和接收可以通过两个字节来实现,接收端将两个字节赋值给一个16bit的变量打印出来,加上自己对数据的解析就可以了。


image.png

这个不是接收端的打印函数吗 我要怎么将它改成两个字节呢


*(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


只有登录才能回复,可以选择微信账号登录