我的问题只能舍弃AVR而用PIC来解决了吗?帮忙!

2020-02-10 08:51发布

我的问题是用AVR接1702SL 射频卡读写芯片,因为是电池供电,对功耗有严格要求,现在我最低只能用到1M振荡器,休眠功耗也还>100微安,再低于1M(内部128K)倒是可以达到10几微安,但与1702SL的SPI通信时序时钟拉的太长读卡失败而读不了卡,我看资料PIC在4M下休眠还可以<1微安,我真得离开AVR再去熟悉PIC来解决吗?  痛苦啊~~~~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
43条回答
zhaopl
2020-02-14 20:52
还请Oliver、avr_c 二位及其他大侠指教:我用看门狗定时中断唤醒,为什么不进中断,而反复复位呢?呵呵    设置定时分频器还有效,熔丝 WDTON也已经设置上了。

  

     CLI(); //disable all interrupts   

         

         

     MCUSR=0x00;

     WDTCSR=0x18;

     WDTCSR=0x4f;   //使能看门狗超时中断 设置定时分频器

     SEI();

     SMCR|=0x01;    //置位SMCR中的休眠使能位:SE

     SMCR&=0x0f;

     SMCR|=0x04;    //掉电模式               

     asm("sleep" ) ;      

     NOP();







#pragma interrupt_handler wdt_isr:7  //看门狗超时中断

void wdt_isr(void)               

{

  NOP();

  LEDG^=BIT(LED_G);          //LED_G闪烁;

  SMCR&=~0x01;    //清SMCR中的休眠使能位:SE    停止休眠状态

  WDTCSR |= 0x40;      //置位WDIE  相当于喂狗,防止看门狗下一超时到时复位

  NOP();

}

一周热门 更多>