aboutsummaryrefslogtreecommitdiffstats
path: root/build/default/production/i2c.i
diff options
context:
space:
mode:
Diffstat (limited to 'build/default/production/i2c.i')
-rwxr-xr-xbuild/default/production/i2c.i65
1 files changed, 32 insertions, 33 deletions
diff --git a/build/default/production/i2c.i b/build/default/production/i2c.i
index 2920dec..6e7f8bb 100755
--- a/build/default/production/i2c.i
+++ b/build/default/production/i2c.i
@@ -1752,56 +1752,55 @@ extern __bank0 __bit __timeout;
void I2C_Master_Init(const unsigned long freq_K)
{
- TRISC3 = 1; TRISC4 = 1;
+ TRISC3 = 1;
+ TRISC4 = 1;
- SSPCON = 0b00101000;
- SSPCON2 = 0b00000000;
+ SSPCON = 0b00101000;
+ SSPCON2 = 0b00000000;
- SSPADD = (20000000/(4*freq_K*100))-1;
- SSPSTAT = 0b00000000;
+
+ SSPADD = 49;
+
+
+ SMP = 1;
+ CKP = 0;
}
-void I2C_Master_Wait()
-{
- while ( (SSPCON2 & 0b00011111) || (SSPSTAT & 0b00000100) ) ;
+void I2C_Master_Wait() {
+ while ((SSPCON2 & 0b00011111) || (SSPSTAT & 0b00000100));
}
-void I2C_Master_Start()
-{
- I2C_Master_Wait();
- SEN = 1;
+void I2C_Master_Start() {
+ I2C_Master_Wait();
+ SEN = 1;
}
-void I2C_Master_Repeated_Start()
-{
+void I2C_Master_Repeated_Start() {
I2C_Master_Wait();
RSEN = 1;
}
-void I2C_Master_Stop()
-{
- I2C_Master_Wait();
- PEN = 1;
+void I2C_Master_Stop() {
+ I2C_Master_Wait();
+ PEN = 1;
}
-void I2C_Master_Write(unsigned data)
-{
- I2C_Master_Wait();
- SSPBUF = data;
+void I2C_Master_Write(unsigned data) {
+ I2C_Master_Wait();
+ SSPBUF = data;
}
-unsigned short I2C_Master_Read(unsigned short ack)
-{
- unsigned short incoming;
- I2C_Master_Wait();
- RCEN = 1;
+unsigned short I2C_Master_Read(unsigned short ack) {
+ unsigned short incoming;
+ I2C_Master_Wait();
+ RCEN = 1;
- I2C_Master_Wait();
- incoming = SSPBUF;
+ I2C_Master_Wait();
+ incoming = SSPBUF;
- I2C_Master_Wait();
- ACKDT = (ack)?0:1;
- ACKEN = 1;
+ I2C_Master_Wait();
+ ACKDT = (ack) ? 0 : 1;
+ ACKEN = 1;
- return incoming;
+ return incoming;
}