본문 바로가기
프로그래밍

ARM실습_GPIOx_ODR레지스터를 이용한 LED출력

by BlueOcean&Shark 2016. 12. 4.

앞서 환경설정 및 코딩까지 해서 빌드 후 다운로딩 해봤다.

오늘은 코딩하는 방법을 알아보자.


-----------------------------설명----------------------------------

#include "stm32f10x.h"
// 아래 RCC 나 GPIO 등의 레지스터들을 사용하기 위해
// 필수적으로 필요한 헤더이다.

int main(void)
{

//  보드 PC13번에 LED가 달려있기때문에
//  PC13 핀을 Out제어 할 것이다

// APB2ENR 버스에 클럭을 공급하겠다       
// 설정방법은 http://munshark.tistory.com/100   참고
    RCC->APB2ENR = 0x00000010;


//  PC13핀의 속도
//  PUSH PULL 또는 OPEN DRAIN 선택 
//  을 결정해준다.
//  설정방법은 
http://munshark.tistory.com/98  참고

     
GPIOC->CRH      = 0x00200000;

     
 while(1)
     
{
           //  GPIOC OUT을 설정(즉 LED ON/OFF)

        
   //  설정방법은  http://munshark.tistory.com/99  참고  
            GPIOC->ODR ^= 0x01<<13;

            for( uint32_t  i = 0 ; i < 72000000/32 ; i++)
            {
              
  //__NOP()는 딜레이를 주기위한것으로 무연산을 뜻한다.
                __NOP();  
       
     }
      }
 }

 

 

댓글