为什么我的DAC不能输出电压数据?芯片是stm32f103c8

2019-07-14 14:40发布

int main(void)
{  
  DAC_InitTypeDef DAC_InitType;
  GPIO_InitTypeDef GPIO_InitStructure;

  delay_init();

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE );  
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE );   
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;     // ¶Ë¿ÚÅäÖÃ
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN ;    //Ä£ÄâÊäÈë  GPIO_Mode_AIN
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_ResetBits(GPIOA,GPIO_Pin_4) ;//PA.4 Êä³ö¸ß
     
DAC_InitType.DAC_Trigger=DAC_Trigger_None;
DAC_InitType.DAC_WaveGeneration=DAC_WaveGeneration_None;//
DAC_InitType.DAC_LFSRUnmask_TriangleAmplitude=DAC_LFSRUnmask_Bit0;
DAC_InitType.DAC_OutputBuffer=DAC_OutputBuffer_Disable ;
  DAC_Init(DAC_Channel_1,&DAC_InitType);  

   
  
   DAC_Cmd(DAC_Channel_1, ENABLE);
//    DAC_DMACmd(DAC_Channel_1, ENABLE); //
     DAC_SetChannel1Data(DAC_Align_12b_R, 2000);  

  while(1)
{
   delay_ms(1000);
   DAC_SetChannel1Data(DAC_Align_12b_R, 0);  
  delay_ms(1000);
   DAC_SetChannel1Data(DAC_Align_12b_R, 4096);  
}  
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
60user126
1楼-- · 2019-07-15 13:12
如果一定要用DAC的话也可以用PWM加滤波器实现,就是开关电源的原理
cnm7
2楼-- · 2019-07-15 17:40
可以参考STM32F103ZET6中文资料

一周热门 更多>