//Example 1c – 7-Segment Displays using Function calls void main(void) { PLL_init(); // set system clock frequency to 24 MHz led_disable(); // disable leds seg7_enable(); // enable 7-segment displays seg7_on(0x55,2); // turn on every other segment on digit 2 for(;;) {} /* wait forever */ }
static void *blink_led(void) { while (run) { led_enable(); usleep(200000); led_disable(); usleep(200000); } pthread_exit(0); }
void main(void) { const char digits[] = {1,2,3,4}; int i; seg7_enable(); // enable 7-segment display led_disable(); // disable LEDs while(1){ for (i = 0; i < 4; i++) { seg7dec(digits[i],i); ms_delay(5); } } }
/** * Called when the system hits a non-recoverable error. Ensure to use * the correct PANIC_CAUSE_* enum to help users inform us of the issue. */ void panic(const enum panic_cause cause) { taskDISABLE_INTERRUPTS(); led_enable(LED_ERROR); for(;;) { led_enable(LED_GPS); led_enable(LED_LOGGER); delay_seconds(FLASH_PAUSE_DELAY_S); led_disable(LED_GPS); led_disable(LED_LOGGER); delay_seconds(FLASH_DELAY_S); for (int c = 0; c < cause; ++c) { led_enable(LED_GPS); led_enable(LED_LOGGER); delay_seconds(FLASH_DELAY_S); led_disable(LED_GPS); led_disable(LED_LOGGER); delay_seconds(FLASH_DELAY_S); } } }
static void flashGpsStatusLed(enum GpsSignalQuality gpsQuality) { if (g_flashCount == 0) led_disable(LED_GPS); g_flashCount++; const int targetFlashCount = isGpsSignalUsable(gpsQuality) ? GPS_LOCK_FLASH_COUNT : GPS_NOFIX_FLASH_COUNT; if (g_flashCount >= targetFlashCount) { led_enable(LED_GPS); g_flashCount = 0; } }
/** * Called when the system hits a non-recoverable error. Ensure to use * the correct PANIC_CAUSE_* enum to help users inform us of the issue. */ void panic(const enum panic_cause cause) { taskDISABLE_INTERRUPTS(); led_device_set_all(false); led_enable(LED_ERROR); for(;;) { led_enable(LED_GPS); led_enable(LED_LOGGER); cpu_device_spin(FLASH_PAUSE_DELAY_MS); led_disable(LED_GPS); led_disable(LED_LOGGER); cpu_device_spin(FLASH_DELAY_MS); for (int c = 0; c < cause - 1; ++c) { led_enable(LED_GPS); led_enable(LED_LOGGER); cpu_device_spin(FLASH_DELAY_MS); led_disable(LED_GPS); led_disable(LED_LOGGER); cpu_device_spin(FLASH_DELAY_MS); } } }