简体   繁体   English

STM32通过UART向串口发送值

[英]STM32 sending value via UART to serial port

I'm using potentiometer to control servo motor.我正在使用电位器来控制伺服电机。 I want to send the servo angle value to serial port via UART.我想通过 UART 将伺服角度值发送到串口。 First, i was getting unknown characters.首先,我得到了未知字符。 Now, it prints "Servo: 0 " everytime but i'm changing the value.现在,它每次都打印“伺服: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 has to be inside the loop otherwise it will be executed only once before entering the loop/. 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);        
}

I moved the我移动了

 int size_len = sprintf (str, "Servo : %lu\\n", servopot, 0xFFFF);

code to the loop, it worked.代码到循环中,它起作用了。 Thanks everyone who tried to answer.感谢所有试图回答的人。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM