1. 설명
처음 ARM을 배울때만해도 HAL 이라는 개념이 없이 Struct을 통해서 설정을 일일이 다 했습니다.~ 하지만 HAL 드라이버가 나옴으로써 그럴 필요가 없어지고 간편해진거 같습니다.. HAL 드라이버를 쓰기 위해서는 CUBE를 통해서 다운로드를 자동으로 지원해주고 있어서 너무 편해요~ |
2. CUBE 실행 하기
해당하는 MCU를 선택한 다음에 START Project를 누르면 자동으로 다운로드가 시작 됩니다. 저같은 경우는 stm32f103vct6 이라서 stm32f103vctx를 선택했습니다. |
3. 입출력 설정하기
이것 같은 경우도 조심해야될게 저같은 경우는 st-link/v2를 써서 디버깅을 합니다. 이경우 sys 부분을 설정 하지 않으면 "Fatal error: ST-LINK, No MCU device found" 라는 에러 메세지를 볼수 있을 겁니다. 이런 오류가 나는 이유가 디버깅을 하려면 SWDIO,SWCLK pin 을 설정해야 작동을 하는데 설정을 안했기 때문입니다. 오류 해결 부분은 다음 부분에 따로 올리겠습니다. http://hnydiy.tistory.com/15 <---오류 해결 방법 |
5. IAR 에서 설정하기 및 소스 해석
파일 및 부분을 오론쪽 클릭하면 Option... 부분을 클릭해서 Device 부분을 클릭해서 선택 해줍니다. 그리고 저는 st-link를 쓰기 때문에 저렇게 따로 설정해줬습니다. |
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==1) HAL_GPIO_WritePin(GPIOE,GPIO_PIN_4,GPIO_PIN_SET);
main.c 부분에 윗 소스를 넣으시면 스위치를 누를 때마다 LED가 들어오시는 것을 확인 하실수 있겟습니다~
|
2번쨰 방법
BSRR 레지스터를 사용하여 셋팅과 리셋을 합니다.
BS 비트는 셋
BR 비트는 리셋
다만 리셋같은 경우 전용 레지스트가 있기때문에 리셋은 BRR 레지스트를 이용합니다.
GPIOC->BRR = ((uint16_t)0xffff); // All reset
이런식으로 하면 모든 비트가 리셋이 됩니다.
'공부 > STM32F1' 카테고리의 다른 글
6.[stm32f103][hal] printf 사용하기 (0) | 2017.09.12 |
---|---|
5.[stm32f103][hal]usart1 polling (0) | 2017.09.12 |
4.[stm32f103][hal] Fatal error: ST-LINK, No MCU device found (0) | 2017.09.11 |
2. [stm32f103] 시작하기-stm32 Dragon (0) | 2017.08.23 |
1. [stm32f103] STM32CUBE 설치 (0) | 2017.08.23 |