完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我为 TC375 上的 I2C 编写了EVAL_BDPS_DRIVER 。 它用于与外部 I2C 设备通信。 该设备可提供 36 字节的数据。 我将突发大小设置为 1 个字,结果如期收到 9 个突发请求。
但是,在最后一个脉冲串请求之后,我又收到了一个由 RX FIFO 下溢引起的错误中断。 为什么会这样? 我几乎可以肯定,在处理完最后一个脉冲串请求后,我没有读取 RXD 寄存器。 我还已经检查了最后一个突发请求是否与单个请求一起出现,但据我可以调试(我只有可用的MINI_CONTROL2GO摆动器,它不会给你太多实时行为),看起来有 8 个突发请求和 1 个最后突发请求。 有谁知道 RX FIFO 下溢中断是怎么来的? |
|
相关推荐
1个回答
|
|
RX FIFO下溢中断是由于I2C接收FIFO中的数据被读取完后,没有及时重置FIFO导致的。在您的情况下,可能是在处理完最后一个脉冲串请求后,没有读取RXD寄存器并重新设置FIFO指针。
解决该问题的方法是在处理完最后一个脉冲串请求后,手动读取RXD寄存器中的数据并重置FIFO指针。这样可以确保接收FIFO不会溢出。 此外,您还可以检查一下最后一个突发请求是否与单个请求一起出现。通过调试或使用可用的MINI_CONTROL2GO摆动器等工具,确保最后一个突发请求的数量正确,避免出现9个请求导致的溢出。 希望以上解答可以帮助您解决问题!如有任何疑问,请随时追问。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
122 浏览 0 评论
565 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
772 浏览 0 评论
948 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
658 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12043 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 03:31 , Processed in 0.636923 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号