亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
STM32F407定時器觸發ADC采樣并通過DMA傳輸的源程序
[打印本頁]
作者:
騰訊
時間:
2019-7-22 17:30
標題:
STM32F407定時器觸發ADC采樣并通過DMA傳輸的源程序
這是我使用標準庫寫的,通過定時器觸發ADC采樣,然后通過DMA進行傳輸的例程。例程已在STM32F407上驗證通過
單片機源程序如下:
/*需要按下復位鍵才能正常打印數據,原因不明
定時器1s觸發一次ADC轉換,然后通過DMA將ADC轉換的數據搬運到內存中,然后在dma中斷中判斷搬運是否完成,在main
的循環中不斷讀取轉換的值-----取采樣數據的平均值的代碼可以參考原子的
要注意的是,這里采用的是定時器1通道1上升沿觸發,而數據有8個,若每1s觸發一次,則需要每8s才能顯示一次轉換的數據,因此將定時器觸發時間改為了1/8s*/
//#include "stm32f4xx.h"
#include "usart_printf.h"
#include "bsp_systick.h"
#include "bsp_led.h"
#include "ADC.h"
#include "DMA.h"
#include "Timer.h"
RCC_ClocksTypeDef get_rcc_clock;
__IO uint16_t ADC_RegularConvertedValueTab[8] = {0};
//這里可以使用兩種定時器觸發模式,一種是TIM2 CH2對應PA1,一種是TIM_CH1對應PA8
u8 flag=0;
/*軟件復位*/
//void mcuRestart(void)
//{
//__set_FAULTMASK(1); //關閉所有中斷
//NVIC_SystemReset(); //復位
//}
int main(void)
{
// mcuRestart();
usart_Init ();
delay_init(); //延時函數初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
TIM1_PWM_Init();
ADC_Configuration();
DMA2_Init();
printf("這是一個測試\r\n");
RCC_GetClocksFreq(&get_rcc_clock);
while (1)
{
if(flag)
{
flag=0;
for(int i=0;i<8;i++)
{
printf("%d ",ADC_RegularConvertedValueTab[i]);
}
}
}
}
復制代碼
所有資料51hei提供下載:
TIM+ADC+DMA實驗.7z
(592.7 KB, 下載次數: 330)
2019-7-23 03:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
abnsl
時間:
2019-7-23 15:29
沒有資源下載!
作者:
544088712
時間:
2019-8-7 15:31
請問樓主,我把定時器觸發AD改成1us觸發一次為什么就傳輸不了數據了??
作者:
bndanshen
時間:
2019-12-13 12:08
AD采集精度如何呢
作者:
tianyu22
時間:
2020-1-19 12:52
下載來看看。。希望有用
作者:
yymj
時間:
2020-6-19 02:47
下載看看
作者:
gjs555
時間:
2020-8-17 18:36
STM32F407中的AD采樣模塊、DMA模塊,我這幾天都有在學,今天參考了這個程序代碼,確實很有用。希望自己能堅持學習下去。
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1