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.
您好!
我正在尝试在主控模式下使用 TMS570LC4357。 我发送报头并接收来自另一个电路板(Arduino)的响应。 但是、在几次传输后、我会得到一个组帧错误并且传输停止。 我不明白为什么帧错误只在一段时间后发生? 接收到报头后、我立即在 LIN 总线上发送响应。 两端使用相同的波特率。 我不知道 Hercules 板的内部以及它如何检测组帧错误。 我尝试用8N1和8N2发送 reponse。 两者都有相同的问题。 为什么 Hercules 电路板检测到停止位错误?
谢谢、
S
您好 Sa、
在发送响应之前、您是否检查总线忙标志或 NRE 标志?
尊敬的 S:
我不知道 Arduino 部件。 SCIFLR 寄存器的#3位是总线忙位。 在接收到报头的第一个位时总线忙标志被置位、直到报头接收完成、并且在接收到响应的第一个位时再次被置位。
TRM 建议执行以下序列:
1、一旦报头接收完成(轮询 RXID 标志)、等待总线忙标志置1或 NRE 标志置1。
2.如果在 NRE 标志之前总线忙标志未被置位、那么这是一个真正的无响应情况(没有数据被传送到总线上)。
3.如果总线忙标志被置位、那么等待 NRE 标志被置位或成功接收。 如果 NRE 标志被置位、那么在这种情况下总线上发生了一个冲突。
您好 QJ、
如何在发生 NRE 或 FE 错误时清除这些标志?
谢谢、
S