Part Number: MSP430FR5994
Other Parts Discussed in Thread: MSP430WARE
Tool/software: Code Composer Studio
Possible create universal function for hardware?
For examle function for I2C on different eUSCI
for B1
void I2C_init(unsigned int addr,unsigned int count,unsigned int dv){
UCB1CTLW0 = UCSWRST; // Software reset enabled
UCB1CTLW0 |= UCMODE_3 | UCMST | UCSYNC | UCSSEL__SMCLK; // I2C mode, Master mode, sync
UCB1CTLW1 |= UCASTP_2; // Automatic stop generated
UCB1BRW = dv; // baudrate divider
UCB1TBCNT = count; // number of bytes to be received
UCB1I2CSA = addr; // Slave address
UCB1CTLW0 &= ~UCSWRST; // clear reset register
UCB1IE |= UCRXIE0 | UCNACKIE; //receive interrupt enable
}
for B0 or A0, or A1 - change only name register
Why create one function for differnet eUSCI ? if use pointer to map port directly - create variable, up use memory and other overheads