X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=firmware%2Flib%2Fmsp430x2618.c;h=ed437d75d6ef03b9406b080cff45c7c3e1d510df;hb=c8bfdc4d07ad8331f3ca1db80185637b455ddf1b;hp=9409f56995ba33d6091743f14264eece0c253ec3;hpb=ed7afb6af8b3831d61a8ef6cba7592f17592af72;p=goodfet diff --git a/firmware/lib/msp430x2618.c b/firmware/lib/msp430x2618.c index 9409f56..ed437d7 100644 --- a/firmware/lib/msp430x2618.c +++ b/firmware/lib/msp430x2618.c @@ -128,7 +128,7 @@ void msp430_init_uart(){ //! Initialize the MSP430 clock. void msp430_init_dco() { - if(CALBC1_16MHZ!=0xFF && CALDCO_16MHZ!=0xFF){ + if(CALBC1_16MHZ!=0xFF){ //Info is intact, use it. BCSCTL1 = CALBC1_16MHZ; DCOCTL = CALDCO_16MHZ; @@ -137,8 +137,15 @@ void msp430_init_dco() { switch(*((int*)0xff0)){ default: case 0x6ff2: //f26f, the MSP430F2618 - BCSCTL1 = 0x8f; //CALBC1_16MHZ at 0x10f9 - DCOCTL = 0x7f; //CALDCO_16MHZ at 0x10f8 + DCOCTL = 0x00; + #ifndef DCOVAL + #define DCOVAL 0x8f + #endif + BCSCTL1 = DCOVAL; //CALBC1_16MHZ at 0x10f9 + /** Observed DCOCTL values: + 2618: 7f, 97 + */ + DCOCTL = 0x83; //CALDCO_16MHZ at 0x10f8 break; } }