* .version: bumped version number to 2.4.8
[fw/sdcc] / 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
18   TRISBbits.TRISB1 = 1;
19   TRISBbits.TRISB0 = 1;
20
21 #else   /* all other devices */
22
23   TRISCbits.TRISC3 = 1;
24   TRISCbits.TRISC2 = 1;
25
26 #endif
27
28   SSPADD = addr_brd;
29
30   SSPCON1 |= 0x20;
31 }
32