Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "driverlib/hibernate.c"
- boolean redstate = false;
- boolean bluestate = false;
- void setup()
- {
- // put your setup code here, to run once:
- pinMode(RED_LED, OUTPUT);
- pinMode(BLUE_LED, OUTPUT);
- HibernateEnableExpClk(F_CPU);
- HibernateRTCEnable();
- HibernateRTCMatchSet(0,HibernateRTCGet()+1);
- HibernateIntRegister(HibernateHandler);
- HibernateIntEnable(HIBERNATE_INT_RTC_MATCH_0);
- }
- void HibernateHandler(void)
- {
- //Use this to reset interrupt flag
- uint32_t ui32Status = HibernateIntStatus(1);
- HibernateIntClear(ui32Status);
- //Place here code to execute every second, ex: LCD or 7 segment display
- //Altough it should be as fastest as possible
- redstate = !redstate;
- //To keep the interrupt hapening every second you need this
- HibernateRTCMatchSet(0,HibernateRTCGet()+1);
- }
- void loop()
- {
- // put your main code here, to run repeatedly:
- bluestate = !bluestate;
- digitalWrite(RED_LED, redstate);
- if (bluestate) {
- analogWrite(BLUE_LED, 64);
- }
- else {
- analogWrite(BLUE_LED, 0);
- }
- delay(750);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement