日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

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

IDLE模式下的sleep指令觸發(fā)ADC...我快瘋了...

作者:athlon64fx 欄目:單片機
IDLE模式下的sleep指令觸發(fā)ADC...我快瘋了...
avrstudio模擬是沒有問題的... 寫到片子上運行就不對... 一天了最后發(fā)現(xiàn)是這個問題.. 我已經(jīng)開始懷疑是芯片bug了..

一開始用winavr的sleep_mode().. 不行.. 后來寫了個
void sleep(void)
{
    SMCR = (0 << SM2) | (0 << SM1) | (0 << SM0) | (1 << SE);
    asm volatile ("sleep"::);
    SMCR = 0;
}
還是一樣...看來是winavr的庫函數(shù)無關(guān)..

void init_adc(void)
{
    ADMUX = ADC_REF | 0x03;
    ADCSRA = (1 << ADEN)    |
            (0 << ADSC)     |
            (0 << ADATE)    |
            (1 << ADIF)     |
            (1 << ADIE)     |
            (1 << ADPS2)    |
            (0 << ADPS1)    |
            (1 << ADPS0);
    ADCSRB = (0 << ACME)    |
            (0 << ADTS2)    |
            (0 << ADTS1)    |
            (0 << ADTS0);
}

這樣初始化, 我想是沒問題的..
沒有任何讓 ADSC 置位的語句.. 而且分明是單次轉(zhuǎn)換模式(ADATE = 0)..
但ADC中斷確實在發(fā)生..
只要去掉 sleep().. 一切OK.. 這到底是為什么?  快瘋了...
對了.. 芯片是M48

2樓: >>參與討論
athlon64fx
在中斷函數(shù)里也沒有置位ADSC
ISR (ADC_vect)
{
    led_buf[3]++;
}

3樓: >>參與討論
athlon64fx
我暈......
原來手冊上分明寫著自動啟動一次轉(zhuǎn)換....
以前見過但是忘了... 想當(dāng)然地以為只有ADC降噪模式才讓sleep啟動ADC...
為什么這樣設(shè)計呢? ADC竟然和低功耗有矛盾... 不解...

空閑模式SM2..0 為000 時,SLEEP 指令使MCU 進(jìn)入空閑模式。在此模式下,CPU 停止運行,而
SPI、USART、模擬比較器、ADC、兩線串行接口、定時器/ 計數(shù)器、看門狗和中斷系統(tǒng)
繼續(xù)工作。這個休眠模式只停止了clkCPU 和clkFLASH,其他時鐘則繼續(xù)工作。
象定時器溢出與USART 傳輸完成等內(nèi)外部中斷都可以喚醒MCU。如果不需要從模擬比
較器中斷喚醒MCU,為了減少功耗,可以切斷比較器的電源。方法是置位模擬比較器控
制和狀態(tài)寄存器ACSR 的ACD。如果ADC 使能,進(jìn)入此模式后將自動啟動一次轉(zhuǎn)換。

4樓: >>參與討論
athlon64fx
avr studio
avr studio 軟件模擬的時候為什么 sleep 不觸發(fā) ADC 呢?
我想這是一個bug.

5樓: >>參與討論
xieyuanbin
是BUG
avr studio 軟件模擬的時候為什么 sleep 不觸發(fā) ADC 呢?
在studio SIM中,所有的ADC自動觸發(fā)都無效.

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請教如何把一組查表數(shù)據(jù)寫道flash里面
請問ICCAVR中怎么處理64位數(shù)據(jù)呀?
請教用軟件來完成Σ-Δ16BITS ADC轉(zhuǎn)換器?
USB延長器
ICC是否有bug?我的數(shù)到哪里去了?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入


Copyright © 1998-2006 www.hbjingang.com 浙ICP證030469號