2021/03/16

STM32 펌웨어 - 01. MCU와 통신을 뚫어보자 - none GUI

UART 통신으로 MCU와 호스트의 데이터 송수신을 해보자.

PuTTY로 시리얼 접속하고, 숫자 전송만으로 펌웨어를 구동하게 만들것이다.

참고로 GUI 없이 CMD로만 제어하는 방식은 테스트 할때 매우 편하다.

- compiler : STM32CubeIDE(Version 1.6.0)

- firmware package : v1.8.3

 

순서

1. printf 활성화

2. 숫자 입력 함수

3. 메뉴 구성

4. 구동 테스트

 

1. printf 활성화

STM32CubeIDE에서 printf를 사용하려면 아래와 같이 소스를 추가해야 한다. 

1. main.c 

   - weak 속성의 __io_putchar 함수를 정의 














2. syscalls.c 파일 확인

   - syscalls.c 파일 없을 경우 복사해야함.


👆 여기까지 설정하면 printf를 사용 가능하다. float 출력을 원한다면 _printf_float 설정을 해야한다.




















 

 

* 주의할 점

printf 출력시 개행문자 \n을 넣어주지 않으면 버퍼에서 출력되지 않는다.

fflush(stdout)을 사용하면 버퍼를 즉시 출력해준다.

 

2. 숫자 입력 함수 

scanf 함수를 쓸 수도 있지만 따로 숫자 입력 코드를 만들어 쓰는걸 추천한다.















 

 

숫자만 입력해야 한다.


3. 메뉴 구성





















 

사용 방법은 심플하다. 

1\r\n 입력시 전체 메뉴 출력

2\r\n 입력시 버전 정보 출력

3\r\n 입력시 SSR On/Off

  - 0\r\n 입력시 SSR Off

  - 1\r\n 입력시 SSR On


4. 구동 테스트

자...돌려봅시다.


원하는 기능은 메뉴를 만들어서 추가하면 된다.

다음엔 GUI로 MCU를 제어해보자


댓글 없음:

댓글 쓰기