AT32官方BSP里面提供了I2C的使用例程,极大的方便了我们使用I2C,代码位置:BSP里面的project\at_start_f403a\examples\i2c,该路径下有以下四个demo:
communication_dma -- 使用DMA进行传输
communication_int -- 使用中断进行传输
communication_poll -- 使用轮寻的方式传输
eeprom -- eeprom 使用示例
关于I2C传输数据的流程,官方已经封装了一个应用层,用户无需再关心数据传输流程,只需要调用相关接口初始化I2C,然后再调用相关接口传输数据即可,在以下两个文件中:
i2c_application.c
i2c_application.h
i2c_config -- 调用此函数初始化I2C
i2c_lowlevel_init -- 用户实现这个函数,完成I2C底层初始化,例如初始化GPIO、时钟、中断、DMA等
i2c_master_transmit -- 主机发送数据-轮询方式
i2c_master_receive -- 主机接收数据-轮询方式
i2c_slave_transmit -- 从机发送数据-轮询方式
i2c_slave_receive -- 从机接收数据-轮询方式
i2c_master_transmit_int -- 主机发送数据-中断方式
i2c_master_receive_int -- 主机接收数据-中断方式
i2c_slave_transmit_int -- 从机发送数据-中断方式
i2c_slave_receive_int -- 从机接收数据-中断方式
i2c_master_transmit_dma -- 主机发送数据-DMA方式
i2c_master_receive_dma -- 主机接收数据-DMA方式
i2c_slave_transmit_dma -- 从机发送数据-DMA方式
i2c_slave_receive_dma -- 从机接收数据-DMA方式
i2c_memory_write -- 写数据到EEPROM-轮询方式
i2c_memory_write_int -- 写数据到EEPROM-中断方式
i2c_memory_write_dma -- 写数据到EEPROM-DMA方式
i2c_memory_read -- 从EEPROM读数据-轮询方式
i2c_memory_read_int -- 从EEPROM读数据-中断方式
i2c_memory_read_dma -- 从EEPROM读数
AT32 I2C程序使用讲解
最新推荐文章于 2025-03-28 02:24:21 发布