상세 컨텐츠

본문 제목

[STM32] 0강. CubeMX 설치 (2)

졸업작품/stm32 공부(by 유튜브)

by 빙하둘리 2022. 9. 18. 14:54

본문

728x90

유튜브 강의 참고

[HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 속성 강의 강좌] 0강. CubeMX 설치 (2)

https://www.youtube.com/watch?v=WsO_qSnTTao&list=PLUaCOzp6U-RqMo-QEJQOkVOl1Us8BNgXk&index=2 

CubeMX 설치하기

 

https://www.st.com/content/st_com/en/search.html#q=cubemx-t=tools-page=1

 

Search - STMicroelectronics

 

www.st.com

위 링크를 클릭하고 stm32CubeMX를 선택한다.

그러고 GetSoftware 목록을 보고 노트북의 운영체제에 맞게 설치해준다.

CubeMX를 설치하면서 HAL드라이버도 다운로드 된다.

CubeMX는 이클립스 기반

한글 경로는 제외해주기!

 

[앞으로 배울 내용]

1.GPIO

-LED 출력, 스위치 입력

GPIO란 General Purpose Input Output

범용 입출력에 대해서 진행하는데, 모든 핀에 대해서 Digital HIGH 신호, LOW 신호로 출력할 수 있다.

외부에서 HIGH, LOW 신호를 입력 받을 수 있다. - 그 핀을 출력으로 설정하고 LED를 연결하고 HIGH 신호, LOW 신호를 출력했을 때 LED가 잘 점멸이 되는지 확인한다.

GPIO핀의 스위치 입력을 받고, 스위치를 누르거나 뗐을 때 잘 동작하는지 본다.

 

2.UART

-UART 송수신

-UART 수신 인터럽트

UART 통신으로 PC와 연결해서 PC와 데이터를 주고 받을 예정

응용편) -PC에서 특정문자 수신하여 LED On/Off

 

3.Test LCD

-문자, 변수 출력

하드웨어 MCU 같이 독립적으로 동작하는 칩들은 내부 동작하는 데이터의 값 등을 확인하기 어렵다. 디스플레이 장치가 없기 때문이다. 그래서 기본적으로 UART 통신을 연결해서 활성화시켜서 PC와 데이터를 주고 받는다.

디버그를 쉽게하기 위해서 Text LCD(스크린)를 달아놨다. 스크린에 데이터 출력 및 값 확인

GPIO를 이용해서 인터페이스 해서 데이터를 출력

인터페이스란?

인터페이스, interface

출처-옥스퍼드 사전

명사
컴퓨터
  1. 1.
    전기 신호의 변환(變換)으로 중앙 처리 장치와 그 주변 장치를 서로 잇는 부분. 또는, 그 접속 장치.
  2. 2.
    키보드나 디스플레이 등처럼 사람과 컴퓨터를 연결하는 장치.

응용편) -PC에서 수신한 문자 출력

 

4.TIM

-특정 주기마다 원하는 동작 수행

타이머는 매우 중요!

응용편)

-Text LCD와 7세그먼트에 시간 표시

-스위치로 시간 세팅

 

5.EXTI

-EXTI 스위치 입력

EXTI는 외부 인터럽트

처음에는 GPIO 입력을 Polling 방식으로 이용하는데

5강에서는 외부 인터럽트로(EXTI) 처리할 예정

 

6.PWM(TIM)

-PWM 생성, 펄스폭(활성폭), 주기 가변

응용편)-BA6208로 DC모터 구동

-SG90 서브모터 구동

-주파수별 Buzzer 비프음 생성

 

7.ADC + DMA

ADC) 아날로그 신호를 디지털로 변환하는 기능

ADC를 하면 아날로그 전압 값이 디지털 값으로 변화되는데, 그러고 우리가 원하는 임의의 변수에 그 값이 저장. 그 값을 저장하는 과정을 DMA라는 애가 자동으로 해준다.(소스코드 자동 생성, DMA 초기화를 어떻게 해주느냐에 따라 달림) 변환된 결과를 자동으로 선언된 변수에 저장해준다.

ADC랑 반대인 디지털 값을 아날로그로 출력하는 것을 해준다.

 

여러개의 채널을 동시에 ADC로 변환하고...

응용편)-가변저항값 계산

-조도값, 가변저항값에 따라 LED 밝기 조절

 

8.DAC

-아날로그 전압 출력

ADC와 반대로 digital 값을 analog 값으로 출력

 

ADC, DAC(둘 다 신호 변환)는

외부의 기준 전압(reference voltage) 범위 내에서 analog를 digital로 변환 가능하고, 디지털 값을 아날로그 전압으로 출력 가능

STM32 3.3V여서 reference voltage은 3.3V

응용편)-특정 주기의 sine파 생성

 

9.I2C

[아이투씨 or 아이스퀘어씨]

-I2C EEPROM 데이터 R/W

UART 다음으로 흔히 사용되는 통신 방식

통신은 대상이 필요하니 통신의 대상은 EEPROM을 사용한다.

I2C 인터페이스를 EEPROM의 어떤 데이터를 읽고 쓰는데 사용한다.

응용편) -PC에서 수신한 문자를 EEPROM에 저장

-EEPROM에 저장된 문자를 TextLCD에 출력

 

10.SDIO

-SDIO FAT File System 파일 읽기 쓰기

대용량 외부 저장 장치인 sd카드의 데이터를 읽고 쓰고 할 것

SDIO 인터페이스를 이용

대용량이 되면 time 단위로 관리를 하는데 그러기 위해서는 file system 필요->fat 파일 시스템 이용 미들웨어 같은데 이용해서 파일을 열고 파일 내의 데이터를 읽어오고, 파일을 생성해서 그 파일에다 데이터를 쓰고...

응용편) -디렉터리에 있는 파일 목록 추력

-파일 선택해서 파일 내용 출력

 

11. SPI

-SPI VS1003 음성코덱으로 음성데이터 재생

음성데이터를 재생했을 때, 그것을 음성신호로 출력해서 스피커를 연결해서 소리가 나게 한다.

응용편)SD카드에서 음성파일(MP3, WAV) 재생

-스위치 입력으로 이전곡, 다음곡, 재생/일시정지

 

10강+11강=>sd카드에 mp3파일을 담아 음성 코덱에 데이터를 전송해주면 그 코덱이 노래를 재생해준다.

 

12. CAN

-CAN

 

13. ETH

UDP로 PC와 소켓통신

 

CubeMX->New Project->칩 선택

강의에서는 stm32f407ve인데 나는 다음과 같은 것을 선택

 

카카오톡 사진 첨부) 여기서 헤맸다.

이거 참고하고 features 선택

그런데 요거는 STM32F머시기용 repository가 필요!

package 다운로드

 

보통 모든 기능 비활성화된 default Mode로 시작

하고 나서 clock 설정 등을 해주고

project settings 였나 generate code인가를 눌러서 어디에 코드를 저장하고, 컴파일을 뭘로 쓸 것이냐 선택해줘야 한다.

수업에서는 TrueSTUDIO를 사용하니  Toolchain/IDE는 TrueSTUDIO

 

엥 근데 왜 트루스튜디오가 안 보이지?

질문 찾아보기

 

application code은 직접 해준다.

728x90

관련글 더보기

댓글 영역