yacwc
This commit is contained in:
32
helpers_i2c.c
Normal file
32
helpers_i2c.c
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
#define TWI0_BAUD(F_SCL, T_RISE) \
|
||||
((((((float)10000000 / (float)F_SCL)) - 10 - ((float)10000000 * T_RISE / 1000000))) / 2)
|
||||
|
||||
#include "helpers_i2c.h"
|
||||
|
||||
void i2c_init(void) {
|
||||
PORTMUX.TWISPIROUTEA = 0x23;
|
||||
TWI0.CTRLA = 0x14;
|
||||
|
||||
//Debug Run
|
||||
TWI0.DBGCTRL = 0x00;
|
||||
|
||||
//Master Baud Rate Control
|
||||
TWI0.MBAUD = (uint8_t)TWI0_BAUD(100000, 0);
|
||||
|
||||
//RIEN disabled; WIEN disabled; QCEN disabled; TIMEOUT DISABLED; SMEN disabled; ENABLE enabled;
|
||||
TWI0.MCTRLA = 0x01;
|
||||
|
||||
//RIF disabled; WIF disabled; CLKHOLD disabled; ARBLOST disabled; BUSERR disabled; BUSSTATE UNKNOWN;
|
||||
TWI0.MSTATUS = 0x00;
|
||||
|
||||
//Master Address
|
||||
TWI0.MADDR = 0x00;
|
||||
|
||||
//FLUSH disabled; ACKACT ACK; MCMD NOACT;
|
||||
TWI0.MCTRLB = 0x00;
|
||||
|
||||
//Master Data
|
||||
TWI0.MDATA = 0x00;
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user