로봇쟁이 2024. 6. 28. 13:52

MSP430G2553에 GPIO PIN은 그냥 몇개 포진되어 있는데 그중에 P1.0 에 연결되어 있는 LED

를 제어 해보려고 한다.

 

Clock이니 뭐니는 일단 뒤로 미뤄놓고 (실제로는 매우 중요하다...)

GPIO만 데이트시트에서 찾아보면 다음과 같이 몇가지 레지스터가 있다.

이 레지스터를 코드에서 설정하면 GPIO 제어가 가능하다..

 

 

 

위 두개의 레지스터만 이용하면 일단 LED는 켜지고 꺼지는 부분은 확인 할 수 있다.

그럼 코드를 보자.

#include <msp430.h> 


int main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
	P1DIR |= 0x01;

	while(1)
	{
	    P1OUT |= 0x01;
	}
}

 

굉장히 단순히 LED를 켜지도록 만들어 놓은 코드이다.

 

간단히 코드를 설명하면

기본적으로 프로젝트 생성시 msp430.h 를 include하고 watchdog timer를 중단하는 코드가 자동 생성된다.

프로젝트 생성 당시 본인이 사용하는 msp430XXXXXXXX 뒤에 해당하는 부분을 정확히 선정해야 한다.

 

P1DIR 은 데이터시트에 나와 있는 대로 Port 의 방향을 설정함으로 0번핀을 출력으로 설정한다.

P1OUT 은 Port의 출력을 무엇으로 설정할지 정하는 부분임으로 HIGH를 출력하도록 했다.

 

매우 간단한 코드임으로 이정도로 LED는 마무리 하면 되겠다.

 

그럼 이만

반응형