主题中讨论的其他器件:C2000WARE
你好
我正在编写一个由中断驱动的 SCI 驱动程序、以便在2个微控制器之间进行通信。 技术手册中不清楚如何检测块的末端?
我在启用 FIFO 的标准模式下使用 SCI。 根据技术手册、接收 FIFO 中断 RXINT 是 SCI FIFO 接收、接收错误和接收 FIFO 溢出的通用中断。 如何使用这些中断来检测消息结束? 例如、如果块(或消息)长度为20字节。 接收时、当 FIFO 满时、我将获得 RXINT。 我将这些字节移动到本地缓冲区、然后等待剩余块。 现在、只剩下4个字节。 当接收到4个字节、然后线路空闲时、接收 FIFO 是否会生成 RXINT 中断? 如果是、那么是否有任何标志来指示这个中断是由空闲时间引起的?
我还检查了多处理器通信中的空闲线模式。 但是、由于线路处于闲置状态的时间超过10位、这只会检测一个空闲线路之后的块开始、而不是一个块结束。 在第19.8.1节中、步骤4: "如果 CPU 正在被寻址、则服务例程会清除睡眠位并接收数据块的其余部分。" --它如何通过中断检测块的末尾? (我希望线路为空闲状态、以指示块结束)
非常感谢你的帮助。
Zubair Hameed