关于18f4520硬件spi和i2c不能同时使用的问题

2020-02-08 12:20发布

最近在设计硬件突然发现4520的spi和i2c是复用的,如何解决呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
surf_131
1楼-- · 2020-02-08 14:52
鉴于spi通常用于高速通信,最好将硬件让给spi。

iic的软模拟接口很成熟,特别是mcu作为主控的时候,你可以根据自己的忙闲程度来决定何时进行通信。你还可以人为地将你给出的时钟放慢,以便减轻MCU工作压力。我最近刚调通首个软IIC接口。感觉IIC的最大优势,是你能够比较清晰地了解从机是否正常,是否在与你进行往来应答。

当然,spi和iic都不是可以完全由中断驱动的,因此适合放在主循环中。你要规划好两者关系,避免相互争抢CPU资源。从整机运行的角度看,这二者其实都不如USRT好用,因为你可以将USRT操作完全放进中断,你只要处理好读和写缓冲区数据就行,不必关注这数据怎么来,怎么刷新。

一些新型号早已经具备大量串口,可以方便地利用。比如,比较新的pic18f26j13,28脚的芯片,具有2个usrt,1个iic,1个spi,可以同时引出运行。另外,该型号是12bit AD。

一周热门 更多>