专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
DAC输出应该是0V,结果直接干到2V了,我也是醉了
2019-10-11 16:47
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
1606
11
1696
各位大神帮忙过来看看,我设置DAC输出为0-4095,结果用ADC测试一直在1.99V-2.3V直接变化,既达不到0V,也达不到3.3V,都是按照教程来设置的,为啥呢,
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
kingnike
2019-10-12 09:29
[mw_shl_code=applescript,true]void dac_init(void)
{
/* Init Structure definition */
DAC_InitTypeDef DAC_InitStructure;
/* DAC Periph clock enable */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
/* DAC channel1 Configuration */
DAC_InitStructure.DAC_Trigger = DAC_Trigger_Software;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable;//使能输出缓存,增大驱动外部电路能力
DAC_Init(DAC_Channel_2, &DAC_InitStructure);
/* Enable DAC Channel2: Once the DAC channel2 is enabled, PA.05 is
automatically connected to the DAC converter. */
DAC_Cmd(DAC_Channel_2, ENABLE);
}[/mw_shl_code]
[mw_shl_code=applescript,true]/*****************************************************************************
*@DAC控制函数,DAC1用于控制液晶对比度调节
*@传递参数:1000倍目标电压值。最大可输出3.23V,最小为0.
******************************************************************************/
void dac_ctr(s32 vol)
{
u16 ctrdata=0;
float temp=0;
temp=(float)vol/1000; //real voltage
ctrdata=temp/3.23*4095;
if(ctrdata>4095)
ctrdata=4095;
DAC_SetChannel2Data (DAC_Align_12b_R,ctrdata);//12bit dac,right alignement,
/* Start DAC Channel2 conversion by software */
DAC_SoftwareTriggerCmd(DAC_Channel_2, ENABLE);
}[/mw_shl_code]
这是以前F100上面的代码,你对比看下吧。
加载中...
查看其它11个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
{
/* Init Structure definition */
DAC_InitTypeDef DAC_InitStructure;
/* DAC Periph clock enable */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
/* DAC channel1 Configuration */
DAC_InitStructure.DAC_Trigger = DAC_Trigger_Software;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable;//使能输出缓存,增大驱动外部电路能力
DAC_Init(DAC_Channel_2, &DAC_InitStructure);
/* Enable DAC Channel2: Once the DAC channel2 is enabled, PA.05 is
automatically connected to the DAC converter. */
DAC_Cmd(DAC_Channel_2, ENABLE);
}[/mw_shl_code]
[mw_shl_code=applescript,true]/*****************************************************************************
*@DAC控制函数,DAC1用于控制液晶对比度调节
*@传递参数:1000倍目标电压值。最大可输出3.23V,最小为0.
******************************************************************************/
void dac_ctr(s32 vol)
{
u16 ctrdata=0;
float temp=0;
temp=(float)vol/1000; //real voltage
ctrdata=temp/3.23*4095;
if(ctrdata>4095)
ctrdata=4095;
DAC_SetChannel2Data (DAC_Align_12b_R,ctrdata);//12bit dac,right alignement,
/* Start DAC Channel2 conversion by software */
DAC_SoftwareTriggerCmd(DAC_Channel_2, ENABLE);
}[/mw_shl_code]
这是以前F100上面的代码,你对比看下吧。
一周热门 更多>