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