#include "stm32f10x.h" void TIM2_IRQHandler(); //함수 선언 unsigned int count=0; int main(void) { RCC->APB2ENR|=0x8; //GPIOB 활성화 RCC->APB1ENR|=0x1; //TIM2 활성화 NVIC->ISER[0]|=(0x1ARR = 7199; // period TIM2->PSC = 99; // prescaler NVIC->IP[28]=0x01; //인터럽트 우선순위를 설정하는 레지스터입니다(지금은 사용하지 않습니다) TIM2->DIER=0x1; //360p 1: Update interrupt enabled. TIM2->EGR=0x1; //363p GPIOB->CRL=(0x3
전과 다르게 추가된 소스만 설명하도록 하겠습니다. 스위치를 추가해 보도록 하겠습니다. 스위치 관련 주소입니다 mode00으로 설정하고 CNF를 01(floatin input)으로 설정floating input일 경우에는 회로가 끊어진 상태이면 1이고 ground와 연결되어 있으면 0입니다. 스위치 값을 읽을 수 잇는 레지스터 입니다쓰는것은 불가능하고 읽는것만 가능합니다 #define RCC_APB2ENR (*(volatile unsigned int*)0x40021018) #define GPIOB_BSRR (*(volatile unsigned *)0x40010C10) #define GPIOB_CRL (*(volatile unsigned *)0x40010C00) #define GPIOA_CRL (*(vo..
stm32 cortex-m3(STM32F103C8T6)led를 깜박여보자(1)!!!!! 글에서는 GPIOB_ODR 레지스터를 사용해서 LED를 깜박여 보았는데요.GPIOB_ODR 레지스터를 사용해서 LED를 깜박이면 레지스터를 32개 모두 건들여 주기 때문에 비효율적일 수 있습니다. 그래서 GPIOB_BSRR 레지스터를 사용해서 깜박여보도록 하겠습니다. GPIOB_BSRR레지스터를 사용하면 비트 1개만 건들여서 LED를 제어할 수 있기 때문에 실행속도가 매우 빨라집니다 #define RCC_BPB2ENR (*(volatile unsigned int*)0x40021018) #define GPIOB_BSRR (*(volatile unsigned *)0x40010C10) #define GPIOB_CRL (*(..
#define RCC_BPB2ENR (*(volatile unsigned int*)0x40021018) #define GPIOB_ODR (*(volatile unsigned *)0x40010C0C) #define GPIOB_CRL (*(volatile unsigned *)0x40010C00) int main() { int i=0; //클럭인가 RCC_BPB2ENR &= 0xfffffff0; //변경하려는 비트만 0으로 초기화 RCC_BPB2ENR |= 0x00000008; //portB 클럭인가 //인아웃모드설정 GPIOB_CRL &= 0xff0fffff; //변경하려는 비트만 0으로 초기화 GPIOB_CRL |= 0x00100000; //PB5 pushpull // outputmode max speed..
우선 각종 기능들을 사용하고 싶으면 기본적으로 클럭인가를 시켜줘야 사용이 가능합니다.밑에 그림을 보면 APB2, APB1으로 접근하기 전에 RCC클럭인가를 해줘야 사용이 가능 하다는것을 알 수 있습니다 ARM은 주소값으로 접근해서 레지스터값을 바꾸는 방식을 사용합니다앞으로 많이 보게 될 주요 레지스터 주소값입니다. 클럭 인가를 시켜주는 레지스터는RCC_APB2ENR입니다. 저희가 ON시켜주려는 LED는 PB5이므로 PORTB에 클럭을 ENABLE시켜 줍니다 클럭을 ENABLE시켜주고 다음으로 GPIO관련 레지스터 설정을 해보도록 하겠습니다. GPIO관련 레지스터들 입니다. #define RCC_BPB2ENR (*(volatile unsigned int*)0x40021018) #define GPIOB_OD..
우선 프로그램 다운로드시 주의할점!!! 우선 회로도는 다음과 같습니다. 회로도에서 boot1은 항상 0이기 때문에 boot0에 따라서 mainflashmemory 모드와 system memory모드로 나뉘게 됩니다.간단히 정리하면다운로드시에는 system memory 모드(GPI 1,2연결해제)사용할시에는 main flash memory 모드로 사용하시면 됩니다(GPI 1,2연결)*상태변경시 리셋버튼을 눌러줘야 적용이 됩니다.
사용하는 보드 입니다 5v전원을 인가해줄 케이블 입니다. 다운로드와 usart통신을 위한 케이블과 rs232입니다 https://youtu.be/SjhHZ7bmzPk동영상추가keil_v5 프로젝트 생성전에 자신이 쓰는 칩에 맞는 pack 설치하기 http://blog.naver.com/eeee6160www.youtube.com 동영상20150630 122519cortex-m3 Keil uVision5프로그램을 사용해서 프로젝트 생성하기www.youtube.comhttp://youtu.be/GB7uT1Bs92s