#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();
}
}