Насколько корректен нижеприведённый код для работы с SPI на MSP430F1232?
void setup_spi() {
P3SEL |= BIT1 | BIT2 | BIT3;
U0CTL = SWRST | CHAR | SYNC;
U0TCTL = SSEL1;
U0BR1 = 0;
U0BR0 = 2;
U0MCTL = 0;
ME2 = USPIE0;
U0CTL &= ~SWRST;
}
void spi_transfer(uint8_t *tx_buffer, uint8_t *rx_buffer, uint16_t count) {
while (count--) {
while ((U0TCTL & TXEPT) == 0);
U0TXBUF = *tx_buffer;
tx_buffer++;
if (rx_buffer) {
while ((IRFG2 & URXIFG0) == 0);
*rx_buffer = U0RXBUF;
rx_buffer++;
}
}
}
Пытаюсь общаться с NRF24L01+. И мне нужно знать почему оно не работает. Хочу исключить вариант «кривой код работы с SPI».