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.

[参考译文] TMS570LS1224:RXWAKE SCI 标志设置和放大器;未清除(睡眠模式禁用)

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1589290/tms570ls1224-rxwake-sci-flag-set-not-cleared-sleep-mode-disabled

器件型号: TMS570LS1224

我们实现了一个简单的串行环回(每 20ms 调用一次)来测试接口。

注:睡眠模式已禁用

GetChar 函数接收一个字符、然后使用 PutChar 函数发送该字符。

在调用 GetChar 函数(在循环结束时)之前、我们会检查一些 SCI 标志(其中一个是 RXWAKE)的预期位状态。

当应用首次启动(无串行活动)时、RXWAKE 标志的值为 0 其“复位后的值“。

当从终端仿真器发送第一个字符时、RXWAKE 的值检查失败、因为它现在被设置为 1。

即使从缓冲区中读取并加载到发送器后、RXWAKE 标志也保持置位状态。

这种行为似乎与技术参考手册 (SPNU515C) 中的说明不对应、例如 RXWAKE 的说明指出 RXWAKE 在收到数据帧时被清除。

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

    尊敬的 Paulo:

    当您使用标准终端仿真器进行简单的串行环回通信时、很可能是这样 不会 才能在多处理器环境中运行。 该文件明确指出: “当 SCI 未在多处理器环境中使用时、软件可以将所有帧视为数据帧。 在这种情况下、空闲线模式和地址位模式之间的唯一区别是在使用地址位协议发送的每个帧中都存在一个额外的位(地址位)。“

    为什么 RXWAKE 设置为 1

    如果在中配置了 SCI 地址位模式 (SCICCR.3 = 1):

    • 每个字符帧包含一个额外的地址位
    • 您的终端仿真器正在发送标准的 RS 232 帧(例如 8N1)
    • SCI 将停止位或数据后的位解释为“地址位“
    • 如果该位恰好为“1",“,则、则 RXWAKE 将设置为 1
    • (1、2、4、5、0、 3) RXWAKE 将保持 1、直到接收到地址位为 0 的帧

    见解

    将 SCI 配置为标准串行通信的空闲线路模式:

    1. 设置 COMM MODE 位 (SCICCR.3)= 0 选择空闲线路模式
    2. 此模式与标准 RS –232 通信兼容
    3. 在此模式下、RXWAKE 行为将不同 — 仅在检测到空闲线路条件时才会设置

    注意:此响应由 TI 内部 AI 工具生成、我验证了正确性。

    --
    此致、
    Jagadish。