高级会员

- 积分
- 529
- 金钱
- 529
- 注册时间
- 2014-10-9
- 在线时间
- 145 小时
|
5金钱
#include "dac.h"
#include "time.h"
void TIM2_Init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
TIM_TimeBaseInitStructure.TIM_ClockDivision=0;
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInitStructure.TIM_Period=9;//?è??×?????×°?????÷????????
TIM_TimeBaseInitStructure.TIM_Prescaler=7199;
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);
TIM_SelectOutputTrigger(TIM2,TIM_TRGOSource_Update);//?¨?±?÷?ü????·?
TIM_Cmd(TIM2,ENABLE);
}
//DAC?¨??1??????????
void Dac1_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
DAC_InitTypeDef DAC_InitType;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE ); //????PORTA?¨???±??
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE ); //????DAC?¨???±??
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; // ????????
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //????????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_4) ;//PA.4 ??????
DAC_InitType.DAC_Trigger=DAC_Trigger_T2_TRGO; //TIM2??·?
DAC_InitType.DAC_WaveGeneration=DAC_WaveGeneration_Triangle;//?????¨????
DAC_InitType.DAC_LFSRUnmask_TriangleAmplitude=DAC_TriangleAmplitude_255;//?????¨??·ù256
DAC_InitType.DAC_OutputBuffer=DAC_OutputBuffer_Disable ; //DAC1??????????±? BOFF1=1
DAC_Init(DAC_Channel_1,&DAC_InitType); //??????DAC?¨??1
DAC_Cmd(DAC_Channel_1, ENABLE); //????DAC1
DAC_SetChannel1Data(DAC_Align_8b_R, 0); //12?????????????????è??DAC??
}
输出三角波频率应该是72000000/(7200*10*511)=1.956hz 但是用示波器测出三角波频率为0.02hz 而且怎么调红色部分输出三角波频率都不变。。。。。。
|
|