久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7412|回復: 6
打印 上一主題 下一主題
收起左側

STM32F407定時器觸發ADC采樣并通過DMA傳輸的源程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:588281 發表于 2019-7-22 17:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是我使用標準庫寫的,通過定時器觸發ADC采樣,然后通過DMA進行傳輸的例程。例程已在STM32F407上驗證通過

單片機源程序如下:
  1. /*需要按下復位鍵才能正常打印數據,原因不明
  2. 定時器1s觸發一次ADC轉換,然后通過DMA將ADC轉換的數據搬運到內存中,然后在dma中斷中判斷搬運是否完成,在main
  3. 的循環中不斷讀取轉換的值-----取采樣數據的平均值的代碼可以參考原子的
  4. 要注意的是,這里采用的是定時器1通道1上升沿觸發,而數據有8個,若每1s觸發一次,則需要每8s才能顯示一次轉換的數據,因此將定時器觸發時間改為了1/8s*/
  5. //#include "stm32f4xx.h"
  6. #include "usart_printf.h"
  7. #include "bsp_systick.h"
  8. #include "bsp_led.h"
  9. #include "ADC.h"
  10. #include "DMA.h"
  11. #include "Timer.h"
  12. RCC_ClocksTypeDef get_rcc_clock;
  13. __IO uint16_t ADC_RegularConvertedValueTab[8] = {0};

  14. //這里可以使用兩種定時器觸發模式,一種是TIM2 CH2對應PA1,一種是TIM_CH1對應PA8
  15. u8 flag=0;
  16. /*軟件復位*/
  17. //void mcuRestart(void)
  18. //{
  19. //__set_FAULTMASK(1); //關閉所有中斷
  20. //NVIC_SystemReset(); //復位
  21. //}

  22. int main(void)
  23. {
  24. //        mcuRestart();
  25.         usart_Init ();
  26.         delay_init();                     //延時函數初始化
  27.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  28.         TIM1_PWM_Init();
  29.   ADC_Configuration();
  30.         DMA2_Init();
  31.         printf("這是一個測試\r\n");
  32.         RCC_GetClocksFreq(&get_rcc_clock);
  33.   while (1)
  34.   {
  35.                 if(flag)
  36.                  {
  37.                          flag=0;
  38.                                          for(int i=0;i<8;i++)
  39.                                         {
  40.                                                 printf("%d ",ADC_RegularConvertedValueTab[i]);                        
  41.                                         }

  42.                  }
  43.   }
  44. }
復制代碼

所有資料51hei提供下載:
TIM+ADC+DMA實驗.7z (592.7 KB, 下載次數: 330)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:588726 發表于 2019-7-23 15:29 | 只看該作者
沒有資源下載!
回復

使用道具 舉報

板凳
ID:376348 發表于 2019-8-7 15:31 | 只看該作者
請問樓主,我把定時器觸發AD改成1us觸發一次為什么就傳輸不了數據了??
回復

使用道具 舉報

地板
ID:609954 發表于 2019-12-13 12:08 | 只看該作者
AD采集精度如何呢
回復

使用道具 舉報

5#
ID:359762 發表于 2020-1-19 12:52 | 只看該作者
下載來看看。。希望有用
回復

使用道具 舉報

6#
ID:783744 發表于 2020-6-19 02:47 | 只看該作者
下載看看
回復

使用道具 舉報

7#
ID:591382 發表于 2020-8-17 18:36 | 只看該作者
STM32F407中的AD采樣模塊、DMA模塊,我這幾天都有在學,今天參考了這個程序代碼,確實很有用。希望自己能堅持學習下去。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 无吗视频| 亚洲免费一区二区 | 精品国产1区2区3区 一区二区手机在线 | 在线免费黄色小视频 | 亚洲久久一区 | 国产精品美女久久久久久免费 | 成人在线视频一区 | 国产中文字幕av | 国产精品1区 | 欧美一级毛片免费观看 | 欧美天堂 | 91高清免费观看 | 亚洲视频三区 | 国产午夜精品一区二区三区四区 | 欧美日韩精品区 | 亚洲综合国产精品 | 日本超碰 | 精品福利av导航 | 亚洲精品二区 | 久久久妇女国产精品影视 | 午夜不卡福利视频 | 亚洲成人黄色 | 国产激情偷乱视频一区二区三区 | 成人在线中文字幕 | 久久久久精 | 伊人久久免费视频 | 99在线免费视频 | 亚洲一区 中文字幕 | 国产精品777一区二区 | 羞羞视频一区二区 | 成人黄色av网址 | 中文字幕国产 | 中国美女av | 国产精品久久久久9999鸭 | 国产色爽 | 国产成人高清成人av片在线看 | 免费观看成人性生生活片 | 成人福利网站 | 日韩二| 一级黄色生活视频 | 国产精品高潮呻吟久久 |