반도체, 임베디드 Study/STM32

STM32 - ADC 구현 (Polling, Interrupt, DMA / 아두이노 Plotter 모드로 그래프 확인)

잇(IT) 2024. 5. 30. 20:33
728x90

https://insoobaik.tistory.com/617

 

STM32 - ADC 이론 (DMA, ADC 함수)

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.

insoobaik.tistory.com

이론에 이어서 ADC를 직접 구현해 볼 것이다.


Polling, Interrupt, DMA, 아두이노 Plotter를 통한 그래프 확인을 위해 위와 같이 STM32F429, 가변저항, 아두이노를 연결한다.

STM32F429와 아두이노의 경우 Analog 신호를 전달하기 위한 Pin은 A0를 사용하였다.

 

기본적으로 ADC1,2,3번을 사용 가능하고 ADC1의 IN3을 사용할 것이다. (빨간색으로 표시된 것은 사용할 수 없다.)

Parameter Settings를 통해 파라미터 값을 설정할 수 있다.

ADC 인터럽트를 사용하기 위해 활성화 해주어야 한다.

DMA 모드를 사용하기 위해 위와 같이 설정해준다.

 

DMA Request Settings의 Mode는 두가지가 있다.

Normal : 지정된 데이터 양을 한 번 전송하면 DMA 전송이 종료된다. 고정된 양이 데이터를 단회 전송하는데 적합하다.

Circular : 지정된 데이터 양을 전송한 후 처음 위치로 돌아가서 전송을 반복한다. 지속적인 데이터 수집 및 실시간 처리가 필요한 경우에 적합하다.

 

ADC 혹은 NVIC를 통해 인터럽트 DMA에 대한 사용 여부와 Code Generate에 대한 설정을 확인한다.


Code Generate를 하게 되면 위와 같이 DMA, UART, ADC, NVIC에 대한 초기화 함수들이 선언된 것을 확인할 수 있다.


Polling 모드


Interrupt 모드


DMA 모드


아두이노 Plotter

 

728x90