历史上的今天
返回首页

历史上的今天

今天是: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没有使能!。。。。

推荐阅读

史海拾趣

Amphenol Thermometrics公司的发展小趣事

Amphenol Thermometrics 是 Amphenol 公司旗下的子公司,专注于设计、制造和销售温度传感器和测量解决方案,在电子行业和其他领域发挥着重要作用。以下是关于 Amphenol Thermometrics 公司发展的五个相关故事:

  1. 创立与初期发展:Amphenol Thermometrics 公司的历史可以追溯到20世纪60年代,当时公司成立于美国纽约州的克拉克森市。最初,公司主要致力于生产温度传感器和测量装置,为不同行业的客户提供可靠的温度监测解决方案。随着技术的进步和市场需求的增长,Amphenol Thermometrics 逐渐壮大成为温度传感器领域的重要参与者。

  2. 技术创新与产品多样化:Amphenol Thermometrics 公司在温度传感器领域持续进行技术创新,并不断推出新型的温度传感器和测量解决方案。公司致力于提升产品的精度、灵敏度和可靠性,满足客户对高性能温度监测设备的需求。除了传统的温度传感器,Amphenol Thermometrics 还推出了一系列新型产品,如热电阻、热敏电阻、红外线传感器等,拓展了产品线的多样性。

  3. 客户合作与定制化解决方案:Amphenol Thermometrics 公司与客户建立了密切的合作关系,共同开发定制化的温度传感器和测量解决方案。公司的工程团队与客户紧密合作,根据客户的需求和应用场景,设计和制造符合特定要求的产品。这种定制化解决方案能够满足客户个性化的需求,为客户提供更加专业和完善的温度监测服务。

  4. 质量控制与认证标准:Amphenol Thermometrics 公司高度重视产品质量控制,并严格遵循国际质量管理体系标准。公司的生产工艺和质量管理体系符合ISO 9001质量管理体系认证标准,以确保产品质量的稳定性和可靠性。此外,Amphenol Thermometrics 公司的产品还通过了各种行业和应用领域的认证标准,如汽车行业的TS16949认证等,确保产品符合行业标准和规定。

  5. 全球市场拓展与合作伙伴关系:除了在美国的生产基地外,Amphenol Thermometrics 公司还在全球范围内设有多个销售办事处和代理商网络,拓展了国际市场份额。公司与全球各种行业领先企业建立了长期稳定的合作关系,共同推动产品的创新和市场拓展。通过全球市场拓展和合作伙伴关系,Amphenol Thermometrics 公司不断扩大业务规模,增强了在温度传感器领域的市场竞争力。

这些故事展示了 Amphenol Thermometrics 公司从成立初期到如今在技术创新、产品多样化、客户合作与定制化解决方案、质量控制与认证标准以及全球市场拓展与合作伙伴关系等方面取得的重要进展。

B+B SmartWorx公司的发展小趣事

2016年,B+B SmartWorx与研华达成合并协议,成为研华全球大家庭的一员。这次合并是双方战略发展的重要一步,研华看中了B+B SmartWorx在物联网和工业网通领域的深厚积累,而B+B SmartWorx则借助研华在亚洲的资源与经验,进一步拓展其全球市场。合并后,双方在产品开发、业务布局等方面进行了深度融合,共同推动工业物联网领域的发展。

喜美克斯(Cvilux)公司的发展小趣事

喜美克斯(Cvilux)公司自创立之初,就以其对电子技术的深刻理解和创新精神在行业中崭露头角。公司的创始人是一位电子工程领域的资深专家,他带领着一支充满激情的年轻团队,针对当时市场上电子产品的一些痛点,开始研发具有自主知识产权的新技术。经过数月的努力,他们成功开发出了一款具有高效能、低功耗特点的电子芯片,这一创新技术迅速获得了市场的认可,为喜美克斯公司的发展奠定了坚实的基础。

Chyao Shiunn Electronic Industrial Ltd公司的发展小趣事

随着电子技术的不断发展,Chyao Shiunn意识到只有不断创新才能在竞争中立于不败之地。因此,公司加大了对研发的投入力度,成立了专门的研发团队,致力于开发具有自主知识产权的新技术和新产品。同时,公司还积极推动产业升级,引进先进的生产设备和管理理念,提高生产效率和质量水平。这些努力使得公司在电子行业中保持了领先地位。

Crowd_Supply__Inc.公司的发展小趣事

随着电子行业的快速发展和市场竞争的加剧,Crowd Supply Inc.也面临着诸多挑战。为了保持竞争优势,公司不断调整战略方向,加大在新技术领域的投入。例如,公司近期开始关注物联网和人工智能等前沿技术的应用,通过整合社区资源和技术优势,成功开发出了一系列具有市场潜力的新产品。

Anvo-Systems公司的发展小趣事

Anvo-Systems公司自成立以来,一直致力于电子技术的研发与创新。某年,公司成功研发出一款具有高效能源利用率的智能家居控制系统,该产品迅速在市场上获得了广泛关注。通过不断优化产品性能和用户体验,Anvo-Systems逐步扩大了市场份额,并与多家知名家电品牌建立了合作关系。这一技术突破不仅提升了公司的知名度,也为公司的持续发展奠定了坚实基础。

问答坊 | AI 解惑

求助用89C2051、24C02设计程序。

用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)给 ...…

查看全部问答>

VxWorks5.4->6.5移植--ifLib

目前在做VxWorks的应用程序代码移植,从5.4到6.5,在5.4的代码使用了ifLib库里的函数,如ifunit()、ifAddrGet()等;而在VxWorks6.5中,ifLib库已经没用,请问是用别的库来代替?若是,可否有针对性的对ifunit()做个移植的解释?谢谢!…

查看全部问答>

WINCE字体的问题!

请问:修改WINCE的字体变使它变小后,窗口上文字又显示不清晰!有什么好办法解决呀!谢谢了!…

查看全部问答>

C#写的MMI程序不能在CE里运行?

C#写的MMI程序不能在CE里运行。在XP下双击该程序,运行正常,可拷到CE下却不能运行,什么也不提示。可是在.net studio中下载到CE中,却可以调试并正常显示。 请问,是不是PB生成bin时,什么组建没加进去? 其中,.net compact framework1.0已经 ...…

查看全部问答>

请教wince下不能打开ASP文件问题

在WINCE6.0上使用附带的WEB服务器,能够访问htm文件。但是不能打开ASP文件。错误是501/505。不明白是怎么回事。 望有经验者指导一下。…

查看全部问答>

求单片机控制程序源代码

各位大侠帮忙啊~ 求单片机控制程序源代码,单片机控制状态的转移  就是实现标签和阅读器的控制 希望做过有经验的 帮帮忙啊  感谢感谢…

查看全部问答>

自动控制原理

有没有对自动控制原理感兴趣的大师啊,交流下.…

查看全部问答>

如何将wince应用程序下载到wince平台

如何将一个wince应用程序通过pc机下载到wince平台中,通自已写的开发的程序进行下载,而不是通过开发工具下载。下载程序与cdtk类似(将exe或dll下载到wince平台中),请各位大虾指点该下载程序的开发思路。 …

查看全部问答>

测试设备,寻求合作!

水位、温度测试,用单片机实现,体积要小,数据传送800米,最好用mcs1200,熟悉者联系:437175689,诚求合作…

查看全部问答>

请问谁有 MST710 芯片驱动

请问谁有MSG710芯片驱动(最好是linux下面的)的,现在正在做模拟屏的驱动,第一次做芯片驱动又比较急,不知道该怎么下手,想要一份参考一下。谢谢。 luogk@magliving.com …

查看全部问答>