我正在尝试使用 dsPIC33 微控制器从多个 I2C 从设备中读取数据。
我希望有人能建议我使用定时器中断(在本例中为 timer1)并收集 I2C 数据的正确方法。
到目前为止,我可以通过在 while 循环中循环从 I2C 从设备很好地收集数据,但是由于尝试添加定时器中断(所以我可以应用自己的采样率而不是“尽可能快地收集”)我的 I2C 软件司机卡住了。
我尝试过使用非常低的计时器速度(目前为 1Hz),并且 I2C 处于标准的 100KHz 速度。PIC 以 80MHz 的频率处理。
使用定时器和 I2C 模块的正确方法是什么?我在网上看了看,似乎这可能是中断优先级的问题,因为在使用 timer1 时,我在中断(timer1)中有一个中断(I2C),尽管到目前为止还没有运气。