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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5171|回復: 0
收起左側

STM32 DAC+DMA成功輸出正弦波 源程序

[復制鏈接]
ID:587820 發表于 2019-7-24 13:58 | 顯示全部樓層 |閱讀模式
stm32F4正弦波輸出

單片機源程序如下:
  1. #include "dac.h"
  2. #include "sys.h"
  3. #include "math.h"
  4. #define PI  3.14159
  5. #define DAC_DHR12R1_ADDRESS     0x40007408

  6. u16 sinTable[tableSize];

  7. void sin_Generation(void)
  8. {
  9.         u16 n;
  10.         for(n=0;n<tableSize;n++)
  11.         {
  12.                 sinTable[n] = (sin(2*PI*n/tableSize)+1)*2047;       
  13.         }       
  14. }

  15. void TIM6_Configuration(void)
  16. {
  17.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE);       

  18.         TIM_PrescalerConfig(TIM6, 83, TIM_PSCReloadMode_Update);
  19.           TIM_SetAutoreload(TIM6, 4);
  20.           TIM_SelectOutputTrigger(TIM6, TIM_TRGOSource_Update);
  21.         TIM_Cmd(TIM6, ENABLE);
  22. }

  23. void GPIO_Configuration(void)
  24. {
  25.         GPIO_InitTypeDef GPIO_InitStructure;

  26.           RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

  27.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
  28.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  29.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  30.         GPIO_Init(GPIOA, &GPIO_InitStructure);
  31. }

  32. void DAC_DMA_Configuration(void)
  33. {
  34.         DAC_InitTypeDef  DAC_InitStructure;       

  35.         DMA_InitTypeDef DMA_InitStructure;

  36.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE);
  37.        
  38.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);

  39.         DAC_InitStructure.DAC_Trigger = DAC_Trigger_T6_TRGO;
  40.         DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
  41.         DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
  42.         DAC_Init(DAC_Channel_1, &DAC_InitStructure);

  43.         DMA_DeInit(DMA1_Stream5);
  44.         DMA_InitStructure.DMA_Channel = DMA_Channel_7;  
  45.         DMA_InitStructure.DMA_PeripheralBaseAddr = DAC_DHR12R1_ADDRESS;
  46.         DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&sinTable;
  47.         DMA_InitStructure.DMA_BufferSize = tableSize;
  48.         DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
  49.         DMA_InitStructure.DMA_MemoryDataSize = DMA_PeripheralDataSize_HalfWord;
  50.         DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral;
  51.         DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
  52.         DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
  53.         DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
  54.         DMA_InitStructure.DMA_Priority = DMA_Priority_High;
  55.         DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;         
  56.         DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull;
  57.         DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
  58.         DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
  59.         DMA_Init(DMA1_Stream5, &DMA_InitStructure);   
  60.        
  61.         DMA_Cmd(DMA1_Stream5, ENABLE);
  62.        
  63.         DAC_Cmd(DAC_Channel_1, ENABLE);
  64.        
  65.         DAC_DMACmd(DAC_Channel_1, ENABLE);
  66. }
復制代碼

所有資料51hei提供下載:
DAC+DMA成功輸出正弦波.7z (301.68 KB, 下載次數: 101)


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线视频三区 | 亚州国产 | 久久久久久久一区 | 毛色毛片免费看 | 久久亚 | 精品国产精品一区二区夜夜嗨 | 91在线观看视频 | 中文字幕一级 | 免费一级大片 | 国产一区二区精品在线 | 成人久久久 | 超碰免费在线 | 新91视频网 | 亚洲激情一区二区 | 欧美久久久久久 | 午夜精品一区二区三区免费视频 | 国产精品久久久久久久久久久久 | 在线一区 | 亚洲精品中文字幕在线观看 | 玖玖玖在线观看 | 麻豆视频在线免费观看 | 国产精品欧美一区二区 | 国产精品视频免费观看 | 国产精品久久视频 | 国产成人a亚洲精品 | 亚洲一区二区三区免费观看 | 人人做人人澡人人爽欧美 | 国产日韩欧美91 | 欧美一级欧美三级在线观看 | 午夜精品 | 亚洲视频在线播放 | 一区二区三区观看视频 | 久久小视频 | 美女福利视频 | www久久久| 久久久久久国产 | 精品真实国产乱文在线 | 盗摄精品av一区二区三区 | av片免费 | 久久青草av| 成人免费三级电影 |