请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP-EXP430G2 主题中讨论的其他器件:MSP430G2553、 MSP430WARE
工具/软件:Code Composer Studio
您好!
我将 MSP430G2553 MCU 用于我的项目。 我正在将内置 ADC10用于我的项目。 我已经编写了一个代码、从传感器获取模拟值(电压)、但转换很慢、I Controller 缺少一些值。 我的代码如下所示:-
#include
/*
* main.c
*/
int adc[216]={0};
//函数原型
void adc_Setup();
void adc_Sam10 ();
void main ()
{
WDTCTL = WDTPW + WDTHOLD; //停止 WDT
ADC_Setup(); // adc_setup 的 fucntion 调用
while (1)
{
ADC_Sam10 (); // ADC_SAMP 的函数调用
}
}
// ADC10中断服务例程
#pragma vector=ADC10_vector
__interrupt void ADC10_ISR (void)
{
__BIC_SR_REGISTER_ON_EXIT (CPUOFF); //从0 (SR)清除 CPUOFF 位
}
// ADC 设置函
数 void adc_Setup()
{
ADC10CTL1 = CONSEQ_2 + INCH_0; //重复单通道 A0
ADC10CTL0 = ADC10SHT_3 + MSC + ADC10ON + ADC10IE;//采样保持时间+ ADC10开启+中断使能
ADC10DTC1 = 0xD8; //转换
ADC10AE0 |= 0x01; // P1.0 ADC 选项选择
}
// ADC 采样转换函数
void adc_Sam10()
{
ADC10CTL0 &=~ENC; //禁用转换
while (ADC10CTL1 & BUSY); //如果 ADC10忙则等待
ADC10SA =(int) ADC; //将数据传输到下一个数组(DTC 自动递增地址)
ADC10CTL0 |= ENC + ADC10SC; //启用转换和转换启动
_bis_SR_register (CPUOFF + GIE);//低功耗模式0、ADC10_ISR
}
我的问题是如何从我的接地传感器获取每个数据? 从上面的代码中、我获得了这些值、但在连续敲击接地传感器时、它未达到这些值。