Marius '95
troubleShooter
Da, merge cu pull-down de 10K.
1) Vreau sa folosesc intreruperi ca sa pun procesorul in sleep de cate 1ms pe durata apasarii oricarui buton, respectiv power-off continuu cand nu-i nici un buton apasat, cu trezire la intreruperea oricarui buton.
2) Desi am setat intreruperea sa se activeze la rising edge (apasare), numararea intreruperilor nu-i suficienta. Asa cum am prevazut, apar mai multe intreruperi in momentul apasarii, uneori apar intreruperi si in timp ce butonul sta apasat si destul de frecvent mai apar niste intreruperi si la ridicare. Asadar, m-am gandit sa pun cate doua timere la fiecare buton care sa contorizeze timpul de la apasarea anterioara, respectiv de la ridicarea anterioara, ca sa ignor apasarile si ridicarile f. scurte.
Inca nu m-am apucat de scris codul, dar ma gandesc in avans ca exista o posibila interactiune nedorita intre metoda cu timer si power-management-ul propus. Timerul ala mai merge in timpul power-down?
As putea folosi RTC-ul in loc de timer si cu ocazia asta invat si despre RTC. Dar documentatia placii nu scrie ce ceas foloseste RTC-ul. Ochiometric, placa are un singur oscilator si nu stiu daca e alimentat in timpul power-down.
Idei? Opinii? Recomandari?
PS: DA, imi place sa ma complic. La nebunie. Mai ales cand in final imi iese!
1) Vreau sa folosesc intreruperi ca sa pun procesorul in sleep de cate 1ms pe durata apasarii oricarui buton, respectiv power-off continuu cand nu-i nici un buton apasat, cu trezire la intreruperea oricarui buton.
2) Desi am setat intreruperea sa se activeze la rising edge (apasare), numararea intreruperilor nu-i suficienta. Asa cum am prevazut, apar mai multe intreruperi in momentul apasarii, uneori apar intreruperi si in timp ce butonul sta apasat si destul de frecvent mai apar niste intreruperi si la ridicare. Asadar, m-am gandit sa pun cate doua timere la fiecare buton care sa contorizeze timpul de la apasarea anterioara, respectiv de la ridicarea anterioara, ca sa ignor apasarile si ridicarile f. scurte.
Inca nu m-am apucat de scris codul, dar ma gandesc in avans ca exista o posibila interactiune nedorita intre metoda cu timer si power-management-ul propus. Timerul ala mai merge in timpul power-down?

The Timer/Counter is designed to count cycles of the peripheral clock (PCLK)
La power-down nu zice nimic de peripheral clock. Eu ce sa inteleg? Ca timer-ul o numere in continuare in timpul power-down sau ia si el o pauza?The LPC213x supports two reduced power modes: Idle mode and Power-down mode. In Idle mode, execution of instructions is suspended until either a Reset or interrupt occurs. Peripheral functions continue operation during Idle mode and may generate interrupts to cause the processor to resume execution. Idle mode eliminates power used by the processor itself, memory systems and related controllers, and internal buses.
In Power-down mode, the oscillator is shut down and the chip receives no internal clocks. The processor state and registers, peripheral registers, and internal SRAM values are preserved throughout Power-down mode and the logic levels of chip pins remain static. The Power-down mode can be terminated and normal operation resumed by either a Reset or certain specific interrupts that are able to function without clocks. Since all dynamic operation of the chip is suspended, Power-down mode reduces chip power consumption to nearly zero.
As putea folosi RTC-ul in loc de timer si cu ocazia asta invat si despre RTC. Dar documentatia placii nu scrie ce ceas foloseste RTC-ul. Ochiometric, placa are un singur oscilator si nu stiu daca e alimentat in timpul power-down.
Idei? Opinii? Recomandari?
PS: DA, imi place sa ma complic. La nebunie. Mai ales cand in final imi iese!
