MSP430 XT2 błąd w dokumentacji??

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

Reply to
Grzegorz Latocha
Loading thread data ...

//****************************************************************************** // 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 }

Reply to
invalid unparseable

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

Reply to
Darek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.