This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP-EXP430G2:MSP-EXP430G2 ADC10相关帮助

Guru**** 2524550 points
Other Parts Discussed in Thread: MSP430G2553

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/608943/ccs-msp-exp430g2-msp-exp430g2-adc10-related-help

器件型号:MSP-EXP430G2
主题中讨论的其他器件:MSP430G2553MSP430WARE

工具/软件: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
}

我的问题是如何从我的接地传感器获取每个数据? 从上面的代码中、我获得了这些值、但在连续敲击接地传感器时、它未达到这些值。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Chetan、

    您似乎需要提高采样频率、并可能需要增加系统时钟来处理处理该处理。 请参阅 MSP430Ware 中与您的器件关联的 ADC10代码示例。 MSP430Ware 位于 TI Resource Explorer 中,可在 CCS 或 dev.ti.com 中找到。 进入 TI Resource Explorer 后、导航至 Software -> MSP430Ware ->(查找您的器件)-> Peripheral Examples。 在这里、您可以找到许多 ADC 操作示例、以帮助您的应用。