DAC_App.rar

  • 分享
  • 评论
  • 举报
  • 收藏

资料描述

    嗯,又是我,来分享一下昨天晚上捣弄的东西。小弟献丑了,写得不好,不对的地方请各位大神指正。


    nucleo板子简单便宜,提供的资源自然也很少,所以要尽可能多的利用仅有的资源来学习更多的功能。看原理图和数据手册可以发现,唯一一个用户led即ld2连接的pa5引脚,刚好是dac1的通道2输出引脚,于是我们就可以用这个led来学习使用dac,顺带学习下定时器基本功能和dma。




    dac—数模转换器


    dac即是数模转换器,就是将数字量转换成模拟量,原理什么的大家应该都懂,直接跳入如何使用:
    stm32的dac使用起来非常简单,首先将连接dac通道的gpio引脚配置为模拟状态,然后初始化dac,一共只有四个参数需要初始化,其中最重要的是触发源:这个参数的作用是,每来一个触发源信号,dac就刷新一次输出,也就是将需要转换的数字量转换为电压输出,这里选择定时器2作为触发源。
    代码:





    void dac_config(void)


    {


            gpio_inittypedef      gpio_initstructure;


            dac_inittypedef                dac_initstructure;





            dac_trigtim_config();//定时器配置,见第2点





            rcc_ahbperiphclockcmd(rcc_ahbperiph_gpioa,enable);


            rcc_apb1periphclockcmd(rcc_apb1periph_dac1,enable);





            gpio_initstructure.gpio_pin = gpio_pin_5;


            gpio_initstructure.gpio_mode = gpio_mode_an;                //模拟


            gpio_initstru
评论(0)

登录后可评论,请 登录注册

   
相关资料
换一换