Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <msp430f149.h>
- long count = 0;
- #pragma vector = WDT_VECTOR
- __interrupt void watchdog_timer(void) {
- if (++count == 183) { // po podzieleniu przez DIVA_2 wychodzi 61 operacji na 1s, czyli 183 na 3s
- P1OUT ^= BIT5;
- count = 0;
- }
- // miganie diody po przez zastosowanie Xor'owania
- }
- void main(void) {
- unsigned int i;
- WDTCTL = WDTPW + WDTHOLD;
- P1DIR |= BIT5;
- // wyłączenie układu WDT
- // bit P 1 jako wyjście
- BCSCTL1 |= XTS + DIVA_2; // podzielnik ustawiamy na 4
- do {
- IFG1 &= ~OFIFG;
- for (i = 255; i > 0; i--);
- // Czyszczenie flgi OSCFault
- // odczekanie
- }
- while ((IFG1 & OFIFG));
- // dopóki OSCFault jest ciągle ustawiona
- WDTCTL = WDT_ADLY_1000; // czyszczenie WDT ustaienie w tryb interval ACLK
- IE1 |= WDTIE; // Włączenie przerwań od WDT
- _EINT(); // Włączenie przerwań
- while (1); //infinity loop ;)
- }
Add Comment
Please, Sign In to add comment