找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1243|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

能不能幫忙看一下這個(gè)程序有什么問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:314444 發(fā)表于 2018-4-23 14:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
在學(xué)習(xí)430AD采樣的部分,在提供的學(xué)習(xí)代碼上修改的,想要根據(jù)AD采樣得到的電壓值不同執(zhí)行不同的操作。
    while(1)
    {
        LPM1;
        average = average * 3;
        if(average>0x0003)
        {
        Trans_val(average,buffer);
        buffer[3] = buffer[2];
        buffer[2] = buffer[1];
        buffer[1] = 0x2e - 0x30;
        for(i = 0; i < 4; i++)
            buffer[i] += 0x30;
        PutString0("The analog value is: ");
        PutString(buffer);
        }

        else
        {
        Hex2Dec(average,buffer);
        for(i = 0; i < 4; i++)
            buffer[i] += 0x30;
        PutString0("The digital value is: ");
        PutString(buffer);
        }
    }


/*******************************************
函數(shù)名稱:ADC12ISR
功    能:ADC中斷服務(wù)函數(shù),在這里用多次平均的
          計(jì)算P6.0口的模擬電壓數(shù)值
參    數(shù):無(wú)      
返回值  :無(wú)
********************************************/
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
{
    static uchar index = 0;

    results[index++] = ADC12MEM0;               // Move results
    if(index == Num_of_Results)
    {
        uchar i;

        average = 0;
        for(i = 0; i < Num_of_Results; i++)
        {
            average += results[i];
        }
        average >>= 5;                            //除以32

        index = 0;
        tcnt++;
        if(tcnt == 250)      //主要是降低串口發(fā)送速度
        {
            LPM1_EXIT;
            tcnt = 0;
        }
    }
}



前面就是一些初始化的東西,現(xiàn)在的問(wèn)題是,不管采樣得到的電壓值是多少,都只會(huì)執(zhí)行if語(yǔ)句的內(nèi)容,不會(huì)執(zhí)行else部分。
有哪些地方?jīng)]說(shuō)清楚的可以再補(bǔ)充,希望有人幫幫我呀,不勝感激。。。!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表