void i2c_dma_end_transfer_set(i2c_type *i2c_x, confirm_state new_state) 功能: 指示当前传输是否是最后一笔数据 参数: i2c_x:已经介绍过,不在赘述 new_state:TRUE将要传输最后一笔数据,FALSE将要传输不是最后一笔数据 例子: i2c_dma_end_transfer_set(I2C1, TRUE);将要传输最后一笔数据
void i2c_dma_enable(i2c_type *i2c_x, confirm_state new_state) 功能: DMA传输使能 参数: i2c_x:已经介绍过,不在赘述 new_state:TRUE使能DMA传输,FALSE关闭DMA传输 例子: i2c_dma_enable(I2C1, TRUE);DMA传输使能
void i2c_interrupt_enable(i2c_type *i2c_x, uint16_t source, confirm_state new_state) 功能: I2C中断使能 参数: i2c_x:已经介绍过,不在赘述 source:中断源选择 I2C_DATA_INT:数据传输中断 I2C_EV_INT:事件中断 I2C_ERR_INT:错误中断 new_state:TRUE对应中断使能,FALSE对应中断关闭 例子: i2c_interrupt_enable(I2C1, I2C_DATA_INT | I2C_EV_INT , TRUE);数据传输中断、事件中断使能
void i2c_start_generate(i2c_type *i2c_x) 功能: 产生起始条件(主机使用) 参数: i2c_x:已经介绍过,不在赘述 例子: i2c_start_generate(I2C1);在总线上产生起始条件
void i2c_stop_generate(i2c_type *i2c_x) 功能: 产生停止条件 参数: i2c_x:已经介绍过,不在赘述 例子: i2c_stop_generate(I2C1);在总线上产生停止条件
void i2c_7bit_address_send(i2c_type *i2c_x, uint8_t address, i2c_direction_type direction) 功能: 发送7位从机地址(主机使用) 参数: i2c_x:已经介绍过,不在赘述 Address:待发送的7位从机地址 direction:传输方向 I2C_DIRECTION_TRANSMIT:主机发送数据 I2C_DIRECTION_RECEIVE:主机接收数据 例子: i2c_7bit_address_send(I2C1, 0x68, I2C_DIRECTION_TRANSMIT);主机发送地址0x68,数据传输方向为主机发送数据
void i2c_data_send(i2c_type *i2c_x, uint8_t data) 功能: 发送数据 参数: i2c_x:已经介绍过,不在赘述 data:待发送的数据 例子: i2c_data_send(I2C1, 0x21);发送数据0x21
uint8_t i2c_data_receive(i2c_type *i2c_x) 功能: 接收数据 参数: i2c_x:已经介绍过,不在赘述 return:返回接收到的数据 例子:val = i2c_data_receive(I2C1);接收数据
flag_status i2c_flag_get(i2c_type *i2c_x, uint32_t flag) 功能: 获取标志状态 参数: i2c_x:已经介绍过,不在赘述 flag:标志 I2C_STARTF_FLAG:起始条件产生完成标志 I2C_ADDR7F_FLAG:地址匹配标志 I2C_TDC_FLAG:数据传输完成标志 I2C_ADDRHF_FLAG:主机 9~8 位地址头匹配标志 I2C_STOPF_FLAG:主机 9~8 位地址头匹配标志 I2C_RDBF_FLAG:接收数据缓冲器满标志 I2C_TDBE_FLAG:发送缓冲器空标志 I2C_BUSERR_FLAG:总线错误标志 I2C_ARLOST_FLAG:仲裁丢失标志 I2C_ACKFAIL_FLAG:应答失败标志 I2C_OUF_FLAG:溢出标志 I2C_PECERR_FLAG:PEC 接收错误标志 I2C_TMOUT_FLAG:SMBus 超时标志 I2C_ALERTF_FLAG:SMBus 提醒标志 I2C_TRMODE_FLAG:传输模式 I2C_BUSYF_FLAG:总线忙标志 I2C_DIRF_FLAG:传输方向标志 I2C_GCADDRF_FLAG:广播地址接收标志 I2C_DEVADDRF_FLAG:SMBus 设备地址接收标志 I2C_HOSTADDRF_FLAG:SMBus 主机地址接收标志( I2C_ADDR2_FLAG:接收到地址 2 标志 例子:i2c_flag_get(I2C1, I2C_STARTF_FLAG);
void i2c_flag_clear(i2c_type *i2c_x, uint32_t flag) 功能: 清除标志状态 参数: i2c_x:已经介绍过,不在赘述 flag:标志 I2C_BUSERR_FLAG:总线错误标志 I2C_ARLOST_FLAG:仲裁丢失标志 I2C_ACKFAIL_FLAG:应答失败标志 I2C_OUF_FLAG:溢出标志 I2C_PECERR_FLAG:PEC 接收错误标志 I2C_TMOUT_FLAG:SMBus 超时标志 I2C_ALERTF_FLAG:SMBus 提醒标志 例子:i2c_flag_clear(I2C1, I2C_BUSERR_FLAG);清除bus error标志
|