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.

[参考译文] CCS/TMS320F28377S:SCI RS485问题

Guru**** 2024750 points
Other Parts Discussed in Thread: ISO3082
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/731410/ccs-tms320f28377s-sci-rs485-problem

器件型号:TMS320F28377S
主题中讨论的其他器件:ISO3082

工具/软件:Code Composer Studio

您好!

我正在尝试实现 Modbus 协议。 

经过多次尝试和论坛的帮助、我终于成功地正确接收了帧、但我遇到了另一个问题。
当我在中断中拾取帧时、我必须将 RS485切换到发送模式(我使用连接到 DE RS485的 GPIO19执行此操作)。
当我执行这些操作时、我会得到 FE 和 PE 等错误标志。 有没有人知道会发生什么错误?

我输入我的代码

此致
Szymon

中断 void scicRxFifoIsr (void)
{
Uint16i = 0;
uint16 z = 0;
while (ScicRegs.SCIFFRX.bit.RXFFST!= 0){
RxMODBUS[I]=ScicRegs.SCIRXBUF.ALL;
i++;//读取数据}
for (z=0;z<500;z++){
}
}

GpioDataRegs.GPASET.bit.GPIO19=1;

ScicRegs.SCIFFRX.bit.RXFFOVRCLR=1;//清除溢出标志
scicRegs.SCIFFRX.bit.RXFFINTCLR=1;//清除中断标志

PieCtrlRegs.PIEACK.All|=0x80; //发出 PIE ACK
}

void scia_fifo_init()
{
ScicRegs.SCICCR.all = 0x0067; // 1停止位,无环回
//无奇偶校验,8个字符位,
//异步模式,空闲线协议
ScicRegs.SCICTL1.all = 0x0003; //启用 TX、RX、内部 SCICLK、
//禁用 RX ERR、SLEEP、TXWAKE
ScicRegs.SCICT2.bit.TXINTENA=0;
ScicRegs.SCICT2.bit.RXBUKINTENA=1;
ScicRegs.SCIHBAUD.ALL = 0x0000;
ScicRegs.SCILBENA.ALL = 0x00A2;ScicRegs.SCICCR.OAUD = 0.PO.AUD
= 0x0000 //启用环回
ScicRegs.SCIFFTX.ALL = 0xC021;
ScicRegs.SCIFFRX.ALL = 0x0028;
ScicRegs.SCIFFCT.ALL = 0x00;

ScicRegs.SCICTL1.ALL = 0x0023; //从复位
ScicRegs.SCIFFTX.bit.TXFIFORESET 中撤回 SCI = 1;
ScicRegs.SCIFFRX.bit.RXFIFORESET = 1;
} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Syzmon:

    如果遇到帧和/或奇偶校验错误、您可能需要使用示波器来监控 SCI 引脚。 假设数据线路上有一些非消息干扰或其他活动、会导致 SCI 模块混淆帧的开始或结束位置或帧的内容。

    您使用的是哪款 RS-485收发器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Devin、

    我使用了 ISO3082。

    当我读取 FIFO 时、帧是我所期望的、但错误标志会出现、这样我就不能再次处理中断

    。 当我移除 GPIO19状态更改部件时、一切正常。

    此致
    Szymon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Szymon、

    祝你好运吗? 除了观察 SCI 引脚和示波器来查看错误是如何引入到消息之外、我认为没有太多事情要做。