打印

STM32F103RET6之DAC问题????

[复制链接]
3316|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
win2000_li|  楼主 | 2011-3-25 19:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这里是lib3.40的DAC例子,并且用了DMA,其中只有一个通道.

为什么我COPY下来就不能用了呢????

没有输出波形,哪个做出来,给说一说,我哪里坐错了...

谢谢!!!!!!!!!!!!!

以下是例子程序!!!!!!!!!!!!!

#include "stm32f10x.h"

#define DAC_DHR8R1_Address      0x40007410

DAC_InitTypeDef            DAC_InitStructure;
DMA_InitTypeDef            DMA_InitStructure;

const uint8_t Escalator8bit[6] = {0x0, 0x33, 0x66, 0x99, 0xCC, 0xFF};

RCC_Configuration(void);
void GPIO_Configuration(void);
void Delay(__IO uint32_t nCount);

int main(void)
{

RCC_Configuration();   

GPIO_Configuration();

TIM_PrescalerConfig(TIM6, 0xF, TIM_PSCReloadMode_Update);
TIM_SetAutoreload(TIM6, 0xFF);

TIM_SelectOutputTrigger(TIM6, TIM_TRGOSource_Update);

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(DMA2_Channel3);

DMA_InitStructure.DMA_PeripheralBaseAddr = DAC_DHR8R1_Address;
DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&Escalator8bit;
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
DMA_InitStructure.DMA_BufferSize = 6;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_PeripheralDataSize = MA_PeripheralDataSize_Byte;
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority = DMA_Priority_High;
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

DMA_Init(DMA2_Channel3, &DMA_InitStructure);
DMA_Cmd(DMA2_Channel3, ENABLE);

DAC_Cmd(DAC_Channel_1, ENABLE);
DAC_DMACmd(DAC_Channel_1, ENABLE);

TIM_Cmd(TIM6, ENABLE);

while(1)
{

  }
}
沙发
win2000_li|  楼主 | 2011-3-25 19:54 | 只看该作者
void RCC_Configuration(void)
{   
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE);
}

void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}

void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}

使用特权

评论回复
板凳
win2000_li|  楼主 | 2011-3-25 19:55 | 只看该作者
STM32F10x_StdPeriph_Examples/DAC/OneChannelDMA_Escalator/main.c

就是这个例子.

使用特权

评论回复
地板
win2000_li|  楼主 | 2011-3-26 11:31 | 只看该作者
自已顶。。。。。。。。。。。。。

没有试过没?????

使用特权

评论回复
5
yinyangdianzi| | 2011-3-26 22:34 | 只看该作者
看不懂啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

142

主题

718

帖子

1

粉丝