| Electronic Components Datasheet Search |
|
AS89010 Datasheet(PDF) 36 Page - ams-OSRAM AG |
|
|
|||||||||||||||||||||||||||||
AS89010 Datasheet(HTML) 36 Page - ams-OSRAM AG |
|
36 / 43 page ![]() ams.com db12348e_V3.11_preliminary_2017-07-06 Page 34 of 41 AS89010 V3.11 The following pseudo code illustrates the procedures for principle program steps for functions I2C-Write and I2C-Read. BOOL I2cMasterSendData(BYTE I2cAddr, USHORT RegAddr, BYTE *Data, SHORT Datasize) { BOOL ErrReturn = (Datasize > 0) ? TRUE : FALSE; BYTE ErrCode=0; ULONG WaitLoop; // clear RX I2C_ReceiveData(I2C_INTERFACE); // Datasize must be greater 0 while(ErrReturn==TRUE) { // send I2C START I2C_GenerateSTART(I2C_INTERFACE, ENABLE); // test for completion if(I2cWaitEvent(I2C_EVENT_MASTER_MODE_SELECT) == FALSE) { ErrCode = 0x81; ErrReturn = FALSE; break; } // send I2C slave address (R/W=Write) I2C_Send7bitAddress(I2C_INTERFACE, I2cAddr, I2C_Direction_Transmitter); // test for completion, TXE, master mode activ, TRA if(I2cWaitEvent(I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED) == FALSE) { ErrCode = 0x82; ErrReturn = FALSE; break; } // send register adress I2C_SendData(I2C_INTERFACE, RegAddr)); // data transmission loop while(Datasize--) { // wait for BTF if(I2cWaitEvent(I2C_EVT_BTF) == FALSE) { ErrCode = 0x84; ErrReturn = FALSE; break; } // send data byte I2C_SendData(I2C_INTERFACE, *Data); // prepare next Data++; |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |