STM32F0 CUBEMX LED 예제입니다.
오늘은 F091RC 칩을 사용한 보드를 사용할거다. 파란 버튼을 누르면 LED가 나오게 할거다.
이놈이다.
사용 보드를 선택 후 더블클릭 한다.
초기화면이다. LD2는 초록 빛을 내는 LED이고, B1은 파란색 버튼이다.
GPIO 버튼을 클릭한다.
나중에 인터럽트를 사용하면 Rising edge로 사용할 생각이다.
근데 아마 인터럽트를 쓸 일은 많지 않아보이고, 이번 포스팅은 풀링 방식으로 만지고 놀거다.
프로젝트 만져 준다.
완료됐다. Open Project를 클릭한다.
TrueSTUDIO 실행 화면이다. 처음 몇 초동안 광고를 봐야한다.
B1 버튼이 눌렸는지 아닌지를 보려면 상태를 읽어야 한다.
간단하게 만드려면 보통 HAL 드라이버를 사용한다. 대충 HAL 쳐놓고 Ctrl + Space를 누르면 연관된 명령어들이 쭉 나온다. 위의 코드의 입력 변수들을 보면, GPIO의 어떤 라인을 사용 할건지, 그 라인 중에서 몇 번째 핀을 사용할 것인지 기입하라고 되어있다. CUBEMX에 있는 핀 맵을 보고 해도 되고, 코드를 뒤져봐도 된다.
역시나 있구나. 요 착한 것.
LED는 LD2_GPIO_port, LD2_pin
버튼은 B1_GPIO_port B1_pin이다.
읽으면 쓰는 것도 있겠구나 싶어서 대충 뒤져보니 있더라. WritePin도 뒤져보니 별거 없다. 그냥 입력 인자가 세 개인데, READ함수에 넣는 거 + 상태 조합이더라. 그래서 친절히 아래처럼 적어주면 잘 돌아간다.
HAL_GPIO_WritePin()
while (1) 안에 코드 한 줄만 작성하면 끝!
구동 영상이다.