[英]STM32 sending value via UART to serial port
我正在使用电位器来控制伺服电机。 我想通过 UART 将伺服角度值发送到串口。 首先,我得到了未知字符。 现在,它每次都打印“伺服:0”,但我正在更改该值。
uint32_t potadc; uint32_t servopot; char str[32]; int size_len = sprintf (str, "Servo : %lu\\n", servopot, 0xFFFF); while { servopot = potadc/6; HAL_UART_Transmit (&huart2, (uint8_t *)str, size_len, HAL_MAX_DELAY); HAL_Delay(1000); }
sprintf
必须在循环内,否则它将在进入循环之前只执行一次/。
int size_len;
while(1) {
servopot = potadc/6;
size_len = sprintf (str, "Servo : %u\n", servopot);
HAL_UART_Transmit (&huart2, (uint8_t *)str, size_len, HAL_MAX_DELAY);
HAL_Delay(1000);
}
我移动了
int size_len = sprintf (str, "Servo : %lu\\n", servopot, 0xFFFF);
代码到循环中,它起作用了。 感谢所有试图回答的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.