Study/임베디드시스템및실험

[Exercise 04] 색깔 순서대로 LED 켜기

ansui 2023. 10. 17. 15:19

Exercise 04_색깔 순서대로 LED 켜기
 


< Additive Color Mixing Example >

 
0000 0001 → 빨강 (1<<0) 
0000 0010 → 초록 (1<<1)
0000 0100 → 파랑 (1<<2)
0000 0111 → 하얀색
 
0010 = 1<<1
0011 = 0010 | 1<<0
0001 = 0011 & ~(1<<1)
0101 = 0001 | 1<<2


< Excercise 04 >
> Exercise Objective
P2.0 LED 에 초록색 → 하늘색 파란색 분홍색 빨간색 노란색 흰색의 순서로 불이 들어오도록 설계하는 것이 이번 프로젝트의 목표이다
 
> 코드

#include "msp.h"
void main(void)
{ 
  WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD; //stop watchdog timer
  
  P2 -> DIR |= 0x07;
  int i;
  
  while(1) {
    P2 -> OUT = 0x02; //Green LED on
    for(i=0; i<100000; i++);
    
    P2 -> OUT = 0x06; //Sky LED on
    for(i=0; i<100000; i++); 
    
    P2 -> OUT = 0x04; //Blue LED on
    for(i=0; i<100000; i++); 

    P2 -> OUT = 0x05; //Pink LED on
    for(i=0; i<100000; i++);

    P2 -> OUT = 0x01; //Red LED on
    for(i=0; i<100000; i++);

    P2 -> OUT = 0x03; //Yellow LED on
    for(i=0; i<100000; i++);

    P2 -> OUT = 0x07; //White LED on
    for(i=0; i<100000; i++);
  }
}

 


자료는 이화여자대학교 윤명국 교수님의 임베디드시스템및실험 강의에서 가져온 것입니다.