请教关于STM32F103RCT6的DAC的问题

[复制链接]
4390|5
 楼主| mcuatmel 发表于 2011-12-8 10:02 | 显示全部楼层 |阅读模式
我的程序如下:
void DAC_Configuration(void)
{
  DAC_InitTypeDef DAC_InitStructure;
/* DAC Periph clock enable */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
/* DAC channel1 Configuration */
  DAC_DeInit();
  DAC_StructInit(&DAC_InitStructure);
  DAC_InitStructure.DAC_Trigger = DAC_Trigger_Software;
  DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
  DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude =DAC_TriangleAmplitude_4095;
  DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
  DAC_Init(DAC_Channel_1, &DAC_InitStructure);
  DAC_StructInit(&DAC_InitStructure);
  DAC_InitStructure.DAC_Trigger = DAC_Trigger_Software;
  DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
  DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude =DAC_TriangleAmplitude_4095;
  DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
  DAC_Init(DAC_Channel_2, &DAC_InitStructure);
  DAC_Cmd(DAC_Channel_1, ENABLE);
  DAC_Cmd(DAC_Channel_2, ENABLE);
  DAC_SetDualChannelData(DAC_Align_12b_R, 0, 0);
  DAC_DualSoftwareTriggerCmd(ENABLE);
}
不知是哪里不对,现DAC输出用表测量为1V左右,请指点下!谢谢!
auzxj 发表于 2011-12-8 10:05 | 显示全部楼层
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable;
 楼主| mcuatmel 发表于 2011-12-8 10:11 | 显示全部楼层
我试过了,不行。
另外还请教:这个buffer有什么用?是怎么使用的?如果用它,数据的传输过程是怎样的?
auzxj 发表于 2011-12-8 10:25 | 显示全部楼层
buffer是输出缓冲,相当于在DAC的输出端加了个跟随。。。提高带载能力。。。
 楼主| mcuatmel 发表于 2011-12-11 15:18 | 显示全部楼层
换了一个新的片子还是不好用,请大家帮忙呀!
蓝色沸点 发表于 2014-2-28 14:25 | 显示全部楼层
应该用示波器看三角波吧,另外程序可以精简下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

512

主题

1456

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部