티스토리 뷰
우선 각종 기능들을 사용하고 싶으면 기본적으로 클럭인가를 시켜줘야 사용이 가능합니다.
밑에 그림을 보면 APB2, APB1으로 접근하기 전에 RCC클럭인가를 해줘야 사용이 가능 하다는것을 알 수 있습니다
ARM은 주소값으로 접근해서 레지스터값을 바꾸는 방식을 사용합니다
앞으로 많이 보게 될 주요 레지스터 주소값입니다.
클럭 인가를 시켜주는 레지스터는RCC_APB2ENR입니다.
저희가 ON시켜주려는 LED는 PB5이므로 PORTB에 클럭을 ENABLE시켜 줍니다
클럭을 ENABLE시켜주고 다음으로 GPIO관련 레지스터 설정을 해보도록 하겠습니다.
GPIO관련 레지스터들 입니다.
#define RCC_BPB2ENR (*(volatile unsigned int*)0x40021018)
#define GPIOB_ODR (*(volatile unsigned *)0x40010C0C)
#define GPIOB_CRL (*(volatile unsigned *)0x40010C00)
int main()
{
//클럭인가
RCC_BPB2ENR &= 0xfffffff0; //변경하려는 비트만 0으로 초기화
RCC_BPB2ENR |= 0x00000008; //portB 클럭인가
//Port output data
GPIOB_ODR &= 0xffffff0f; //변경하려는 비트만 0으로 초기화
GPIOB_ODR |= 0x00000020; // pb5 Port output data
//인아웃모드설정
GPIOB_CRL &= 0xff0fffff; //변경하려는 비트만 0으로 초기화
GPIOB_CRL |= 0x00100000; //PB5 pushpull // outputmode max speed 10mhz
}
'arm cortex-m3' 카테고리의 다른 글
stm32 cortex-m3(STM32F103C8T6)led를 깜박여보자(2)!!!!! (0) | 2015.08.14 |
---|---|
stm32 cortex-m3(STM32F103C8T6)led를 깜박여보자(1)!!!! (0) | 2015.08.14 |
stm32에서 cortex-m3 led를 켜보자!!(프로그램 다운로드 방법,굽기방법) (0) | 2015.08.14 |
flash loader 를 사용해서 arm cortex-m3에 다운로드하기 (0) | 2015.08.14 |
cortex-m3 Keil uVision5프로그램을 사용해서 프로젝트 생성하기(1) (0) | 2015.08.14 |