Hardware/STM32

STM32 NUCLEO-F446RE 보드의 LED 제어

초인로크 2022. 9. 1. 10:48
반응형

요즘은 반도체 대란 때문이라 그런지

 

일본 아마존에서 NUCLEO-F446RE 보드가 거진 10만 원에 가까운 가격에 팔고 있었다.

 

원래는 2~3만 원대 가격에 팔던 개발 보드인데 이게 무슨 날벼락인가 싶다.

 

그래서 알리에서 3만원대 가격에 주문을 한 게 잘 도착했다.

 

여기에 글을 남기는 것은 나중에 설정 방법을 잊어버렸을 경우에 참조하기 위해 남겨 놓는다.

 

이것저것 잡지식을 많이 익히고 배우다 보면

 

몇 개월만 지나면 어떻게 했었는지 기억이 안 날 때가 많다...;;

 

 

 

연구실 프로젝트를 하는데 아두이노로 겨우겨우 시스템을 완성하고

 

회사랑 미팅을 할때 시스템을 제안하고 나니까

 

제안한 시스템을 stm32 마이크로 컨트롤러를 사용하여 완성한 제품이 와서 많이 당황했었던 기억이 있다.

 

역시 관련업계에서 0순위로 검토하는 제품이다 싶더라.

 

교육용으로는 아두이노가 좋긴 한데, 나도 전문적인 제품을 다루어 보아야겠다.

 

NUCLEO 보드는 ST에서 개발한 레퍼런스 보드로

 

디버거 파트(ST-LINK) 도 같이 붙어 있어서 아두이노처럼 USB 케이블을 연결하여 간단하게 프로그래밍을 할 수 있다.

 

그리고 보드 핀 구조가 아두이노 쉴드도 호환이 가능하도록 되어있다.

 

 

아래에 핀아웃을 좀 더 자세히 볼수 있도록 사진을 첨부한다.

 

 

STM32 계열은 STM32 CubeIDE로 개발이 가능하다.

 

아이디를 등록하는 것만으로도 무료로 사용할 수 있어서 좋다.

 

처음 실행하면 아래와 같은 화면이 나오니 [Start new STM32 project]를 클릭한다.

 

 

 

그러면 아래와 같이 되는데 NUCLEO 보드를 사용하는 관계로 [Board Selector]를 선택한 뒤에,

 

[Commercial Part Number]에서 NUCLEO-F446RE를 선택해 주었다.

 

오른쪽 아래에 실제 보드 사진이 나오므로 클릭을 한 뒤에 [Next >] 를 클릭해 주었다.

 

 

아래와 같은 화면이 나오면 프로젝트 명을 만들어 준다.

 

여기서는 [LED_BLINK]로 해 주었다.

 

 

설정이 끝나면 아래와 같은 화면이 나온다.

 

여기까지 오는데 보드 프로그래밍에 필요한 라이브러리 다운로드 등을 하므로 시간이 걸릴 수 있다.

 

여기서부터 마이크로 컨트롤러의 핀 설정 등이 가능한데,

 

이번에는 LED 제어만 하고 끝을 낼 것이므로 아무것도 건드리지 않아도 된다.

 

 

아래와 같이 보드에 있는 LED는 [PA5]에 GPIO_Output 설정이 되어있다.

 

이것을 이용하여 LED 제어를 할 것이다.

 

 

LED_BLINK -> Core -> Src -> main.c의 내용을 프로그래밍해 준다.

 

 

처음 생성된 코드를 빌드하려고 하면 ST-LINK의 버전업을 하는 창이 나왔다.

 

이번에 버전업을 했다.

 

 

아래와 같이 소스코드 99째 줄 정도에 있는 while(1) 문 안의 내용을 수정함으로 LED 제어를 해 주었다.

 

 

위의 사진을 참고로 하여,

 

99번째 줄부터 LED 제어를 위해 아래의 코드를 입력한다.

HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
HAL_Delay(1000);

 

별 탈 없이 끝났으면 초록색 화살표를 눌러주면

 

아래와 같이 초록색 LED가 일정하게 깜빡이는 것을 볼 수 있다.

 

 

 

세상에 공부해야 될 것이 너무 많다.

 

아니면 그냥 한우물을 파도 되는 건데 내가 그냥 관심사가 너무 다양해서 그런지도 모르겠다.

 

아두이노는 확실히 편하고 다루기 쉬운 보드이긴 한데,

 

어느 정도 한계가 있기에 다른 보드들도 다룰 줄 알게 된다면

 

좀 더 연구의 방향성이 다양해지지 않을까 생각한다.

 

 

 

 

 

 

 

반응형