Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void I2C_NFC_Init(void){
- CLK_PeripheralClockConfig(CLK_Peripheral_I2C1,ENABLE);
- I2C_Init(I2C1,100000, 0xA0 , I2C_Mode_I2C, I2C_DutyCycle_2,
- I2C_Ack_Enable, I2C_AcknowledgedAddress_7bit);
- I2C_AcknowledgeConfig(I2C1,ENABLE);
- I2C_Cmd(I2C1,ENABLE);
- //sEE_LowLevel_Init();
- //DMA_Init();
- I2C_DMACmd(I2C1, ENABLE);
- }
- void i2c_ByteWrite(u8 I2C_Slave_Adress,u8 iData, u16 WriteAddr){
- I2C_GenerateSTART(I2C1,ENABLE);
- //I2C_Event_TypeDef teste = I2C_GetLastEvent(I2C1);
- while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT));
- I2C_Send7bitAddress(I2C1,(uint8_t)I2C_Slave_Adress,I2C_Direction_Receiver);
- while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED));//This while never stops
- /* Send Address (on 2 bytes) of first byte to be written & wait event detection */
- I2C_SendData(I2C1,(u8)(WriteAddr >> 8)); /* MSB */
- /* Test on EV8 and clear it */
- while (!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));
- I2C_SendData(I2C1,(u8)(WriteAddr & 0xFF)); /* LSB */
- /* Test on EV8 and clear it */
- while (!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));
- /* Send the byte to be written */
- I2C_SendData(I2C1,iData);
- /* Test on EV8 and clear it */
- while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));
- /* Send STOP condition */
- I2C_SendData(I2C1,iData);
- I2C_GenerateSTOP(I2C1,ENABLE);
- while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));
- I2C_GenerateSTOP(I2C1,ENABLE);
- //}
- }
- #define M24LR04_Addr 0xa6 //i'v tried 0x53 and 0xa7
- void main(void){
- I2C_DeInit(I2C1);
- I2C_NFC_Init();
- i2c_ByteWrite(M24LR04_Addr,temp,0x00);
- while(1){}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement