请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32的dac输出不是模拟量吗?  

[复制链接]
yww110 提问时间:2019-5-20 15:41 /
用2048*(1+sin(inc*i))产生正弦波函数,用dac1通道,在PA4输出,为什么有的设计是stm32的GPIOA的8个I/O口连接DAC0832的8个数据端,stm32的dac输出的不是模拟量吗,为什么还要接一个D/A转换器的DAC0832呢?

与STM32连接的DAC0832

与STM32连接的DAC0832
收藏 评论40 发布时间:2019-5-20 15:41

举报

40个回答
yww110 回答时间:2019-5-21 13:11:43
toofree 发表于 2019-5-21 13:00
说到底,你还是没有做出来效果后,对应的那个程序。
不过,这没关系呀,只要你现在有的程序流程没有问题, ...

这是他产生波形的函数,他用DAC的,不知怎么改,最后用定时中断PA4模拟输出
论坛怎么传工程?
void dac_creat_buf(void)
{
    u16 i;
    float inc=2*PI/DAC_DAT_SIZE;        
    float outdata=0;
    for(i=0;i<DAC_DAT_SIZE;i++)
    {
        outdata=2048*(1+sin(inc*i));   
                                if(outdata>=4096)
                                        outdata=4095;
        TableSin=outdata;
                       
                                outdata=4096/DAC_DAT_SIZE*i;
                          TableSaw=outdata;
                       
                                outdata=i*8192/DAC_DAT_SIZE;
                                if(i<DAC_DAT_SIZE/2)
                                {                                       
                                        TableTriangle=outdata;
                                        Tablesqu=0;
                                }
                                else
                                {
                                        outdata=8192-8192/DAC_DAT_SIZE-outdata;
                                        if(outdata>=4096)
                                                TableTriangle=4095;
                                        else
                                                TableTriangle=outdata;
                                        Tablesqu=4095;
                                }
    }  
}
STM1024 回答时间:2019-5-20 21:02:10
yww110 发表于 2019-5-20 17:15
是这程序给错了吗,他给我实物是STM32F103C8T6的板子,但程序给的是对DAC的操作
...

肯定是给你代码的人不负责啊。像DAC0832这种芯片,你只需要用IO口输入符合datasheet的数据,他就能转换为你所需的模拟量啊。话说回来,单独一块这个0832似乎不便宜,成本可能比103c8t6还贵,还不如上更高规格的stm32芯片

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

七哥 回答时间:2019-5-21 09:24:36
本帖最后由 toofree 于 2019-5-21 09:27 编辑
yww110 发表于 2019-5-20 17:15
是这程序给错了吗,他给我实物是STM32F103C8T6的板子,但程序给的是对DAC的操作
...

也不一定是程序给错,而可能是你贴出来的程序不全。
只要你的确能从DAC0832输出正确的模拟波形,那么它就至少对这8个IO做了操作,不用怀疑。
这种情况你得附上工程,不要想当然。
你l应该也是初用STM32和Keil,调试经验不足。
wenyangzeng 回答时间:2019-5-20 15:56:45
本帖最后由 wenyangzeng 于 2019-5-20 16:04 编辑

DAC0832是一款8位DAC芯片,它把DI0-DI7的8位数字量转换成模拟量从Iout1或Iout2输出。楼主标题的STM32的DAC与该电路是两码事。某些型号的STM32芯片本身具备DAC功能,无需再像上图所示连接一片DAC0832就可以直接从DAC输出引脚输出模拟信号了。
比如:

无标题.png

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

yww110 回答时间:2019-5-20 16:02:21
额,这电路图是已经做出实物了的,是一个波形发生器,我就是有些搞不明白他为什么还要再接一个DAC0832,而且接了最后输出居然正常
TLLED 回答时间:2019-5-20 16:04:19
stm32的DAC可以直接输出模拟信号啊

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

wenyangzeng 回答时间:2019-5-20 16:05:21
yww110 发表于 2019-5-20 16:02
额,这电路图是已经做出实物了的,是一个波形发生器,我就是有些搞不明白他为什么还要再接一个DAC0832,而 ...

应该是所选芯片没有DAC功能。
yww110 回答时间:2019-5-20 16:09:04
wenyangzeng 发表于 2019-5-20 16:05
应该是所选芯片没有DAC功能。

stm32F103C8T6是DAC的,难道直接和转换芯片DAC0832接8个I/O口就变成数字量了?
七哥 回答时间:2019-5-20 16:31:31
yww110 发表于 2019-5-20 16:09
stm32F103C8T6是DAC的,难道直接和转换芯片DAC0832接8个I/O口就变成数字量了?

stm32F103C8T6的确是没有DAC功能的,加了DAC0832用起来就是那么的简单。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

yww110 回答时间:2019-5-20 16:59:02
惊呆了,没有DAC的stm32,能在编程中对dac操作的吗
无标题.png
yww110 回答时间:2019-5-20 17:15:55
toofree 发表于 2019-5-20 16:31
stm32F103C8T6的确是没有DAC功能的,加了DAC0832用起来就是那么的简单。

是这程序给错了吗,他给我实物是STM32F103C8T6的板子,但程序给的是对DAC的操作
无标题.png
wenyangzeng 回答时间:2019-5-20 17:31:38
yww110 发表于 2019-5-20 16:09
stm32F103C8T6是DAC的,难道直接和转换芯片DAC0832接8个I/O口就变成数字量了?

STM32F103C8T6怎么会有DAC呢?

无标题.png
yww110 回答时间:2019-5-20 18:07:42
wenyangzeng 发表于 2019-5-20 17:31
STM32F103C8T6怎么会有DAC呢?

我查了一下,C8T6是没有dac的,但给的程序里为什么有dac的操作呢
yww110 回答时间:2019-5-20 18:29:46
wenyangzeng 发表于 2019-5-20 17:31
STM32F103C8T6怎么会有DAC呢?

我就搞不懂他为什么没有DAC。还对dac进行操作
watershade 回答时间:2019-5-20 18:43:18
有部分STM32提供DAC,但不是所有。
DAC0832是一款比较老得DAC芯片,已经很少用了。正品贴片的,一片比你的STM32F103还要贵吧。
程序应该是通用程序。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

wenyangzeng 回答时间:2019-5-20 20:19:34
yww110 发表于 2019-5-20 18:29
我就搞不懂他为什么没有DAC。还对dac进行操作

按理说楼主贴出的DAC代码不是用于STM32F103C8T6
123下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版