| 전자부품 데이터시트 검색엔진 |
|
AS89010 데이터시트(PDF) 35 Page - ams AG |
|
|
|||||||||||||||||||||||||||||
AS89010 데이터시트(HTML) 35 Page - ams AG |
|
35 / 42 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++; |
|
링크 URL |
| ALLDATASHEET 가 귀하에 도움이 되셨나요? [ DONATE ] |
Alldatasheet는? | 광고문의 | 운영자에게 연락하기 | 개인정보취급방침 | 링크 투 데이터시트 | 링크교환 | 제조사별 검색 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 |