欧美日韩欧美,女人和拘做受大片免费看,麻花豆传媒剧国产mv免费版特色,欧美成人精品高清在线观看,麻豆产精国品一二三产区区

【E2434】STM32F407信號(hào)發(fā)生器設(shè)計(jì)

2021-11-24 00:33:04      索煒達(dá)電子      935     

項(xiàng)目編號(hào):E2434

文件大?。?73K

源碼說(shuō)明:帶中文注釋

開(kāi)發(fā)環(huán)境:C編譯器

簡(jiǎn)要概述

內(nèi)容:在顯示屏上通過(guò)按鍵產(chǎn)生正弦波、三角波、矩形波、鋸齒波,并且能通過(guò)按鍵來(lái)暫停波形,顯示靜態(tài)波形,并且顯示波形電壓的峰峰值。


一、波形圖顯示

生成正弦波、三角波、矩形波、鋸齒波數(shù)據(jù)

將這些數(shù)據(jù)顯示到 TFT 2.4 寸液晶屏上

思路:用數(shù)組 1,2,3,4 分別保存正弦波、三角波、矩形波、鋸齒波數(shù)據(jù),寫(xiě)按鍵函數(shù)分別打印不同的數(shù)組內(nèi)容,然后再將數(shù)組內(nèi)容打印到 TFT 液晶屏上。


二、峰峰值顯示

從數(shù)組中采集最大和最小值,然后做差求得峰峰值,顯示到 TFT 液晶屏上。

優(yōu)化:使用 DMA 來(lái)減輕 CPU 的負(fù)擔(dān),提高數(shù)據(jù)傳輸速度。

STM32 使用 DMA+DAC+TIMER 輸出正弦波

那么對(duì)于使用 DMA+DAC+TIMER 產(chǎn)生正弦波的原理或過(guò)程,我有這樣一個(gè)簡(jiǎn)單的理解:先將一個(gè)可以生成正弦波的數(shù)據(jù)表保存在靜態(tài)內(nèi)存中,然后在 DAC 以及這塊內(nèi)存中間使用 DMA 建立一個(gè)通道,經(jīng)過(guò)以上步驟之后,DAC 模塊就可以通過(guò) DMA 通道拿取靜態(tài)內(nèi)存中可以生成正弦波的數(shù)據(jù),拿取數(shù)據(jù),然后經(jīng)過(guò)數(shù)模準(zhǔn)換,在引腳進(jìn)行輸出就可以得到正弦波了。那么當(dāng)然,這個(gè)速度是非常快的,如果沒(méi)有一定的延時(shí),那么得到的估計(jì)就是一個(gè)變化很快的模擬量。所以這個(gè)時(shí)候就需要使用定時(shí)器 TIMER 了。DAC 在初始化的時(shí)候,可以設(shè)置成使用定時(shí)器觸發(fā),這就意味著,當(dāng)定時(shí)器溢滿的時(shí)候,就會(huì)觸發(fā) DAC 工作。這樣一來(lái),就可以通過(guò)改變定時(shí)器的定時(shí)時(shí)間來(lái)改變正弦波的周期了。電壓大小的顯示用 DAC 來(lái)處理。(PA4 和 PA5 短接,DAC 與 ADC 結(jié)合。)

