中级会员
 
- 积分
- 252
- 金钱
- 252
- 注册时间
- 2013-12-30
- 在线时间
- 0 小时
|
5金钱
#include "delay.h"
#include "sys.h"
#include "usart.h"
//ALIENTEK战舰STM32开发板实验19
//DAC 实验
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司
/*DAC_InitTypeDef DAC_InitType;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
GPIO_InitTypeDef GPIO_InitStructure; */
void GPIO_Config(void);
void TIM2_Config(void);
void DAC_Config(void);
int main(void)
{
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600); //串口初始化为9600
SystemInit();
GPIO_Config();
TIM2_Config();
DAC_Config();
while(1)
{
}
}
void TIM2_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE);
TIM_TimeBaseStructure.TIM_Period =0x0f;
TIM_TimeBaseStructure.TIM_Prescaler = 0x0f;
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM6, &TIM_TimeBaseStructure);
TIM_ARRPreloadConfig(TIM2 , ENABLE);
TIM_SelectOutputTrigger(TIM2 , TIM_TRGOSource_Update);
TIM_Cmd(TIM2, ENABLE);
}
void DAC_Config(void)
{
DAC_InitTypeDef DAC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC , ENABLE);
DAC_InitStructure.DAC_Trigger = DAC_Trigger_T2_TRGO;
DAC_InitStructure.DAC_WaveGeneration =DAC_WaveGeneration_Triangle ; //DAC_WaveGeneration_None
DAC_InitStructure.DAC_WaveGeneration=DAC_TriangleAmplitude_2047;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
DAC_Init(DAC_Channel_1, &DAC_InitStructure);
DAC_Cmd(DAC_Channel_1, ENABLE); //使能DAC1
}
void GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
用DAC的一个通道输出三角波,为什么没有波形输出?
|
|