Damn_intuition 发表于 2018-2-3 15:18:53

PMU库的一些问题及解决办法。

本帖最后由 Damn_intuition 于 2018-2-3 15:20 编辑

8F328P下,LGT提供的PMU库目前存在一些问题,当使用模拟口之后,PMU.sleep将无法生效,针对这个问题,建议修改库包,在使用PMU之前先关闭AD相关功能。

        adcsra_reg = ADCSRA;
        ddrd_reg = DDRD;
        portd_reg = PORTD;
        ddrb_reg = DDRB;
        portb_reg = PORTB;
        didr0_reg = DIDR0;

        DIDR0 = 0xff;
        ADCSRA = 0;

        DDRD &= 0xdf;
        DDRB &= 0xf9;
        PORTD |= 0x20;
        PORTB |= 0x06;



并在执行睡眠之后恢复

        ADCSRA = adcsra_reg;
        DIDR0 = didr0_reg;

        // restore I/O
        PORTD = portd_reg;
        PORTB = portb_reg;
        DDRD = ddrd_reg;
        DDRB = ddrb_reg;

弘毅 发表于 2018-2-4 14:14:10

:o好贴。。。好好学习下~~~

Ansifa 发表于 2018-2-9 20:42:54

;P直接集成进去

页: [1]
查看完整版本: PMU库的一些问题及解决办法。