/********************************************************************* Functions *********************************************************************/ int main (void) { int i; // initialize init(); gpio_configure_pin(RESPONSE_A, GPIO_DIR_OUTPUT | GPIO_INIT_LOW); gpio_configure_pin(TEST_A, GPIO_DIR_INPUT | GPIO_INIT_LOW); gpio_configure_pin(RESPONSE_B, GPIO_DIR_OUTPUT | GPIO_INIT_LOW); gpio_configure_pin(TEST_B, GPIO_DIR_INPUT | GPIO_INIT_LOW); gpio_configure_pin(RESPONSE_C, GPIO_DIR_OUTPUT | GPIO_INIT_LOW); gpio_configure_pin(TEST_C, GPIO_DIR_INPUT | GPIO_INIT_LOW); // start code from here gpio_set_pin_high(RESPONSE_A); gpio_set_pin_high(RESPONSE_B); gpio_set_pin_high(RESPONSE_C); while(1) { if(!gpio_get_pin_value(TEST_A)){ gpio_set_pin_low(RESPONSE_A); busy_delay_us(5); gpio_set_pin_high(RESPONSE_A); } if(!gpio_get_pin_value(TEST_B)){ gpio_set_pin_low(RESPONSE_B); busy_delay_us(5); gpio_set_pin_high(RESPONSE_B); } if(!gpio_get_pin_value(TEST_C)){ gpio_set_pin_low(RESPONSE_C); busy_delay_us(5); gpio_set_pin_high(RESPONSE_C); } //printf("tick\n"); //gpio_toggle_pin(LED0_GPIO); //busy_delay_ms(500); } }
int main(){ init(); gpio_configure_pin(TEST_A, GPIO_DIR_INPUT); gpio_configure_pin(RESPONSE_A, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_configure_pin(TEST_B, GPIO_DIR_INPUT); gpio_configure_pin(RESPONSE_B, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_configure_pin(TEST_C, GPIO_DIR_INPUT); gpio_configure_pin(RESPONSE_C, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_enable_pin_interrupt(TEST_A, GPIO_FALLING_EDGE ); gpio_enable_pin_interrupt(TEST_B, GPIO_FALLING_EDGE ); gpio_enable_pin_interrupt(TEST_C, GPIO_FALLING_EDGE ); while(1){ if (A){ A = false; gpio_set_pin_low(RESPONSE_A); busy_delay_us(5); gpio_set_pin_high(RESPONSE_A); } if (B){ B = false; gpio_set_pin_low(RESPONSE_B); busy_delay_us(5); gpio_set_pin_high(RESPONSE_B); } if (C){ C = false; gpio_set_pin_low(RESPONSE_C); busy_delay_us(5); gpio_set_pin_high(RESPONSE_C); } } }
/********************************************************************* Functions *********************************************************************/ int main (void) { int i; // initialize init(); // start code from here gpio_set_pin_high(RESPONSE_A); while(1) { if(!gpio_get_pin_value(TEST_A)){ gpio_set_pin_low(RESPONSE_A); busy_delay_us(5); gpio_set_pin_high(RESPONSE_A); } //printf("tick\n"); //gpio_toggle_pin(LED0_GPIO); //busy_delay_ms(500); } }
/********************************************************************* Functions *********************************************************************/ int main (void) { int i; // initialize init(); gpio_configure_pin(TEST_A, GPIO_DIR_INPUT | GPIO_INIT_HIGH); gpio_configure_pin(TEST_B, GPIO_DIR_INPUT | GPIO_INIT_HIGH); gpio_configure_pin(TEST_C, GPIO_DIR_INPUT | GPIO_INIT_HIGH); gpio_configure_pin(RESPONSE_A, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_configure_pin(RESPONSE_B, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_configure_pin(RESPONSE_C, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); // ASS C gpio_enable_pin_interrupt(TEST_A, GPIO_FALLING_EDGE ); gpio_enable_pin_interrupt(TEST_B, GPIO_FALLING_EDGE ); gpio_enable_pin_interrupt(TEST_C, GPIO_FALLING_EDGE ); // start code from here while(1) { //gpio_toggle_pin(LED0_GPIO); /* if(gpio_pin_is_low(TEST_A)){ gpio_set_pin_low(RESPONSE_A); busy_delay_us(5); gpio_set_pin_high(RESPONSE_A); } if(gpio_pin_is_low(TEST_B)){ gpio_set_pin_low(RESPONSE_B); busy_delay_us(5); gpio_set_pin_high(RESPONSE_B); } if (gpio_pin_is_low(TEST_C)){ gpio_set_pin_low(RESPONSE_C); busy_delay_us(5); gpio_set_pin_high(RESPONSE_C); } */ //gpio_set_pin_high(LED0_GPIO); //busy_delay_ms(500); //gpio_set_pin_low(LED0_GPIO); //busy_delay_ms(500); // INTERRUPTS // AssD if (A_FLAG){ gpio_set_pin_low(RESPONSE_A); busy_delay_us(5); gpio_set_pin_high(RESPONSE_A); gpio_clear_pin_interrupt_flag(TEST_A); A_FLAG = false; } else if(B_FLAG){ gpio_set_pin_low(RESPONSE_B); busy_delay_us(5); gpio_set_pin_high(RESPONSE_B); gpio_clear_pin_interrupt_flag(TEST_B); B_FLAG = false; } else if(C_FLAG){ gpio_set_pin_low(RESPONSE_C); busy_delay_us(5); gpio_set_pin_high(RESPONSE_C); gpio_clear_pin_interrupt_flag(TEST_C); C_FLAG = false; } } }