Subversion Repositories Code-Repo

Rev

Rev 273 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 273 Rev 275
Line 40... Line 40...
40
 
40
 
41
    SSP1STAT = 0x0;
41
    SSP1STAT = 0x0;
42
    SSP1CON1 = 0x0;
42
    SSP1CON1 = 0x0;
43
    SSP1CON2 = 0x0;
43
    SSP1CON2 = 0x0;
44
    SSP1CON1bits.SSPM = 0x8; // I2C Master Mode
44
    SSP1CON1bits.SSPM = 0x8; // I2C Master Mode
45
    if (!speed) {
45
    if (speed == 0x01) {
46
        SSPADD = 0x13;          // Operate at 400KHz (32MHz)
46
        SSP1ADD = 0x13;         // Operate at 400KHz (32MHz)
-
 
47
        SSP1STATbits.SMP = 1;    // Disable Slew Rate Control
-
 
48
    } else if (speed == 0x02) {
-
 
49
        SSP1ADD = 0x07;         // Operate at 1Mhz (32Mhz)
-
 
50
        SSP1STATbits.SMP = 1;    // Disable Slew Rate Control
47
    } else {
51
    } else {
48
        SSPADD = 0x4F;          // Operate at 100KHz (32MHz)
52
        SSP1ADD = 0x4F;         // Operate at 100KHz (32MHz)
-
 
53
        SSP1STATbits.SMP = 0;    // Enable Slew Rate Control
49
    }
54
    }
50
    SSP1STATbits.SMP = 1;    // Disable Slew Rate Control
-
 
51
    SSP1CON1bits.SSPEN = 1;  // Enable MSSP1 Module
55
    SSP1CON1bits.SSPEN = 1;  // Enable MSSP1 Module
52
}
56
}
53
 
57
 
54
// Sends length number of bytes in msg to specified address (no R/W bit)
58
// Sends length number of bytes in msg to specified address (no R/W bit)
55
void I2C1_Master_Send(uint8_t address, uint8_t length, uint8_t *msg) {
59
void I2C1_Master_Send(uint8_t address, uint8_t length, uint8_t *msg) {