case I2C_EVENT_MASTER_BYTE_TRANSMITTING:/* Transmit Data */ I2C_SendData(I2C1, TxBuffer[Tx_Idx...
While (I2C_CheckEvent (I2C2,I2C_EVENT_MASTER_BYTE_TRANSMITTING)!=SUCCESS);//等待EV8事件发生I2C_SendData(I2C2,Data); While (I2C_CheckEvent (I2C2,I2C_EVENT_MASTER_BYTE_TRANSMITTED)!=SUCCESS);//等待EV8_2事件发生,终止I2C_GenerateStop(I2C2 ,ENABLE); } Uint8_t I2C_Read (Uint8_t RegAddress)...
首先初始化I2C接口IO和外设:使用PB8和PB9的I2C1外设。复制 void drv_i2c_gpio_init( void ){ GPIO...
I2C_EVENT_SLAVE_ACK_FAILURE : EV3_2 I2C_EVENT_SLAVE_STOP_DETECTED : EV4 I2C_EVENT_MASTER_MODE_SELECT : EV5 I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED : EV6 I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED : EV6 I2C_EVENT_MASTER_BYTE_RECEIVED : EV7 I2C_EVENT_MASTER_BYTE_TRANSMITTING : EV8 I2C_...
while(I2C_CheckEvent(EEPROM_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTING) == ERROR); // EV8事件被检测到(此时移位寄存器正在发送数据,而数据寄存器DR为空) // (发送data会被暂存到DR,直到移位寄存器发送完,再由DR转移到移位寄存器) I2C_SendData(EEPROM_I2C, data); ...
while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTING)) { if((i2c_timeout--) == 0) { ret = -4; goto I2CR_ERR; } } /* Enable the I2C peripheral */ I2C_GenerateSTART(I2C1, ENABLE); /* EV5 */ i2c_timeout = I2C_FLAG_TIMEOUT; ...
case I2C_EVENT_MASTER_BYTE_TRANSMITTING: if (_i2c_dev.tx_len - _i2c_dev.tx_idx > 0) { /* Send the first Data */ I2C_SendData(I2C1, _i2c_dev.TxBuffer[_i2c_dev.tx_idx]); _i2c_dev.tx_idx++; } else { I2C_ITConfig(I2C1, I2C_IT_BUF, DISABLE); ...
i2c_enable(I2Cx); if(ADDR_Length)//Á½×Ö½ÚµØÖ· { i2c_data_transmit(I2Cx, (uint8_t)((start_Addr & 0xFF00) >> 8)); I2C_Timeout = I2C_SHORT_TIMEOUT; //while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_BYTE_TRANSMITTING)) while(!i2c_flag_get(I2Cx, I2C_FLAG...
while(I2C_CheckEvent(EEPROM_I2C,I2C_EVENT_MASTER_BYTE_TRANSMITTING ) == ERROR); //第二次起始信号 //产生起始信号 I2C_GenerateSTART(EEPROM_I2C,ENABLE); while(I2C_CheckEvent(EEPROM_I2C,I2C_EVENT_MASTER_MODE_SELECT) == ERROR); //EV5事件被检测到,发送设备地址 ...
//while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_BYTE_TRANSMITTING)) while(!i2c_flag_get(I2Cx, I2C_FLAG_BTC)) { if((I2C_Timeout--) == 0) { Resume_IIC(I2C_LONG_TIMEOUT,I2Cx); return I2C_FAIL; } } i2c_data_transmit(I2Cx, (uint8_t)(start_Addr & 0x00FF)); ...