이번 포스팅은 103말고 407보드가 와서 사용해보려한다.
해보는 김에 도서관에서 빌린 책을 이용하여 보드를 가지고 놀아보겠다.
(책에서 가지고 노는 보드는 NUCLEO-F411RE 이다)
사용하는 보드
https://stm32-base.org/boards/STM32F407VET6-STM32-F4VE-V2.0.html
아래에는 핀 번호가 없어서 아래 그림을 이용하여 진행하겠다
먼저 알리에서 산 보드에 BT에 점퍼가 없었다.
따라서 그냥 점퍼 케이블로 연결하고 진행하겠다.
여기서 BT란?
BOOT MODE에서 사용되는 핀으로
BOOT MODE는 다음과 같다.
* x 은 0이든 1이든 상관 없다는 뜻이고, 우리는 여기서 Main Flash memory를 사용할거다.
* 0 : LOW, 1 : HIGH
간단하게 위 모드들에 대해 설명하면
Boot mode | 설명 |
Main Flash memory | 보통 여기서 많이 작업. Flash memory에 저장함 ( 코드를 짜서 업로드하면 덮혀씌어짐 ) |
System memory | 펌웨어를 업로드하거나 기존 펌웨어를 업데이트할 때 사용함 |
Embedded SRAM | SRAM은 전원이 꺼지면 데이터가 사라짐. 그래서 디버깅이나 특정 코드 부분을 일시적으로 테스트할 때만 유용하게 사용함 코드를 테스트 후 꺼진 뒤에도 저장되게 하고 싶으면 Flash memory를 사용하는 boot mode사용 |
따라서 점퍼케이블로 우리는 BOOT0번을 GND랑 연결할거임
이제 ST LINK V2를 이용하여 펌웨어를 올려보겠다.
https://young-sunny.tistory.com/92
디버거가 궁금하면 다음을 참고하자
업데이트는 알아서 IDE에서 추천해주니 그걸로 진행하면 된다. ( 디버거가 인식이 안되면 디버거 전원을 뻇다 꽃아봐라)
아니면 다음을 이용하자
이제 이 보드를 책이랑 겸해서 알아가 보겠다.
내부에 있는 LED D0, D1, D2가 있는데 D0는 Power에 연결되어있으니, D1, D2를 가지고 놀자!
D1 LED | PA6 |
D2 LED | PA7 |
간단하게 코드를 짜고 실행시켜보자
HAL_GPIO_WritePin(GPIO_PA6_D2_GPIO_Port, GPIO_PA6_D2_Pin, 1);
HAL_GPIO_WritePin(GPIO_PA7_D3_GPIO_Port, GPIO_PA7_D3_Pin, 0);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIO_PA6_D2_GPIO_Port, GPIO_PA6_D2_Pin, 0);
HAL_GPIO_WritePin(GPIO_PA7_D3_GPIO_Port, GPIO_PA7_D3_Pin, 1);
HAL_Delay(1000);
https://youtube.com/shorts/Ajp-oNNgD90?feature=share
버튼으로 LED 제어 - 버튼 (Input 으로 설정)
if(!HAL_GPIO_ReadPin(GPIO_PE3_K1_GPIO_Port, GPIO_PE3_K1_Pin)){
HAL_GPIO_TogglePin(GPIO_PA6_D2_GPIO_Port, GPIO_PA6_D2_Pin);
HAL_Delay(100);
}
if(!HAL_GPIO_ReadPin(GPIO_PE4_K2_GPIO_Port, GPIO_PE4_K2_Pin)){
HAL_GPIO_TogglePin(GPIO_PA7_D3_GPIO_Port, GPIO_PA7_D3_Pin);
HAL_Delay(100);
}
https://youtube.com/shorts/9kW1aXTiFiQ?feature=share
현재 0 ~ 76페이지를 한번에 나가봤다.
다음 포스팅에서는 외부 인터럽트에 대해 알아보고, UART도 사용하여 PMS7003을 제어해보겠다.
그리고 DMA에 대해도 알아보겠다.
'STM32' 카테고리의 다른 글
STM32F407VE - 기초 2) EXTI (0) | 2024.11.20 |
---|---|
STM32F103C6T6A - 다루기 (0) | 2024.11.17 |
STM32으로 Fan을 제어해보자 2) (0) | 2024.11.12 |
STM32으로 Fan을 제어해보자 1) (0) | 2024.11.12 |
7세그먼트 코드 수정 (0) | 2024.11.10 |