您好专家、
我的客户将 F280025用于电源模块、他们的客户使用不同的波特率、他们必须在不复位 C2000的情况下实现这一点。
它们使用“SCI_lockAutobaud (SCIA_BASE)”来执行自动频带测试, 而在初始阶段发送‘A’或‘A’将激活自动波特率模式,如果需要更改频带速率,复位 DSP 会在新的频带速率中再次发送字符。
有一些问题:
- 函数中有以下代码:
//等待正确读取'A'或'A'并锁定
while ((HWREGH (base + SCI_O_FFCT)& SCI_FFCT_Abd)!= SCI_FFCT_Abd)
{
}
这意味着 CPU 将在这里等待,直到接收到‘A’或‘A’等字符为止不执行任何操作
客户尝试使用“if”替换“while”,以便 CPU 在没有收到“A”或“A”但通信失败时执行其他任务;
为什么会发生这种情况?
C2000能否实现能够识别整个通信周期内自动波特率的功能?
BR
Emma