#include <stm32f10x.h>
void delay(void)
{
uint32_t i;
for (i = 0; i < 100000; i++);
}
int main(void)
{
uint8_t data = 0;
uint8_t dir = 0;
RCC->APB1ENR = RCC_APB1ENR_DACEN;
RCC->APB2ENR = RCC_APB2ENR_IOPAEN;
// PA4默認就是模擬輸出模式(Analog), 所以無需配置GPIOA->CRL
// PA4接電壓表的正極, GND接電壓表的負極
DAC->CR |= DAC_CR_EN1;
while (1)
{
if (dir == 0 && data == 0xff)
{
dir = 1;
data--;
}
else if (dir == 1 && data == 0x00)
{
dir = 0;
data++;
}
else
{
if (dir == 0)
data++;
else
data--;
}
DAC->DHR8R1 = data;
delay();
}
}