读取MyCharNotify作为字符而不是HEX值



我正在使用以下教程(https://www.youtube.com/watch?v=Zgw3wRpGSRQ&list=PLnMKNibPkDnG9JRe2fbOOpVpWY7E4WbJ-&index=18&ab_channel=STMicroelectronics)编程STM32WB板

我能够使用ST BLE工具箱向手机发送十六进制值,但是我想发送一个字符开始,最终目标是发送一个字符串。如何将十六进制值显示为字符?

CHAR_PROP_BROADCAST或CHAR_PROP_READ是否更适合于此?不幸的是,我找不到任何关于这方面的教程。

输入图片描述

遵循本教程。https://www.youtube.com/watch?v=Zgw3wRpGSRQ&列表= PLnMKNibPkDnG9JRe2fbOOpVpWY7E4WbJ和;指数= 18,ab_channel =意法半导体

教程只发送一个十六进制数字,要发送更多,您可以更改"值长度"。CubeMX,UpdateCharData[n] = some_data;

您需要了解如何将字符存储在微控制器/PC存储器中。阅读有关ASCII表。例如:

#include <stdio.h>
int main() {
unsigned num = 0x41; // two byte variable 
printf("%0xn", num);// output: 41
printf("%dn", num);// output: 65 
printf("%cn", num);// output: A 
//because ASCII code 65 it's 'A' character
return 0;
}

正如您所看到的,相同的数据有不同的解释。

如果要将整数转换为字符,只需执行以下操作->

int a = 65;
char c = (char) a;

也可以使用itoa()函数将整型转换为字符串。

最新更新