找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ad轉(zhuǎn)換程序調(diào)試的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 dsj0430 于 2018-3-21 18:54 編輯

為什么調(diào)試到箭頭所指那一行就停止了,怎么能繼續(xù)運(yùn)行調(diào)試。
這是一個(gè)AD轉(zhuǎn)換計(jì)算電壓的函數(shù)

OF]]95DEK}Q[2P0QLGFB}4K.png (6.91 KB, 下載次數(shù): 74)

OF]]95DEK}Q[2P0QLGFB}4K.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:237354 發(fā)表于 2018-3-21 23:21 | 只看該作者
可能是模擬MCU有問題,ADC_CONTR  ADC_FLAG這二個(gè)標(biāo)志未同時(shí)改變,只有強(qiáng)制跳出語句
回復(fù)

使用道具 舉報(bào)

板凳
ID:295312 發(fā)表于 2018-3-22 01:29 | 只看該作者
while(!(ADC_CONTR && ADC_FLAG)),此處的代碼應(yīng)該這樣寫,一個(gè)&這個(gè)符號是表示取地址,兩個(gè)才表示與,此處的while里面是判斷語句,應(yīng)該用邏輯與而不是取地址
回復(fù)

使用道具 舉報(bào)

地板
ID:213173 發(fā)表于 2018-3-22 07:22 | 只看該作者
由于AD轉(zhuǎn)換完成標(biāo)志是由硬件置位,調(diào)試時(shí)只能用軟件模擬AD轉(zhuǎn)換完成,調(diào)試成功后刪除此語句
uint Read(uchar CHA)       
{
        ADC_CONTR=ADC_POWER|ADC_SPEEDLL|CHA|ADC_START;//啟動(dòng)轉(zhuǎn)換1000 1000
    _nop_();                        //延時(shí)確保正確讀到ADC_CONTR寄存器的值
    _nop_();
    _nop_();
    _nop_();
//        ADC_CONTR |=0x10;                                                //軟件模擬轉(zhuǎn)換完成
        while(!(ADC_CONTR & ADC_FLAG));        //等待ADC轉(zhuǎn)換完成標(biāo)志置位
        ADC_CONTR &=~ADC_FLAG;                                //關(guān)閉ADC
        return(ADC_RES*4+ADC_RESL);                //返回十位ADC結(jié)果
}
回復(fù)

使用道具 舉報(bào)

5#
ID:287350 發(fā)表于 2018-3-22 09:18 | 只看該作者
wulin 發(fā)表于 2018-3-22 07:22
由于AD轉(zhuǎn)換完成標(biāo)志是由硬件置位,調(diào)試時(shí)只能用軟件模擬AD轉(zhuǎn)換完成,調(diào)試成功后刪除此語句
uint Read(ucha ...

你的方法我明白了
回復(fù)

使用道具 舉報(bào)

6#
ID:371527 發(fā)表于 2018-12-9 21:32 | 只看該作者
中斷還是查詢?
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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