完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
[size=13.3333330154419px]1.我用的是M430F149学习板 [size=13.3333330154419px]2.我用的是IAR编译环境,MSPFET烧录软件 [size=13.3333330154419px]我自己写了好久,就是写不成功,网上也找过例程了,实在是不会了,希望各位能出手帮帮我。 [size=13.3333330154419px]这是我写的ADC程序,我想用外部基准电压,因为我觉得内部2.5V的电压不够。[size=13.3333330154419px]就这个程序一直不成功,希望各位好心人指点迷津,再次感谢 void main(void) { WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer Clock_Init(); P6SEL |= 0x01; // Enable A/D channel A0 ADC12CTL0 = ADC12ON+SHT0_2; // Turn on ADC12, set sampling time ADC12CTL1 = SHS_0+ADC12SSEL_3 +SHP; // Use sampling timer ADC12MCTL0 = SREF_2; // Vr+ = VeREF+ (external) ADC12IE|= 0x01; Flag=1; //标志位先置1 _EINT(); while (1) { if(Flag==1) { ADC12CTL0 |=ENC+ADC12SC; // Start conversion Flag=0; } } } //************************************************************************* // ADC中断服务程序 //************************************************************************* #pragma vector=ADC_VECTOR __interrupt void ADC12ISR(void) { while((ADC12CTL1&0x01)==1); //如果ADC忙,则等待,否则读取ADC转换数值 temp=ADC12MEM0/8.19; Flag = 1 ; } 求大家帮忙,谢谢 |
|
相关推荐
4个回答
|
|
在检查下你寄存器都定义好了没,查下AD的寄存器表
|
|
|
|
程序很菜呀。发生中断就是转换完成,所以不要在中断里写while。全局一个变量static conv_res,将转换结果传结它。全局另外一个你需要的处理结果static data_INeed, 将转换结果运算存放在处理结果上。 处理函数放在你写的 while(1){}的里面。中断函数要求越简越好。XX_ISR{ static uint16 conv_res = ADC12MEM0 ; Flag = 1; };
|
|
|
|
抱歉回的这么晚,这几天在忙着做别的题目,寄存器的设置我是把给的例程拿过来的,不应该出错啊 |
|
|
|
hatemax115 发表于 2015-7-29 09:42 谢谢,对不起我回消息回的晚了,我试一下。另外您能简单跟我说一下ADC几个时间上的问题,ADC工作周期,采样保持周期,还有一个周期,他们之间是什么关系?谢谢 |
|
|
|
只有小组成员才能发言,加入小组>>
3032个成员聚集在这个小组
加入小组2928 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3601 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2341 浏览 1 评论
4804 浏览 1 评论
2573 浏览 1 评论
1328浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3601浏览 2评论
2928浏览 1评论
1510浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 21:03 , Processed in 1.284953 second(s), Total 56, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号