21ic电子技术开发论坛 单片机与嵌入式系统 ST MCU 【stm32f0实验】 DAC呼吸灯
发新帖我要提问
返回列表
打印

【stm32f0实验】 DAC呼吸灯

[复制链接]
2509|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
teracell|  楼主 | 2012-8-28 16:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 teracell 于 2012-8-30 10:45 编辑

说来惭愧,眼看到了截止日期才出来发帖,实在是时间腾不出来。限于目前周围器材,只有杜邦线:L,就做个DAC的实验吧。

首先阅读了参考手册的DAC说明,PA4作为DAC的输出,DAC的值取决于参考电压和DHR的值,DHR可以为12位左右对齐和8位右对齐。想了一下,嗯,可以点亮PC8、PC9。DAC的转换可以是APB每个时钟拉取DHR的值到DOR,也可以是定时器触发、软件触发、外部中断触发来拉取DHR的值到DOR。嗯,开始实验!
step1.
配置RCC
step2.
使能GPIOA,配置PA4、5为analog
step3.
初始化DAC
step4.
执行呼吸灯程序

code
#include "..\stm32f0.h"

int main()
{
    u32 i = 0, j = 0;
   
    systemInit();
   
    RCC_AHBENR |= AHB_IOPA;
    GPIOA_MODER |= MODE_AL << 8;
    RCC_APB1ENR |= APB1_DAC;
   
    DAC_CR |= DAC_CR_EN;
   
    while(1)
    {
        for(i = 0; i < 4096; i++)
            for(j = 0; j < 2000; j++)
                DAC_DHR12R = i;
        
        
        for(i = 4096; i > 0; i--)
            for(j = 0; j < 2000; j++)
                DAC_DHR12R = i;
    }
   

    return 0;
}
最后PC9如愿以偿的呼吸了!:loveliness:但是效果一般。
环境为IAR 6
自己写了个头文件,方便直接操作寄存器
头文件-> stm32f0.rar (1.22 KB)
沙发
stm0574| | 2012-8-28 16:23 | 只看该作者
直接调用固件库连寄存器是啥也不用知道。

使用特权

评论回复
板凳
c305518| | 2013-3-1 23:19 | 只看该作者
自己头文件   好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部