• 大小: 3.23MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-19
  • 语言: 其他
  • 标签: stm32  DAC  sin  

资源简介

stm32f407利用DAC的DMA通过产生位数达到256位的sin函数,定时器触发周围41K

资源截图

代码片段和文件信息

#include “stm32f4xx.h“

#define DAC_DHR12R1_ADDRESS     0x40007408

u16 sinTable[tableSize];

void sin_Generation(void)
{
u16 n;
for(n=0;n {
sinTable[n] = (sin(2*PI*n/tableSize)+1)*2047;
}
}

void TIM6_Configuration(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6 ENABLE);

  TIM_PrescalerConfig(TIM6 0x0 TIM_PSCReloadMode_Update);
   TIM_SetAutoreload(TIM6 0x1);
   TIM_SelectOutputTrigger(TIM6 TIM_TRGOSource_Update);
TIM_Cmd(TIM6 ENABLE);
}

void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA &GPIO_InitStructure);
}

void DAC_DMA_Configuration(void)
{
DAC_InitTypeDef  DAC_InitStructure;

DMA_InitTypeDef DMA_InitStructure;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1 ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC ENABLE);

DAC_InitStructure.DAC_Trigger = DAC_Trigger_T6_TRGO;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
DAC_Init(DAC_Channel_1 &DAC_InitStructure);

DMA_DeInit(DMA1_Stream5);
DMA_InitStructure.DMA_Channel = DMA_Channel_7;  
DMA_InitStructure.DMA_PeripheralbaseAddr = DAC_DHR12R1_ADDRESS;
DMA_InitStructure.DMA_Memory0baseAddr = (uint32_t)&sinTable;
DMA_InitStructure.DMA_BufferSize = tableSize;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
DMA_InitStructure.DMA_MemoryDataSize = DMA_PeripheralDataSize_HalfWord;
DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority = DMA_Priority_High;
DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;         
DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull;
DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
DMA_Init(DMA1_Stream5 &DMA_InitStructure);    

DMA_Cmd(DMA1_Stream5 ENABLE);

DAC_Cmd(DAC_Channel_1 ENABLE);

DAC_DMACmd(DAC_Channel_1 ENABLE);



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-07-13 13:10  sin_cos_DAC\
     文件      259595  2012-07-13 13:10  sin_cos_DAC\BlankPrj.uvgui.laoyl
     文件      256964  2012-07-13 10:42  sin_cos_DAC\BlankPrj.uvgui_laoyl.bak
     文件       18614  2012-07-13 13:10  sin_cos_DAC\BlankPrj.uvopt
     文件       17893  2012-07-13 10:42  sin_cos_DAC\BlankPrj.uvproj
     文件       18628  2012-07-13 10:42  sin_cos_DAC\BlankPrj_uvopt.bak
     文件       22611  2012-07-05 00:22  sin_cos_DAC\BlankPrj_uvproj.bak
     目录           0  2012-07-13 13:10  sin_cos_DAC\Debug\
     文件         276  2012-07-13 13:10  sin_cos_DAC\Debug\BlankPrj.plg
     文件         479  2011-10-20 15:08  sin_cos_DAC\Debug\BlankPrj.sct
     文件        2184  2012-07-13 10:40  sin_cos_DAC\Debug\BlankPrj.tra
     文件          19  2012-07-13 10:41  sin_cos_DAC\Debug\ExtDll.iex
     目录           0  2012-07-12 14:16  sin_cos_DAC\lib\
     文件     9654196  2011-07-26 17:34  sin_cos_DAC\lib\arm_cortexM4lf_math.lib
     目录           0  2012-07-12 14:16  sin_cos_DAC\Source\
     文件      240326  2011-10-04 02:48  sin_cos_DAC\Source\arm_math.h
     文件        2424  2012-07-13 10:19  sin_cos_DAC\Source\common.c
     文件         204  2012-07-13 10:05  sin_cos_DAC\Source\common.h
     文件         172  2012-07-13 13:10  sin_cos_DAC\Source\main.c
     文件       26908  2011-09-19 17:06  sin_cos_DAC\Source\selftest.c
     文件        1800  2011-09-19 17:06  sin_cos_DAC\Source\selftest.h
     文件       29506  2011-09-09 12:25  sin_cos_DAC\Source\startup_stm32f4xx.s
     文件        3914  2012-07-12 16:05  sin_cos_DAC\Source\stm32f4xx_conf.h
     文件        4457  2011-09-19 17:07  sin_cos_DAC\Source\stm32f4xx_it.c
     文件        2067  2011-09-19 17:07  sin_cos_DAC\Source\stm32f4xx_it.h
     文件         918  2012-06-29 13:44  sin_cos_DAC\Source\sysdelay.c
     文件         349  2012-06-29 13:46  sin_cos_DAC\Source\sysdelay.h
     文件       21471  2012-06-29 15:22  sin_cos_DAC\Source\system_stm32f4xx.c
     文件        2224  2011-09-19 17:06  sin_cos_DAC\Source\usbd_conf.h
     文件        8400  2011-09-19 17:06  sin_cos_DAC\Source\usbd_desc.c
     文件        3425  2011-09-19 17:06  sin_cos_DAC\Source\usbd_desc.h
............此处省略64个文件信息

评论

共有 条评论