你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
ä¸STM32è¿æ¥çDAC0832
举报
toofree 发表于 2019-5-21 13:00 说到底,你还是没有做出来效果后,对应的那个程序。 不过,这没关系呀,只要你现在有的程序流程没有问题, ...
yww110 发表于 2019-5-20 17:15 是这程序给错了吗,他给我实物是STM32F103C8T6的板子,但程序给的是对DAC的操作 ...
查看全部评分
yww110 发表于 2019-5-20 16:02 额,这电路图是已经做出实物了的,是一个波形发生器,我就是有些搞不明白他为什么还要再接一个DAC0832,而 ...
wenyangzeng 发表于 2019-5-20 16:05 应该是所选芯片没有DAC功能。
yww110 发表于 2019-5-20 16:09 stm32F103C8T6是DAC的,难道直接和转换芯片DAC0832接8个I/O口就变成数字量了?
toofree 发表于 2019-5-20 16:31 stm32F103C8T6的确是没有DAC功能的,加了DAC0832用起来就是那么的简单。
wenyangzeng 发表于 2019-5-20 17:31 STM32F103C8T6怎么会有DAC呢?
yww110 发表于 2019-5-20 18:29 我就搞不懂他为什么没有DAC。还对dac进行操作
这是他产生波形的函数,他用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;
}
}
}
肯定是给你代码的人不负责啊。像DAC0832这种芯片,你只需要用IO口输入符合datasheet的数据,他就能转换为你所需的模拟量啊。话说回来,单独一块这个0832似乎不便宜,成本可能比103c8t6还贵,还不如上更高规格的stm32芯片
评分
查看全部评分
也不一定是程序给错,而可能是你贴出来的程序不全。
只要你的确能从DAC0832输出正确的模拟波形,那么它就至少对这8个IO做了操作,不用怀疑。
这种情况你得附上工程,不要想当然。
你l应该也是初用STM32和Keil,调试经验不足。
DAC0832是一款8位DAC芯片,它把DI0-DI7的8位数字量转换成模拟量从Iout1或Iout2输出。楼主标题的STM32的DAC与该电路是两码事。某些型号的STM32芯片本身具备DAC功能,无需再像上图所示连接一片DAC0832就可以直接从DAC输出引脚输出模拟信号了。
比如:
评分
查看全部评分
评分
查看全部评分
应该是所选芯片没有DAC功能。
stm32F103C8T6是DAC的,难道直接和转换芯片DAC0832接8个I/O口就变成数字量了?
stm32F103C8T6的确是没有DAC功能的,加了DAC0832用起来就是那么的简单。
评分
查看全部评分
是这程序给错了吗,他给我实物是STM32F103C8T6的板子,但程序给的是对DAC的操作
STM32F103C8T6怎么会有DAC呢?
我查了一下,C8T6是没有dac的,但给的程序里为什么有dac的操作呢
我就搞不懂他为什么没有DAC。还对dac进行操作
DAC0832是一款比较老得DAC芯片,已经很少用了。正品贴片的,一片比你的STM32F103还要贵吧。
程序应该是通用程序。
评分
查看全部评分
按理说楼主贴出的DAC代码不是用于STM32F103C8T6