娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

DAC即數字模擬轉換器,它可以將數字信 號轉換為模擬信號


它的功能與 ADC 相反。在常見的數字信號系統中,大部分傳 感器信號被轉化成電壓信號,而 ADC 把電壓模擬信號轉換成易于計算機存儲、 處理的數字編碼,由計算機處理完成后,再由 DAC 輸出電壓模擬信號,該電壓 模擬信號常常用來驅動某些執行器件,使人類易于感知。如音頻信號的采集及還 原就是這樣一個過程。


觸發方式


前面是定時器TIM,中間是外部中斷9,后面是軟件觸發


dac.c


#include "dac.h"

 

void DAC1_Init()

{

    GPIO_InitTypeDef GPIO_InitStructure;

    DAC_InitTypeDef DAC_InitStructure;

    

    //1*開啟DAC時鐘和對應引腳時鐘

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC,ENABLE);

    

    //2*配置引腳

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //為什么是輸出卻配置模擬輸入?避免自身電流的消耗,主要是為了模擬模式這樣推挽,上拉全部關閉漸少電流消耗

                                                 //雖然 DAC 引腳設置為輸入,但是如果使能 DACx 通道后相應的管腳會自動連接在 DAC 模擬輸出上

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //輸出速度正常配置

    GPIO_Init(GPIOA,&GPIO_InitStructure);

    

    //3*DAC初始化并使能

    DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;  //不使用,這個程序直接設置DOR值

    DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;//不產生波形

    DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable; //DAC1 輸出緩存關閉 BOFF1=1,通常是關閉的

    DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bit0;//屏蔽、幅值設置,這是在產生波形時用

    DAC_Init(DAC_Channel_1,&DAC_InitStructure);

    DAC_Cmd(DAC_Channel_1,ENABLE);

    

    //4*設置數據對齊方式、

    DAC_SetChannel1Data(DAC_Align_12b_R,0);////12 位右對齊數據格式 設置 DOR 值

    

}

 

dac.h


#ifndef _dac_H

#define _dac_H

 

#include "system.h"

 

void DAC1_Init(void);

 

 

#endif

 

main.c


#include "systick.h"

#include "led.h"

#include "system.h"

#include "key.h"

#include "usart.h"

#include "dac.h"

int main()

{

    u8 i=0;

    u8 key;

    int dac_value=0;

    u16 Get_DOR_Value;

    float vol=0;

    

    SysTick_Init(72);  //系統時鐘初始

    LED_INIT(); 

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 

    USART1_Init(9600);

    KEY_INIT();

    DAC1_Init();

    while(1)

    { 

        key = KEY_Scan(0);

        if(key==KEY_UP)

        {

            dac_value+=400;

            if(dac_value>=4000) 

            {dac_value = 4095;} //dac輸出是12位

            

            DAC_SetChannel1Data(DAC_Align_12b_R,dac_value);//更新DOR

        }

        else if(key==KEY_DOWN)

        {

            dac_value-=400;

            if(dac_value<=0)

            {dac_value=0;}

            

            DAC_SetChannel1Data(DAC_Align_12b_R,dac_value);

        }

        

        i++;

        if(i%20==0) //200ms變換一次

        {

            led1=!led1;

        }

        if(i%50==0) //500ms采集一次

        {

            Get_DOR_Value = DAC_GetDataOutputValue(DAC_Channel_1);//獲取DAC1通道1的輸出值

            vol = (float)Get_DOR_Value*(3.3/4095);

            printf("DAC輸出電壓是%.2fVrn",vol);

        }

        delay_ms(10);

    }

}

關鍵字:STM32  DAC  模擬信號 引用地址:stm32---DAC

上一篇:stm32---DMA基礎
下一篇:stm32---ADC

推薦閱讀

