Пример #1
0
void TC0_IrqHandler(void) {
	// acknowledge interrupt
	tc_channel_interrupt_ack(&ENCODER_TC_CHANNEL);

	if(led_is_on(LED_STD_RED)) {
		led_off(LED_STD_RED);
	} else {
		led_on(LED_STD_RED);
	}

	uint8_t encoder_value = PIO_Get(&pin_encoder_a);
	encoder_value |= (PIO_Get(&pin_encoder_b) << 1);

	int8_t add = encoder_table[encoder_value_last][encoder_value];
	encoder_count += add;
	encoder_count_external += add;
	encoder_value_last = encoder_value;
}
Пример #2
0
int led_is_off(lednum)
{
    return !led_is_on(lednum);
}