音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請教LPC2210中ADC的BURST轉(zhuǎn)換模式問題。

作者:cd_keanu 欄目:ARM技術(shù)
請教LPC2210中ADC的BURST轉(zhuǎn)換模式問題。
拿到2200開發(fā)實(shí)驗(yàn)板有一段時(shí)間了,最近想試試ADC的BURST模式到底是怎么回事,但是運(yùn)行起來問題多多。還望大家多指點(diǎn)一下啊~~~~:(
    具體是這樣的:設(shè)置開發(fā)板上的AIN0~1進(jìn)入BURST模式,進(jìn)行AD轉(zhuǎn)換,我試圖在中斷處理程序中,用一個(gè)數(shù)組ADCData[ADCChannel]來保存ADDR的值。但是調(diào)試起來卻很奇怪。用DebugInExRam模式,在中斷處理程序的最后設(shè)置斷點(diǎn),然后全速運(yùn)行。此時(shí)觀察ADCData[ADCChannel]值,發(fā)現(xiàn)數(shù)組中保存的通道沒有規(guī)律,就是ADCData[0]保存的有可能是通道0的值0xc0004dc0或者通道1的值0xc1009b00,ADCData[1]也一樣。
    如果在中斷處理程序中不設(shè)置斷點(diǎn),程序全速運(yùn)行,通道倒是對了,但結(jié)果更奇怪。ADCData[0]的值居然是0xc0009b00,ADCData[1]的值是0xc1009b00。而ADCChannel的值最后始終是1。
真是讓我非常郁悶啊~~~~周工救我~~!

    相關(guān)代碼如下:
/****************************************************************************
* 名稱:ADCIRQ()
* 功能:ADC中斷服務(wù)程序函數(shù)
* 入口參數(shù):無。
* 出口參數(shù):無。
* 全局變量:ADCChannel    ADC通道號
*          ADCData[]     ADC結(jié)果緩存數(shù)組   
****************************************************************************/
void __irq ADCIRQ()
{
    ADCData[ADCChannel] = ADDR;                       //讀取AD轉(zhuǎn)換結(jié)果
    
    if ((++ADCChannel) > 1)
    {
        ADCChannel = 0;                                //恢復(fù)ADC通道為0
        ADCR = ADCR & 0xFFFEFF03;          //停止BURST模式
    }
    
    VICVectAddr = 0;
}

主函數(shù)中的ADC設(shè)置代碼:
   ADCR = (0x03 << 0)                  |        // SEL = 0x03 ,選擇通道0~1
         ((Fpclk / 1000000 - 1) << 8) |         // CLKDIV = Fpclk / 1000000 - 1 ,即轉(zhuǎn)換時(shí)鐘 為1MHZ     
          (1 << 16)                    |        // BURST = 1 ,啟用BURST模式      
          (0 << 17)                    |         // CLKS = 0 ,使用11clock轉(zhuǎn)換     
          (1 << 21)                    |         // PDN = 1 , 正常工作模式(非掉電轉(zhuǎn)換模式)     
          (0 << 22)                    |         // TEST1:0 = 00 ,正常工作模式(非測試模式)     
          (0 << 24)                    |         // START = 0 ,不軟件啟動ADC轉(zhuǎn)換
          (0 << 27);                            // EDGE = 0 (CAP/MAT引腳下降沿觸發(fā)ADC轉(zhuǎn)換),未使用。

* - 本貼最后修改時(shí)間:2005-3-10 23:36:38 修改者:cd_keanu

2樓: >>參與討論
cd_keanu
自己頂
ADDR中的24~26位,CHN是不是就是AD轉(zhuǎn)換通道的指示?感覺應(yīng)該是吧!禔RM與嵌入式系統(tǒng)基礎(chǔ)教程》上面寫的是:“這些位包含的是LS位的轉(zhuǎn)換通道”。不清不楚的,應(yīng)該是轉(zhuǎn)換通道哦。

BURST模式到底怎么用?可以用中斷讀取結(jié)果嘛?大家給點(diǎn)意見吧

3樓: >>參與討論
whq71
請教
請問BURST=1時(shí),置 START = 0 ,不軟件啟動ADC轉(zhuǎn)換 那么ADC如何啟動?若置START=001可以啟動否?這個(gè)ADC好傷腦筋!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
如何讓ADS保存最后一次打開的工程啊?
今天終于將EASYARM2200板上A/D轉(zhuǎn)換的數(shù)通過網(wǎng)絡(luò)口出來了!
求救
中斷向量表的重映射問題。
lpc 2131跑ucos2,跑的痛快么   2132呢????
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號