目錄│文件列表:

 └ stm32f407-oscilloscope

    ├ CORE

    │  │ core_cm4.h

    │  │ core_cm4_simd.h

    │  │ core_cmFunc.h

    │  │ core_cmInstr.h

    │  └ startup_stm32f40_41xxx.s

    ├ FWLIB

    │  ├ inc

    │  │  │ misc.h

    │  │  │ stm32f4xx_adc.h

    │  │  │ stm32f4xx_can.h

    │  │  │ stm32f4xx_crc.h

    │  │  │ stm32f4xx_cryp.h

    │  │  │ stm32f4xx_dac.h

    │  │  │ stm32f4xx_dbgmcu.h

    │  │  │ stm32f4xx_dcmi.h

    │  │  │ stm32f4xx_dma.h

    │  │  │ stm32f4xx_dma2d.h

    │  │  │ stm32f4xx_exti.h

    │  │  │ stm32f4xx_flash.h

    │  │  │ stm32f4xx_flash_ramfunc.h

    │  │  │ stm32f4xx_fmc.h

    │  │  │ stm32f4xx_fsmc.h

    │  │  │ stm32f4xx_gpio.h

    │  │  │ stm32f4xx_hash.h

    │  │  │ stm32f4xx_i2c.h

    │  │  │ stm32f4xx_iwdg.h

    │  │  │ stm32f4xx_ltdc.h

    │  │  │ stm32f4xx_pwr.h

    │  │  │ stm32f4xx_rcc.h

    │  │  │ stm32f4xx_rng.h

    │  │  │ stm32f4xx_rtc.h

    │  │  │ stm32f4xx_sai.h

    │  │  │ stm32f4xx_sdio.h

    │  │  │ stm32f4xx_spi.h

    │  │  │ stm32f4xx_syscfg.h

    │  │  │ stm32f4xx_tim.h

    │  │  │ stm32f4xx_usart.h

    │  │  └ stm32f4xx_wwdg.h

    │  └ src

    │     │ misc.c

    │     │ stm32f4xx_adc.c

    │     │ stm32f4xx_can.c

    │     │ stm32f4xx_crc.c

    │     │ stm32f4xx_cryp.c

    │     │ stm32f4xx_cryp_aes.c

    │     │ stm32f4xx_cryp_des.c

    │     │ stm32f4xx_cryp_tdes.c

    │     │ stm32f4xx_dac.c

    │     │ stm32f4xx_dbgmcu.c

    │     │ stm32f4xx_dcmi.c

    │     │ stm32f4xx_dma.c

    │     │ stm32f4xx_dma2d.c

    │     │ stm32f4xx_exti.c

    │     │ stm32f4xx_flash.c

    │     │ stm32f4xx_flash_ramfunc.c

    │     │ stm32f4xx_fmc.c

    │     │ stm32f4xx_fsmc.c

    │     │ stm32f4xx_gpio.c

    │     │ stm32f4xx_hash.c

    │     │ stm32f4xx_hash_md5.c

    │     │ stm32f4xx_hash_sha1.c

    │     │ stm32f4xx_i2c.c

    │     │ stm32f4xx_iwdg.c

    │     │ stm32f4xx_ltdc.c

    │     │ stm32f4xx_pwr.c

    │     │ stm32f4xx_rcc.c

    │     │ stm32f4xx_rng.c

    │     │ stm32f4xx_rtc.c

    │     │ stm32f4xx_sai.c

    │     │ stm32f4xx_sdio.c

    │     │ stm32f4xx_spi.c

    │     │ stm32f4xx_syscfg.c

    │     │ stm32f4xx_tim.c

    │     │ stm32f4xx_usart.c

    │     └ stm32f4xx_wwdg.c

    ├ HARDWARE

    │  ├ ADC

    │  │  │ adc.c

    │  │  └ adc.h

    │  ├ BEEP

    │  │  │ beep.c

    │  │  └ beep.h

    │  ├ DAC

    │  │  │ dac.c

    │  │  └ dac.h

    │  ├ KEY

    │  │  │ key.c

    │  │  └ key.h

    │  ├ LCD

    │  │  │ FONT.H

    │  │  │ lcd.c

    │  │  └ lcd.h

    │  ├ LED

    │  │  │ led.c

    │  │  └ led.h

    │  ├ TIMER

    │  │  │ timer.c

    │  │  └ timer.h

    │  └ TOUCH

    │     │ rtouch.c

    │     └ rtouch.h

    ├ OBJ

    │  └ LCD.hex

    ├ SYSTEM

    │  ├ delay

    │  │  │ delay.c

    │  │  └ delay.h

    │  ├ sys

    │  │  │ sys.c

    │  │  └ sys.h

    │  └ usart

    │     │ usart.c

    │     └ usart.h

    └ USER

       │ JLinkSettings.ini

       │ LCD.uvoptx

       │ LCD.uvprojx

       │ main.c

       │ stm32f4xx.h

       │ stm32f4xx_conf.h

       │ stm32f4xx_it.c

       │ stm32f4xx_it.h

       │ system_stm32f4xx.c

       │ system_stm32f4xx.h

       │ waveform.c

       └ waveform.h

TAG信號(hào)發(fā)生器
  • 7 次
  • 20 分