您好!
我正在尝试接收波特率为100kbps 的大小为600字节的数据包。我将 GPIO2中断配置为 FIFO 阈值(将在 FIFO 中每提交100个字节中获得一次中断)。当我在收到中断(在中断处理程序内)后立即尝试读取100字节数据包时 一切都正常、我能够正确读取所有600字节的数据包。但当我尝试读取此 FIFO 数据时、会发出中断(在中断中、我只是在任务中设置标志、我会一直检查此标志) 由于这种情况、我从 FIFO 读取错误的数据包、所以无法正确获得中断。我比较了 FIFO 读取任务所需的时间、从 FIFO 读取100个字节所需的时间更短。 在两个中断之间、我应该得到8ms 的间隔(100字节100kbps 波特率、100 * 8 = 800位读取800位无线电将花费8ms)。我的 FIFO 读取任务只需要2ms 的时间、但仍然缺少数据包。这是无线电问题、因为时间 我正在使用长度为100 - 200字节的小数据包、我能够正确接收(获得 GPIO 中断)完整数据包。
有人能不能建议任何解决方案来解决高波特率下的这一长数据包问题。
我正在使用 MKL17Z64VFM4 处理器。