求解MSP430的程序,关于G2553的AD转换程序,为什么下面的程序不能循环采样电压呢?
答案:2 悬赏:80 手机版
解决时间 2021-11-12 02:22
- 提问者网友:焚苦与心
- 2021-11-11 07:48
求解MSP430的程序,关于G2553的AD转换程序,为什么下面的程序不能循环采样电压呢?
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-11-11 09:07
代码逻辑本身就有问题,430的ADC要先在while循环外配置好,参考电压、通道选择和采集方式(包括单通道单次采集、单通道多次采集等等),你的代码中CONSEQ_0应是单通道单次采集,想要循环采集就配成单通道多次采集,然后在外面使能ADC采集就行了,记得中断处理,谢谢。来自:求助得到的回答
全部回答
- 1楼网友:山有枢
- 2021-11-11 09:56
0.5v的没找到,我这有个0.25的,别问我,我也忘了
#include
#include "BoardConfig.h" //板上控制文件
void main(void)
{
WDTCTL = WDTHOLD + WDTPW; // 关看门狗
BoardConfig(0xb0); //开流水灯,关数码管和电平转换
CACTL1 = CARSEL + CAREF0 + CAON ; // Vcc/4 = - cmp
CACTL2 = P2CA0; // 使用 CA0
P2DIR = 0xff;
P2OUT = 0xff;
while(1)
{
if((CACTL2 | 0xfe) ==0xff)
{ // 比较电压是否超过0.25Vcc
P2OUT &= ~BIT4;
CACTL1 &= 0xfe; // CAIFG = 0
}
else
{
P2OUT |= BIT4;
}
}
}
#include
#include "BoardConfig.h" //板上控制文件
void main(void)
{
WDTCTL = WDTHOLD + WDTPW; // 关看门狗
BoardConfig(0xb0); //开流水灯,关数码管和电平转换
CACTL1 = CARSEL + CAREF0 + CAON ; // Vcc/4 = - cmp
CACTL2 = P2CA0; // 使用 CA0
P2DIR = 0xff;
P2OUT = 0xff;
while(1)
{
if((CACTL2 | 0xfe) ==0xff)
{ // 比较电压是否超过0.25Vcc
P2OUT &= ~BIT4;
CACTL1 &= 0xfe; // CAIFG = 0
}
else
{
P2OUT |= BIT4;
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