Imported Upstream version 2.9.0
[debian/cc1111] / device / lib / pic16 / libio / i2c / i2copen.c
1
2 #include <pic18fregs.h>
3
4 #include <i2c.h>
5
6 void i2c_open(unsigned char mode, unsigned char slew, unsigned char addr_brd)
7 {
8   SSPSTAT &= 0x3f;
9   SSPCON1 = 0;
10   SSPCON2 = 0;
11   SSPCON1 |= mode;
12   SSPSTAT |= slew;
13
14
15 #if defined(pic18f2455) || defined (pic18f2550) \
16     || defined(pic18f4455) || defined (pic18f4550) \
17     || defined(pic18f66j60) || defined(pic18f66j65) || defined(pic18f67j60) \
18     || defined(pic18f86j60) || defined(pic18f86j65) || defined(pic18f87j60) \
19     || defined(pic18f96j60) || defined(pic18f96j65) || defined(pic18f97j60)
20
21   TRISBbits.TRISB1 = 1;
22   TRISBbits.TRISB0 = 1;
23
24 #else   /* all other devices */
25
26   TRISCbits.TRISC3 = 1;
27   TRISCbits.TRISC2 = 1;
28
29 #endif
30
31   SSPADD = addr_brd;
32
33   SSPCON1 |= 0x20;
34 }
35