工具/软件:Code Composer Studio
大家好、我有一个 MSP430G2、我正在尝试从前置放大器麦克风(Bob-12758)获取输入。
但是、我在代码方面遇到了以下问题:
- 当我运行以下代码时、在"停止看门狗计时器"行上出现错误
- 我无法实时查看变量"ADC"(当我单击"Variable"时、会显示一个空白窗口)
有人能帮我找出代码有什么问题吗?
#include
int ADC[10]={0};//设置10个整数的数组和零
空 init (空)
{
WDTCL = WDTPW + WDTHOLD;//停止看门狗计时器
ADC10CTL1 = CONSEQ_2 + INCH_0;//重复单通道、A0
ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE;//采样和保持时间、ADC10打开、中断使能(ADC10IE)
ADC10AE0 |= 0x01;//P1.0 ADC 选择
ADC10DTC1 = 0x0A;//0x0A = 10次转换;DTC 是数据传输控制、它自动从 ADC10MEM 传输转换结果
}
#pragma vector=ADC10_vector //ADC10中断服务例程
_interrupt void ADC10_ISR (void)
{
_BIC_SR_REGISTER_ON_EXIT (CPUOFF);//从0清除 CPUOFF 位
}
void adc_samp10 (void)
{
ADC10CTL0 &=~ENC //禁用转换
while (ADC10CTL1 & BUSY);//如果 ADC10忙则等待
ADC10SA =(内部) ADC;//将数据传输到数组 DTC 自动递增地址
ADC10CTL0 |= ENC + ADC10SC;//启用转换和转换开始
_bis_SR_register (CPUOFF + GIE);//低功耗模式0
}
void main (void)
{
init();//run 初始化块
while (1)
{
adc_samp10 ();//运行 ADC 块并将值存储到数组中
}
}