Rev 886 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 886 | Rev 903 | ||
---|---|---|---|
1 | 1 | ||
2 | #ifndef _I2C_MASTER_H |
2 | #ifndef _I2C_MASTER_H |
3 | #define _I2C_MASTER_H |
3 | #define _I2C_MASTER_H |
4 | 4 | ||
5 | 5 | ||
6 | #include <inttypes.h> |
6 | #include <inttypes.h> |
7 | 7 | ||
8 | //############################################################################ |
8 | //############################################################################ |
9 | 9 | ||
10 | // I2C Konstanten |
10 | // I2C Konstanten |
11 | #define SCL_CLOCK 200000L |
11 | #define SCL_CLOCK 200000L |
12 | #define I2C_TIMEOUT 30000 |
12 | #define I2C_TIMEOUT 30000 |
13 | #define I2C_START 0x08 |
13 | #define I2C_START 0x08 |
14 | #define I2C_REPEATED_START 0x10 |
14 | #define I2C_REPEATED_START 0x10 |
15 | #define I2C_TX_SLA_ACK 0x18 |
15 | #define I2C_TX_SLA_ACK 0x18 |
16 | #define I2C_TX_DATA_ACK 0x28 |
16 | #define I2C_TX_DATA_ACK 0x28 |
17 | #define I2C_RX_SLA_ACK 0x40 |
17 | #define I2C_RX_SLA_ACK 0x40 |
18 | #define I2C_RX_DATA_ACK 0x50 |
18 | #define I2C_RX_DATA_ACK 0x50 |
19 | 19 | ||
20 | //############################################################################ |
20 | //############################################################################ |
21 | 21 | ||
22 | extern volatile uint8_t twi_state; |
22 | extern volatile uint8_t twi_state; |
23 | extern volatile uint8_t motor; |
23 | extern volatile uint8_t motor; |
24 | extern volatile uint8_t motorread; |
24 | extern volatile uint8_t motorread; |
25 | extern volatile uint8_t motor_rx[8]; |
25 | extern volatile uint8_t motor_rx[2*MOTOR_COUNT]; |
26 | 26 | ||
27 | extern void I2C_Init (void); // Initialize I2C |
27 | extern void I2C_Init (void); // Initialize I2C |
28 | extern void I2C_Start (void); // Start I2C |
28 | extern void I2C_Start (void); // Start I2C |
29 | extern void I2C_Stop (void); // Stop I2C |
29 | extern void I2C_Stop (void); // Stop I2C |
30 | extern void I2C_WriteByte (int8_t byte); // Write 1 Byte |
30 | extern void I2C_WriteByte (int8_t byte); // Write 1 Byte |
31 | extern void I2C_Reset(void); // Reset I2C |
31 | extern void I2C_Reset(void); // Reset I2C |
32 | 32 | ||
33 | #endif |
33 | #endif |
34 | 34 |