| データシートサーチシステム |
|
MCP9804-E/MS データシート(PDF) 46 Page - Microchip Technology |
|
|
|||||||||||||||||||||||||||||
MCP9804-E/MS データシート(HTML) 46 Page - Microchip Technology |
|
46 / 54 page ![]() MCP9804 DS22203A-page 46 © 2009 Microchip Technology Inc. /******************************************************************** * Function Name: ReadI2C2 * * Return Value: contents of SSP2BUF register * * Parameters: ACK = 1 and NAK = 0 * * Description: Read a byte from I2C bus and ACK/NAK * ********************************************************************/ unsigned char ReadI2C(unsigned char ACK) { while (SSPSTATbits.BF); SSPCON2bits.RCEN = 1; // enable master for 1 byte reception while (!SSPSTATbits.BF); // wait until byte received if ACK // ACKI2C(); // Give ACK else nACK(); return (SSPBUF); // return with read byte } /******************************************************************** * Function Name: AckI2C * * Return Value: void * * Parameters: void * * Description: Initiate ACK bus condition. * ********************************************************************/ void ACKI2C(void) { PIR1bits.SSPIF = 0; SSPCON2bits.ACKDT = 0; // set acknowledge bit state for ACK SSPCON2bits.ACKEN = 1; // initiate bus acknowledge sequence while(!PIR1bits.SSPIF); PIR1bits.SSPIF = 0; } /******************************************************************** * Function Name: nACKI2C * * Return Value: void * * Parameters: void * * Description: Initiate no-ACK bus condition. * ********************************************************************/ void nACK(void) { PIR1bits.SSPIF = 0; SSPCON2bits.ACKDT = NACK; //Disable ACK SSPCON2bits.ACKEN = 1; //Start ACK sequence while(!PIR1bits.SSPIF); //Wait for flag to set PIR1bits.SSPIF = 0; } /******************************************************************** * Function Name: WaitForACK * Return Value: void * Parameters: void * Description: * ********************************************************************/ void WaitForACK(void) { PIR1bits.SSPIF = 0; //Clear Interrupt while(!PIR1bits.SSPIF); //Wait for data received Interrupt PIR1bits.SSPIF = 0;//Clear Interrupt } |
|
リンク 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 |