GD32硬件IIC+DMA程序,使用的IIC时序如下。
写寄存器操作为:
START+ACK(从机的ACK信号)+IIC设备地址+(从机的ACK信号)+START+ACK(从机的ACK信号)+IIC写寄存器地址+ACK(从机的ACK信号)+IIC写数据(4Byte,每个数据后都有ACK)+STOP
读寄存器操作为:
START+ACK(从机的ACK信号)+IIC设备地址+(从机的ACK信号)+START+ACK(从机的ACK信号)+IIC读寄存器地址+ACK(从机的ACK信号)+IIC读数据(4Byte,前n个数据后都有(主机发送的)ACK,最后1byte数据后如果发ACK,表示还有数据要读,如果最后1byte数据后为NACK,后面紧接着就是停止位)+STOP
2021-05-14 16:24:25
18.48MB
GD32
1