历史上的今天
今天是:2025年04月21日(星期一)
2020年04月21日 | STM32的DAC输出驱动电压
2020-04-21 来源:eefocus
目的
项目中的模块对输出电压的改变来控制功率、所以考虑用stm32内部的DAC来输出电压作为驱动。
源代码
#include "dac.h"
void Dac1_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
DAC_InitTypeDef DAC_InitType;
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_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_4) ;
DAC_InitType.DAC_Trigger=DAC_Trigger_Software;
DAC_InitType.DAC_WaveGeneration=DAC_WaveGeneration_None;
DAC_InitType.DAC_LFSRUnmask_TriangleAmplitude=DAC_LFSRUnmask_Bit0;
//DAC_InitType.DAC_OutputBuffer=DAC_OutputBuffer_Disable ;
DAC_InitType.DAC_OutputBuffer=DAC_OutputBuffer_Enable ;
DAC_Init(DAC_Channel_1,&DAC_InitType);
DAC_Cmd(DAC_Channel_1, ENABLE); //ʹÄÜDAC1
DAC_SetChannel1Data(DAC_Align_12b_R, 0);
}
void Dac1_Set_Vol(uint16_t vol)
{
uint16_t temp;
temp = (uint16_t) ((vol/3.3) * 4096);
DAC_SetChannel1Data(DAC_Align_12b_R,temp);
DAC_SoftwareTriggerCmd(DAC_Channel_1,ENABLE);
}
void DAC_OutVoltage(float valtage)
{
uint16_t data;
data = (uint16_t)((valtage/3.3) *4096);
DAC_SetChannel1Data(DAC_Align_12b_R,data);
DAC_SoftwareTriggerCmd(DAC_Channel_1,ENABLE);
}
在实现输出的电压后、用万用表测量。输出的电压虽然正确。但用在模块上发现驱动能力不够
//DAC_InitType.DAC_OutputBuffer=DAC_OutputBuffer_Disable ;
正是由于DAC_OutputBuffer没有使能!。。。。
上一篇:STM32_DAC之软件触发
下一篇:STM32 软件触发 DAC
史海拾趣
|
用89C2051、24C02设计程序,达到下列功能:(最好能用C51语言设计) 89S2051接受两个按键的控制信号进行增减计数,并在数码管显示0、1、2、3、4、5、6、7、8、9、A、B、C|、D、E、F共16种状态。 同时输出控制信号0~16的二进制步进数值(D1~D4)给 ...… 查看全部问答> |
|
目前在做VxWorks的应用程序代码移植,从5.4到6.5,在5.4的代码使用了ifLib库里的函数,如ifunit()、ifAddrGet()等;而在VxWorks6.5中,ifLib库已经没用,请问是用别的库来代替?若是,可否有针对性的对ifunit()做个移植的解释?谢谢!… 查看全部问答> |
|
C#写的MMI程序不能在CE里运行。在XP下双击该程序,运行正常,可拷到CE下却不能运行,什么也不提示。可是在.net studio中下载到CE中,却可以调试并正常显示。 请问,是不是PB生成bin时,什么组建没加进去? 其中,.net compact framework1.0已经 ...… 查看全部问答> |
|
在WINCE6.0上使用附带的WEB服务器,能够访问htm文件。但是不能打开ASP文件。错误是501/505。不明白是怎么回事。 望有经验者指导一下。… 查看全部问答> |
|
如何将一个wince应用程序通过pc机下载到wince平台中,通自已写的开发的程序进行下载,而不是通过开发工具下载。下载程序与cdtk类似(将exe或dll下载到wince平台中),请各位大虾指点该下载程序的开发思路。 … 查看全部问答> |
|
请问谁有MSG710芯片驱动(最好是linux下面的)的,现在正在做模拟屏的驱动,第一次做芯片驱动又比较急,不知道该怎么下手,想要一份参考一下。谢谢。 luogk@magliving.com … 查看全部问答> |




