У меня имеется МК msp430f425 и WiFi модуль SPB-106. WiFi я пока не трогал, а только припаял проводки синхроимпульса и MISO к MISO; MOSI к MOSI. Так же припаял к CS от WiFi к I/O порту МК и послал туда нолик.
И подготовил такой нехитрый код:
#include "msp430.h"
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; //Выключаю Watch Dog Timer
//ACLK = 32768 Гц
while(FLL_CTL0 & 3 );
// ======= Инициализация SPI =======
P1SEL = BIT6 + BIT7;
P2SEL = BIT1;
P2DIR |= BIT2;
P1DIR |= BIT4; // CS от Вай фая
P1OUT &= ~BIT4; //
U0CTL = CHAR+SYNC+MM+SWRST; // 8-bit SPI Master **SWRST**
U0TCTL = CKPH+SSEL1+STC; // SMCLK, 3-pin mode +SSEL0
U0BR0 = 0x002; // SPICLK = SMCLK/2
U0BR1 = 0x000;
U0MCTL = 0x000;
ME1 = USPIE0; // Module enable
U0CTL &= ~SWRST; // SPI enable
IE1 |= URXIE0; // Receive interrupt enable
_EINT(); // Enable interrupts
// =================================
unsigned char trn_word[6] = "Hello!";
while (1) {
for (int i=0; i<6; i++) {
while (!(IFG1 & UTXIFG0));
TXBUF0 = trn_word[i];
}
}
}
Смотрю на осциллограф и вижу такое
И такая характеристика постоянно повторяется. Если приглядеться, передается буква «H» и потом начинается следующая передача и что то падает. Как будто МК перезагружается, хотя WDT выключен.