作者共发了2篇帖子。 内容转换:不转换▼
 
点击 回复
369 1
【程序】STM32使用DAC控制电压表指针位置的程序
一派护法 十九级
1楼 发表于:2017-3-5 13:10
#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();
    }
}
一派护法 十九级
2楼 发表于:2017-3-5 13:11
程序运行结果:电压表指针先从0V缓慢移动到3.3V处,然后再缓慢回到0V,如此循环。

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:369 回复数:1
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2017-3-5 13:11
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。