From b3b3ddcc15879c61719285321e2033eef248f9be Mon Sep 17 00:00:00 2001 From: William Harrington Date: Wed, 7 Aug 2019 18:46:23 -0500 Subject: Break out SSPSTAT configuration for SMP and CKP and set SSPADD to a decimal number instead of a formula. --- i2c.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'i2c.c') diff --git a/i2c.c b/i2c.c index 5b3b707..04dcda1 100755 --- a/i2c.c +++ b/i2c.c @@ -12,8 +12,12 @@ void I2C_Master_Init(const unsigned long freq_K) //Begin IIC as master SSPCON = 0b00101000; //pg84/234 SSPCON2 = 0b00000000; //pg85/234 - SSPADD = (_XTAL_FREQ/(4*freq_K*100))-1; //Setting Clock Speed pg99/234 - SSPSTAT = 0b00000000; //pg83/234 + //SSPADD = (_XTAL_FREQ/(4*freq_K*100))-1; //Setting Clock Speed pg99/234 + SSPADD = 49; + + //SSPSTAT: SMP:CKE:D/!A:P:S:R/!W/:U:BF *U unimplemented read as 0 + SMP = 1; // Disable slew rate + CKP = 0; // Data transmitted on rising edge of SCK } void I2C_Master_Wait() -- cgit v1.2.3-54-g00ecf