Questions:硬件和软件同时去访问 USB RAM buffer 造成数据乱掉或丢失 造成乱码流程:
-
软件设置 USB Valid
-
关总中断,USB 收数据到 RAM Buffer,此时 USB 为 NAK
-
USB 中断不能及时响应,此时软件再次将 USB 置 Valid,开总中断
-
此时 USB 中断产生,软件读取接收 RAM Buffer 数据,但此时 USB 的状态是 Valid,USB 同 时也会收数据到 RAM Buffer。这样就会导致数据乱掉或者丢数据
Answer: 软件将 USB 收到的数据处理之后再置 USB Valid,以避免硬件和软件同时访问 USB 接收 Buffer。 |