DAC
ADC완 반대로 디지털신호를 아날로그신호로 변환시키는 것으로
마이크로프로세서 내부에서 처리된 값으로 엑츄에이터(Actuator)를 동작시킬 때 사용될 수 있다.
예를 들어 LED의 밝기를 조절하고 하고자 할 때 LED로 들어가는 전압의 세기를 변화시켜야 할 것이다.
이 때 DAC가 사용될 수 있다.
DAC 초기화 소스
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 |
void Init_DAC(){
GPIO_InitTypeDef GPIO_InitStructure;
DAC_InitTypeDef DAC_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable;
DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_TriangleAmplitude_4095;
DAC_Init(DAC_Channel_1, &DAC_InitStructure);
DAC_SetChannel1Data(DAC_Align_12b_R, 0);
DAC_Cmd(DAC_Channel_1, ENABLE);
}
|
cs |
DAC는 PA4,5로 사용이 가능하다.
어떻게 쓰는가?
1 |
DAC_SetChannel1Data(DAC_Align_12b_R, 변수); |
cs |
위와 같은 코드를 사용하면 A포트를 통해서 '변수'의 값이 전압의 형태로 출력된다.
반응형
'Embeded > ARM Cortex-M4' 카테고리의 다른 글
UART - PC, 블루투스 통신 (0) | 2015.07.10 |
---|---|
Sink방식과 Source방식 (0) | 2015.07.10 |
ADC(Analog-Digital Converter) (0) | 2015.07.10 |
GPIO(General Purpose Input Output) IN, OUT 소스 (0) | 2015.07.08 |
GPIO/Timer를 활용한 FND제어 소스 (0) | 2015.07.08 |