//Program: SevenSegment_Project1.ino
//set variables for MultiTasking Template, here 2 tasks
uint32_t previousMillis_1;
uint32_t previousMillis_2;
//here 1000 = 1 second
uint32_t task1Time = 1000;
uint32_t task2Time = 1000;
uint32_t currentTime;
//END set variables for Pico_MultiTasking_Template
int i;
//dp G F E D C B A
int LEDs[] = {0b00000110,
0b01011011,
0b01001111};
//uint32_t *gpioOUT = (uint32_t *)(0xD0000010);
uint32_t *gpioOUT_SET = (uint32_t *)(0xD0000014);
uint32_t *gpioOUT_CLR = (uint32_t *)(0xD0000018);
//uint32_t *gpioOUT_XOR = (uint32_t *)(0xD000001C);
void setup() {
//Serial1.begin(1152000);
for(int i = 0;i<8;i++){
pinMode(i, OUTPUT); //init GP0-7
}
}
void loop() {
currentTime = millis();
//Task1 here
if (currentTime - previousMillis_1 >= task1Time) {
previousMillis_1 = currentTime;
*gpioOUT_SET = 0b11111111;
*gpioOUT_CLR = LEDs[i];
i++;
if(i==3) {
i=0;
}
}
//Task2 here
if (currentTime - previousMillis_2 >= task2Time) {
previousMillis_2 = currentTime;
//work1
//work2
}
} //End program