INT 21h

Select language

MSP430G2231 и таймер

№ 2977 В разделах: Electronics Programming от June 15th, 2011,
В подшивках:

Это очень простой пример работы с таймером. Уверен, вы найдете ему более полезные применения. Давайте припаяем часовой кварц (32768 Гц) к микроконтроллеру и сделаем тестовую программу.

#include "msp430g2231.h"

#define DIOD 6 //диод на ноге P1.6

unsigned int timerCount = 0;

#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A0 (void) {
  timerCount = (timerCount + 1) % 8;
  if(timerCount ==0) {
  P1OUT &= ~(1 << DIOD);
  for(double i=0; i < 500 ; i++);
  P1OUT |= 1 << DIOD;  }
}

int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  //Initialize pins
  P1DIR |= 0xFF;
  
  //timer (oh, shit)
  TACCTL0 = CCIE;
  TACTL = TASSEL_2 | MC_2;

  __enable_interrupt();

  __bis_SR_register(LPM0 + GIE); /// LPM0  прерываниями
}

В итоге мы получим вот такую классную мигающую штуку. Зеленый светодиод на плате это и есть тот, которым мы мигаем.

Всего 1 комментарий »

One response to “MSP430G2231 и таймер”

  1. ZiB says:

    ну вот, а у меня бы так и пролежала в столе пока не выбросил 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Облачная платформа
Яндекс.Метрика

Fortune cookie: Today's spam: We can help.