在日前結束的中國家電及消費博覽會(AWE2018)展會上,掃地機器人作為智能化程度最高的清潔類產品表現尤為搶眼。多家品牌攜帶的掃地機器人亮相此次展會,其中不乏各種黑科技對掃地機器人產品帶來重新的定義。展會現場通過場景模擬還原現代家居復雜環境,展示了當今掃地機器人在各種場景中智能高效的清掃功能。 近年來,隨著科技的進步和社會發展,特別...
工業大數據是互聯網、大數據和工業產業結合的產物,是中國制造2025、工業互聯網、工業4.0等國家戰略在企業的落腳點。 對于企業而言,了解工業大數據產生的背景,歸納工業企業大數據的分類和特點,從數據流推動工業價值創造的視角看待、重造工業價值流程,將具有很強的現實意義。文章最后,筆者分享幾個在工業領域數據驅動價值創造的案例,希望起到拋磚引玉...
其實代碼呢,很簡單。就是有一個問題困擾了我很長時間,后來終于明白了。這個是捕獲模式下用的吧。在需要PWM波生成時可以用以下代碼:void PWM_Init(){ P4SEL|=BIT1+BIT2+BIT3+BIT4; P4DIR|=BIT1+BIT2+BIT3+BIT4; TBCCR0=8000-1; TBCCTL1|=OUTMOD_2;//left TBCCR1=2000-1; TBCCTL2|=OUTMOD_6; TBCCR2=2160-1;//dead time 20us ...
3月24日,全球領先的足式機器人AI創新賦能平臺德魯動力受海南安邁云網絡技術有限公司之邀,參與了由其主辦的“云領風潮?安邁云品牌交流會”。活動現場,德魯動力與分布式存儲行業精英、產業鏈核心機構、分布式技術應用單元、主流媒體等嘉賓代表齊聚一堂,解析產業最新政策,前瞻賽道趨勢,拆解技術架構。德魯動力COO鮑平軍現場出席,并圍繞《四足機器人AI...

史海拾趣

問答坊 | AI 解惑

美國國家半導體取得歷年來最輝煌的業績,因此給予員工每人一臺 30GB 的蘋果 iPod 視

美國國家半導體公司(National Semiconductor Corporation) (美國紐約證券交易所上市代號:NSM) 宣布由于取得歷年來最輝煌的業績,因此該公司決定給予全球 8,500 名員工每人一臺 30GB 的蘋果 iPod 視頻播放機以作獎勵。這款大受歡迎的 MP3 播放機除了 ...…

查看全部問答∨

一種增大放大器增益的方法

    了解有源器件、晶體管的電學要求可以提高放大器的性能。上個月月刊的第二部分指出增加適當的穩定化處理電路可以使二極管在任何條件下都穩定,并且對于源極和負載電阻頻率的任何變化都不會產生震蕩。第三部分將要指出如何應用單向增益設計 ...…

查看全部問答∨

ARM培訓視頻-dsp-CPLD-FPGA開發視頻-嵌入式系統開發-單片機開發視頻

ARM培訓視頻-dsp-CPLD-FPGA開發視頻-嵌入式系統開發-單片機開發視頻 ------------------------------------------------------------------ 【ARM培訓視頻】課程主要內容 1.概念和基本工具: 嵌入式系統基本概念、嵌入式操作系統介紹 嵌入式系 ...…

查看全部問答∨

汽車伴我行——京郊另類玩家經典路線、汽車新科技、經典車型大羅列

汽車伴我行 1. 京郊另類玩家經典路線推薦 https://bbs.eeworld.com.cn/thread-2611-1-40.html 2. 智能車賽道記憶算法的研究 https://bbs.eeworld.com.cn/thread-9739-1-18.html 3. 汽車新科技 https://bbs.eeworld.com.cn/thread-7089-1-17.html ...…

查看全部問答∨

推薦FPGA+單片機開發板。。。

聯華眾科FPGA開發板 FA130 北京聯華眾科科技有限公司 http://www.lianhua-zhongke.com.cn Abstract  摘 要:聯華眾科FPGA開發板FA130核心器件為 Altera Cyclone系列的EP1C3,配置芯片為EPCS1,FA130上可以運行SOPC Bui ...…

查看全部問答∨

關于wince5.0 的IE支持flash的問題。

如何讓wince5.0的IE支持flash呢?在adobe的網站上找到了用于ppc的flash插件,但不能用于wince, 聽說,有人把ppc相應的dll考到了wince里,wince就可以用ppc的軟件了,真的可能嗎? 還有我的硬件是x86的,能否找到用于x86的ppc系統文件呢(dll), ...…

查看全部問答∨

Bootloader 的概念

    簡單地說,Bootloader 就是這么一小段程序,它在系統上電時開始執行,初始化硬件設備、準備好軟件環境,最后調用操作系統內核。    可以增強Bootloader 的功能,比如增加網絡功能、從PC 上通過串口或網絡下載文 ...…

查看全部問答∨

高亮度LED在汽車照明應用的問題

 1.可靠性與使用壽命   LED的預期使用壽命為5萬個小時,而鹵鎢燈為2萬個小時,鎢白熾燈為3千個小時。相對于白熾燈,LED的結構堅固,不容易受振動影響,使用過程中光輸出亮度也不會明顯下降。基于多個LED的照明方案還具備“冗余度”好處,即使一 ...…

查看全部問答∨

DDS的合成問題

夏老師、范老師、各位大俠好!我這幾天在研究DDS,有一個問題我想不明白,我覺得DDS的輸出信號的頻率最終還是被DA轉化速度限制住了,比如DAC0832的轉化一個數據的時間是1us,如果一個周期采128個點的話,周期也不過是8KHz左右,要采的點數多的話輸 ...…

查看全部問答∨

求助!附程序!MSP430F169用I2C控制ADV7183寫數據程序調試不成功!!急!!

#include "io430.h" #include "In430.h" int tx_count; volatile unsigned char I2CBuffer[3]; void Init_Port(void) { P1DIR=0xFF; P2DIR=0XFF; P3DIR=0xFF; P4DIR=0xFF; P5DIR=0xFF; P6DIR=0xFF; P1SEL = 0; } void ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 吴川市| 泸溪县| 黑山县| 淳化县| 轮台县| 桃源县| 梅河口市| 探索| 荔浦县| 交口县| 民丰县| 浦江县| 肇州县| 徐州市| 兴安盟| 凌源市| 博湖县| 嵊泗县| 竹溪县| 湘乡市| 安徽省| 工布江达县| 兴国县| 佛冈县| 金塔县| 鄂伦春自治旗| 林州市| 尼勒克县| 镇平县| 达孜县| 金湖县| 京山县| 郑州市| 阜城县| 英吉沙县| 惠东县| 固镇县| 扬州市| 松溪县| 南江县| 莱西市|