개요 |
|
STM32 의 내장 DAC 활용하는 방법.
본 설명에서의 구체적인 상황.타겟칩 : STM32L4x6
페리페랄 : DAC
타겟보드 : D1P123R1
개발 IDE : KEIL MDK-ARM 혹은 SW4STM32 모두 가능. STM32CubeMX 기반하여 DAC 설정처리하고 IDE 에서 코딩한다.
참고 : STM32 는 모두 사용법이 비슷하니 위 세부 개발환경에 집착할 필요없음.
DAC 활용 방법 기본.STM32CubeMX 에서 DAC 기능 설정 처리완료하고, 이를 프로젝트 코드에 적용시키고 이를 IDE(SW4STM32 , KEIL MDK-ARM 등 ) 에서 필요한 DAC 제어함수 작성하여 활용한다.
DAC 출력핀 지정.STM32 의 DAC 사양 을 보면 DAC 출력은 DAC_OUT1 은 PA4 ,DAC_OUT2 는 PA5 로만 가능하다. 다른 페리페랄들은 여러개의 핀 중에 선택할 수 있는 경우가 많은데, DAC는 고정된 핀 1개로만 가능함을 숙지하고 핀 맵 설계해야한다.
|
|
STM32CubeMX 에서 DAC 설정. |
|
- 본 예에서는 DAC_OUT1 만 사용하기로 하며 고정적으로 PA4 로만 출력가능하다.
- 아래동영상에서 전체 설정 과정 보임.
|
|
DAC 출력함수 |
||
이제 코드내에서 DAC 출력함수 호출하면된다. 라이브러리에서 제공하는 함수 호출하면됨.
함수 호출예 HAL_DAC_SetValue(&hdac1, DAC_CHANNEL_1,DAC_ALIGN_12B_R,value_dac); // value_dac 값을 DAC 에 설정함.
HAL_DAC_Start(&hdac1, DAC_CHANNEL_1); // 이 함수 실행되면 value_dac 에 해당하는 전압이 핀으로 출력됨. STM32CubeMX 에서 자동으로 프로젝트 생성하면 main.c 내에서 DAC 초기화 호출하는 코드류들은 이미 자동생성되어있기에 우리가 할 일은 필요한 장소에서 DAC에 값을 설정하고 출력하는 함수 호출하는게 전부임.
코드예.아래 코드예는 ADC 한 값을 DAC로 그대로 출력한 예를 보이고 있다.
- STM32 AD 변환 상세보기 : https://igotit.tistory.com/1964
위 코드 실행했을때 핀 PA4 로 출력되는 DAC 전압 파형을 스코프로 보면 아래와 같다. |
||
상위 정리
https://igotit.tistory.com/244 의 STM32
첫 등록 : 2018.12.10
최종 수정 :
단축 주소 : https://igotit.tistory.com/1965
'임베디드.일렉트로닉스 > STM32' 카테고리의 다른 글
STM32CubeMX. Crystal. Clock Configuration. (0) | 2018.12.11 |
---|---|
STM32. L4x6. Voltage Reference Buffer (VREFBUF) (0) | 2018.12.10 |
STM32. ADC 활용 방법 (8) | 2018.12.10 |
STM32L4x6. USART (0) | 2018.12.10 |
STM32. L4x6. DAC (Digital to Analog Converter) (0) | 2018.12.08 |
댓글