我正在使用以下教程(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()函数将整型转换为字符串。