資源簡介
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個文件信息
評論
共有 條評論