MSP430F5438 clk, uart, timer 초기화

MSP430을 사용하면서 혹시모를 삽질을 위해 초기화에서 주의해야 할 점을 몇 가지!!

1. clk를 초기화 할 때

 unsigned int i;
  P5SEL |= 0x06;                            // Port select XT2      
        
  UCSCTL1 = 1;
  UCSCTL6 = XCAP_3;
  UCSCTL8 = 0;
  
  for(i=0; (i<0x7FFF) && (SFRIFG1&OFIFG); i++) {
          UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG); // Clear XT2,XT1,DCO fault flags
          SFRIFG1 &= ~OFIFG;
  }
  
  UCSCTL6 &= ~XT2DRIVE0;
  UCSCTL4 = SELA__XT1CLK | SELS__XT2CLK | SELM__XT2CLK; // ACLK(XT1),     MCLK/SMCLK(XT2)
  UCSCTL5 = DIVS_3; // MCLK (20M), SMCLK(2.5M), ACLK(32.768K)

msp430에서 clk를 초기화 시키지 않으면 모든게 동작하지 않는다.

2. uart RX interrupt 초기화 할 때
    UCA1IE |= UCRXIE; 

   를 해야줘야 인터럽트를 사용할 수 있다.

3. timer interrupt를 사용하기 위해서
    P7.0, P7.1를 select해줘야 인터럽트 벡터로 점프한다.

댓글

이 블로그의 인기 게시물

HP 서버 OS 설치시 HDD를 잡지 못하는 문제

python-gdal 설치

Mysql JOIN 사용시 컬럼이름 중복해결