|
平时我使用 HAL 库通过串口发送 ASCII 字符,一般调用下面这个函数: HAL_UART_Transmit(&huart2, (uint8_t*)"Hello", 6,10); 但这个方式只能发送固定字符串。 我要怎样把整型变量的数值转换成对应的 ASCII 字符通过串口发送?需要用到哪些函数与库? 例如: int i = ADC读取结果; //假设此时读取结果为15 既 i = 15 printf(i); //需要以ASCII形式发送,依次送出字符'1'和'5“ |
自己写驱动深入学习与调用Hal库的取舍
STM32 官方Bootloader相关咨询
关于最近学习C语言回调和钩子函数的想法,以及对HAL库回调函数的困惑
STM32 上同时跑 LWIP 的 TCP 与 UDP 连接
使用 HAL_UART_Transmit_IT() 实现 printf
串口DMA收发出现ORE错误
STM32F103C8T6 上电后无法通过串口发出数据的问题?
HAL_UART_Transmit_DMA 异常
USB Host 外部中断按键失效
调用HAL_FLASH_OB_Unlock()直接进入 HardFaultHandler
微信公众号
手机版
自己映射printf,通过printf("%d",i)实现,或者使用sprintf转换到数组,然后再发送。
大概是这样的:
char buf[10];
int value = read_adc();
int len = sprintf(buf, "%d",value);
HAL_UART_Transmit(&huart2, (uint8_t*)buf, len,10);
安全一点的话,使用 snprintf,用法自己百度吧
sprintf将变量打印到数组,再用串口发送数组内容
👍 ,这个好,安全
因为我没太理解你的需求,看看下面这串代码是否能给你带来启发。