ch573要读写I2C器件,只能用GPIO端口模拟的吗?

如题,刚好要用到I2C器件,发现没有硬件支持.如果用GPIO端口模拟,软件硬件需要注意点什么呢?

比如是否需要用代码专门处理GPIO.模拟成开漏的方式?

我在博客园看到了一篇博客,博主说代码适用于ch573,ch579,但是我看代码里面有些单个函数的延时,明显超过了625us的一半时间,估计会引起蓝牙通信的问题吧?

有没有成熟的例子参考一下?

573系列没有硬件IIC,只能软件模拟。

超过了625us的一半时间”与625us这个数值没关系,与连接间隔有关。TMOS任务运行时间不超过连接间隔的一半就好。连接间隔需要主机与从机协商,可以调节,会体现在串口打印信息中。以从机例程连手机的BLE调试助手为例,连接间隔假设是80ms,运行软件模拟IIC的TMOS任务和其他TMOS逻辑加起来,不要在一次间隔期间超过40ms即可。


@TECH_JWCH573的BLE_UART当前设定的连接间隔是多久,逻辑需要加个LCD刷屏函数,占用时间比较久,不清楚是否要拆分成独立区域的刷新以减少LCD刷新handler的时间占用


连接间隔是需要主机与从机进行协商的,协商结果会在芯片打印信息中体现,16进制数,单位是1.25ms,如下图。

03585e5f385cc2a85247b87eadd1934.jpg

关于连接间隔,下面有篇博客以供参考。

蓝牙 BLE连接参数 连接间隔讲解 connection interval Slave latency timeout CH573 CH582 CH579 peripheral通用外设例子讲解四 - debugdabiaoge - 博客园 (cnblogs.com)


只有登录才能回复,可以选择微信账号登录