This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
你(们)好。
我使用 TM4C1294NCPDT 微控制器。 我正在使用 UART 通信功能进行 PCB 和 HMI 显示屏的通信。 波特率是多少 19200.当通信解决(例如:通信电缆断开或 PCB 不向接收器发送数据、无论付出什么代价)时、HMI 故障暗示会最近收到微控制器。
而 PCB 和 HMI UART 通信时间为5秒。
5秒后、接收到 HMI 通信故障。 如果我尝试缩短通信时间(例如:2秒)、则会因为没有通信而影响通信。
例如:代码:
if (G_UART5_TimeoutRetryCount >= 50)//增加延迟
{
UART5_SuccessFlag = 0;
"Yellow_LED_Flags"。 字节= IO_LED_OFF;
_RED_LED_Flags。 字节= IO_LED_OFF;
Green_LED_Flags。 字节= IO_LED_OFF;
Sensor_Yellow_LED_Flags。 字节= IO_LED_500MS_TOGGLE;
G_Data。 LSU_Status_ID = sp_Status_HMI CommunicationTimeout;
}
如果您有任何疑问、请告诉我并说明如何解决此问题。
而 PCB 和 HMI UART 通信时间为5秒。
5秒后、接收到 HMI 通信故障。 如果我尝试缩短通信时间(例如:2秒)、则会因为没有通信而影响通信。
[报价]您的问题描述不足以让我进行评论。
解释5秒是什么? MCU 是否每5秒向 HMI 发送一次数据? 或者 MCU 是否持续发送数据5秒?
2秒时、您的意思是没有通信? 您希望 MCU 在从 HMI 接收到故障后做出什么响应? 显示 MCU 工作时与不工作时的预期响应?
好的、我来解释一下。
MCU 每100ms 向 HMI 发送和接收数据。 我使用100ms 计时器、
if (G_UART5_TimeoutRetryCount >= 50)
这意味着最多50次尝试(即50*100ms=5sec) HMI 将等待通过 UART 通信接收数据。 5秒后、HMI 未接收任何数据、控制器将出现通信错误。
如果我更改了 Ex (2秒) MCU 和 HMI 未通信的 if (g_UART5_TimeoutRetryCount >= 20)。 它至少需要2个延迟才能启动通信。
我的问题是
波特率是否会导致该问题?
由于我使用1、15,200波特率可以在500ms 内进行通信。
目前我使用的是19200波特率、所以只有通信延迟至少需要2秒?
否则、背后的原因是什么? 请帮我解决这个问题。
提前感谢。
我仍然不清楚你的问题。
您是说、如果您将波特率设置为19200、那么它将超时?
是什么导致变量 g_UART5_TimeoutRetryCount 递增?
开始通信需要最低2次延迟。
您意味着它需要2s 才能启动通信。 谁来控制延迟? 为什么需要该延迟?
在19200波特率下、您在 UARTTX 和 UARTRX 信号上看到了任何 UART 波形吗?
在115200波特率下、 您在 UARTTX 和 UARTRX 信号上看到了任何 UART 波形吗?
同样、不要期望我像开发应用几个月那样了解您的整个硬件和软件设置。 在你看来,这似乎是显而易见的,你是东,但不是一个外人谁第一次听到你的描述.
我不希望您理解整个硬件和软件设置。 我只是问、这种波特率是否会影响通信延迟?
我没有看到19200和115200波特率 UARTTX 信号的波形;这样做之后、我将马上与您联系。
您好、Tom、
[报价 userid="542829" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1440056/tm4c1294ncpdt-communication-error/5529888 #5529888"]并且我看不到19200和115200波特率 UARTTX 信号的波形;一旦我输入该波形、我将立即与您联系。我没有听到你的声音。 希望您自己解决了这个问题。 我现在将结束该主题。 如果您有任何更新、您可以写入此帖子、并且状态将更改为"打开"。