MSP430 XT2 błąd w dokumentacji??

Dec 01, 2006 2 Replies

Witam! Mam problem z poprawnym uruchomieniem procesora na pełnej szybkości oscylatora XT2 w moim przypadku 8MHz.



Chcąc ustawić MCLK z XT2 należy włączyć ten oscylator oraz wybrać go jako źródło sygnału. W dokumentacji piszą, że aby włączyć XT2 należy wpisać 0 do rejestru BCSCTL1 BIT7. Wybór MCLK dokonujemy ustawiając 7 bit w rejestrze BCSCTL2.



Czyli robię tak: BCSCTL1 = 0x00; BCSCTL2 = 0x80;



i okazuje się, że szybciej działa (miga diodą) gdy zrobię:



BCSCTL1 = 0x80; BCSCTL2 = 0x80;



Wynika z tego, że XT2 włącza się 1 a nie zerem, proszę kogoś, kto to już uruchomił o sprawdzenie mojego doświadczenia i podanie poprawnego kodu na podpięcie XT2 do MCLK.



pozdrawiam Grzegorz Latocha


//****************************************************************************** // MSP-FET430P140 Demo - Basic Clock, MCLK Sourced from HF XTAL XT2 // // Description: Proper selection of an external HF XTAL for MCLK is shown // by first polling the OSC fault until XTAL is stable - only then is MCLK // sourced by XT2. MCLK is on P5.4. // ACLK= n/a, MCLK= XT2, SMCLK= DCO, // //* HF XTAL NOT INSTALLED ON FET *// // //* Min Vcc required varies with MCLK frequency - refer to datasheet *// // // MSP430F149 // ----------------- // /|\| XT2IN|- // | | | XTAL (455k - 8Mhz) // --|RST XT2OUT|- // | | // | P5.4|-->MCLK = XTAL // // // M. Buccini // Texas Instruments Inc. // Feb 2005 // Built with IAR Embedded Workbench Version: 3.21A //******************************************************************************

#include <msp430x14x.h>

void main(void) { volatile unsigned int i; WDTCTL = WDTPW + WDTHOLD; // Stop WDT P5DIR |= 0x10; // P5.4= output direction P5SEL |= 0x10; // P5.4= MCLK option select BCSCTL1 &= ~XT2OFF; // XT2= HF XTAL

do { IFG1 &= ~OFIFG; // Clear OSCFault flag for (i = 0xFF; i > 0; i--); // Time for flag to set } while ((IFG1 & OFIFG)); // OSCFault flag still set?

BCSCTL2 |= SELM_2; // MCLK= XT2 (safe)

for (;;); // Do nothing }

nie podam ci przepisu poniewaz kodu nie mam przy sobie, ale bez problemu to mozna zrobic. Jak to uruchamiasz? Debagujesz po jtagu? Sprawdzasz bit xtal failure - nie pamiętam czy w dokumentacji dokładnie tak to się nazywa? Jak nie dojdziesz do tego sam to we wtorek mogę ci wysłać kawałek kodu - pod C. Wiesz co hmm... nie wiem czy na ti w notach aplikacyjnych nie znajdziesz przykładu, lub w IAR w tutorialu.

Pozdrawiam Darek

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required