资源简介
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个文件信息
相关资源
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- DAC0832波形发生器幅值及频率都精确可
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
评论
共有 条评论