Код для генератора LFXT1 следующий:
Код
#include <msp430g2231.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1DIR = BIT0;
P1OUT = BIT0;
P2DIR = BIT7;
P2SEL = BIT6+BIT7;
__bic_SR_register(OSCOFF);
BCSCTL1 = XTS + XT2OFF;
BCSCTL3 = LFXT1S_2;
do
{
IFG1 &= ~OFIFG;
_delay_cycles(10000);
}
while(IFG1 & OFIFG);
P1OUT = 0;
BCSCTL2 = SELM_3;
while(1)
{
P1OUT = BIT0;
_delay_cycles(8000);
P1OUT = 0;
_delay_cycles(16000);
}
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1DIR = BIT0;
P1OUT = BIT0;
P2DIR = BIT7;
P2SEL = BIT6+BIT7;
__bic_SR_register(OSCOFF);
BCSCTL1 = XTS + XT2OFF;
BCSCTL3 = LFXT1S_2;
do
{
IFG1 &= ~OFIFG;
_delay_cycles(10000);
}
while(IFG1 & OFIFG);
P1OUT = 0;
BCSCTL2 = SELM_3;
while(1)
{
P1OUT = BIT0;
_delay_cycles(8000);
P1OUT = 0;
_delay_cycles(16000);
}
}
На P1.0 - светодиод, в результате он мигает очень медленно, что соответствует частоте несколько кГц.
А также не включается бит XTS регистра BCSCTL1. Пробовал даже вручную прописать через отладчик - XTS не меняется, в отличие от других.
Что же делать?