打印

请教关于STM32F103RCT6的DAC的问题

[复制链接]
3621|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的输出端加了个跟随。。。提高带载能力。。。

使用特权

评论回复
5
mcuatmel|  楼主 | 2011-12-11 15:18 | 只看该作者
换了一个新的片子还是不好用,请大家帮忙呀!

使用特权

评论回复
6
蓝色沸点| | 2014-2-28 14:25 | 只看该作者
应该用示波器看三角波吧,另外程序可以精简下

使用特权

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

本版积分规则

512

主题

1456

帖子

2

粉丝