【发布时间】:2018-12-31 20:59:24
【问题描述】:
我正在使用 STM32 发现板与接受 ASCII 命令的设备进行通信。
我使用HAL_UART_TRANSMIT_IT发送数据,效果很好。
我想向设备发送 ASCII 命令 XM3。当我使用虚拟端口程序作为 realterm 时,我只需单击 ascii 并输入波特率、databitc 等,当我输入 XM3 并单击 +CR 时它发送命令并且它工作正常,如果不包括 CR 它不起作用.
当我尝试从我的 MCU 执行此操作时,我使用此代码但它不起作用,任何想法如何通过串行端口在 C 中发送 ASCII 命令?
char txD[3]="XM3";
__HAL_UART_ENABLE_IT(&huart1, UART_IT_TC);
HAL_UART_Transmit_IT(&huart1, (uint8_t *)txD ,3);
当我将它发送到 realterm 时,它会显示 XM3,但当我将它发送到设备时,没有任何反应。
我需要知道如何将 XM3 和 CR 发送到设备。
【问题讨论】:
-
char txD[3]="XM3\n";您的设备可能正在等待 \n 和HAL_UART_Transmit_IT(&huart1, (uint8_t *)txD ,strlen(txD)); -
char txD[] = "XM3\n";当然
标签: format ascii stm32 transmitfile