问题状态
使用查询模式一直都正常,使用DMA发送只能正常发送一次。
网上的I2C配置例子:
添加链接描述
发送设置循环缓存这块好像没有移动必要可以自行考虑。
使用DMA 第一次能正常发送
问题原因解决方法
由于查询下处理是发送完后,立即处理的程序有对发送结束后进行一些必要的处理。DMA是异步的,我关闭了I2C的常规中断导致发送完成后没有对发送结束进行处理,导致状态没有清空只需要使能中断即可。
使用查询模式一直都正常,使用DMA发送只能正常发送一次。
网上的I2C配置例子:
添加链接描述
发送设置循环缓存这块好像没有移动必要可以自行考虑。
由于查询下处理是发送完后,立即处理的程序有对发送结束后进行一些必要的处理。DMA是异步的,我关闭了I2C的常规中断导致发送完成后没有对发送结束进行处理,导致状态没有清空只需要使能中断即可。