完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
写了程序调用dac.h,然后报了以下错误
C:KeilARMINCADIdac.h(43): error: #101: "s_DAC_Channel" has already been declared in the current scope C:KeilARMINCADIdac.h: typedef struct s_DAC_Channel { C:KeilARMINCADIdac.h: ^ C:KeilARMINCADIdac.h(46): error: #256: invalid redeclaration of type name "s_DAC_Channel" (declared at line 46) C:KeilARMINCADIdac.h: } s_DAC_Channel; C:KeilARMINCADIdac.h: ^ C:KeilARMINCADIdac.h(48): error: #101: "s_DAC" has already been declared in the current scope C:KeilARMINCADIdac.h: typedef struct s_DAC { C:KeilARMINCADIdac.h: ^ C:KeilARMINCADIdac.h(50): error: #256: invalid redeclaration of type name "s_DAC" (declared at line 50) 附上程序 #include #include #include #include #include #include #include #include #include #include #include void ADCpoweron(int time) //ADC上电启动 { ADCCON=0X20; while(time>=0) time--; } void SysClkInit(void) { PLLKEY1=0XAA; PLLCON=0X01; PLLKEY2=0X55; POWKEY1=0X01; PLLCON=0X00; PLLKEY2=0XF4; } void delay(int length) { while(length>0) length--; } unsigned long int i=0; static int j=0; int m; //初始值确定 int n; //终点值确定 int y; unsigned short int num[10000]; float f; //频率定义 float b; float total0=0; float total1=0; int main(void) { SysClkInit(); //时钟配置 ADCpoweron(20000); //ADC上电 ADCCP=0x12; REFCON=0x01; GP1CON=0x011; //配置tx和rx引脚到DAC3和ADC3 //配置UART波特率为115200 COMCON0=0x80; COMDIV0=0x00B; COMDIV1=0x00; COMCON0=0x07; while(i<10000) { ADCCON=0x7E3; while(!ADCSTA) num=(ADCDAT>>16); if((num<=0.001)&(num>=-0.001)) //寻找零点 { m=i; //记录初始的值 j++; } if(j==2) //得到频率 { n=i; f=41.78/(i-m); } i++; } y=(m+n)/2; //DAC配置 DAC0CON=0X02; REFCON=0x01; //链接到参考电压源 //DAC 输出 for(i=y;i<(y+2*(n-m));i++) { DAC0DAT=(num<<16); } } |
|
相关推荐
3个回答
|
|
你使用了哪款 DAC芯片。
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
258 浏览 0 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1299 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1896 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4237 浏览 2 评论
8995 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1421浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1645浏览 2评论
1616浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1299浏览 2评论
213浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 20:18 , Processed in 0.939465 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号