void SWITCH::sw_init(void) { LPC_GPIO2->FIODIR |= (1<<4); LPC_GPIO2->FIODIR |= (1<<5); LPC_GPIO2->FIODIR |= (1<<6); LPC_GPIO2->FIODIR |= (1<<7); eint3_enable_port2(4,eint_rising_edge,car_con); eint3_enable_port2(5,eint_rising_edge,glcd_con); eint3_enable_port2(6,eint_rising_edge,home_dst); eint3_enable_port2(7,eint_rising_edge,reset_all); }
bool init(void) { p2_wire0.setAsOutput(); const uint8_t port2_1 = 1; eint3_enable_port2(port2_1, eint_rising_edge, switch_edge); LE.init(); vSemaphoreCreateBinary(sem); return true; }
int main(void) { buttonSemaphore = xSemaphoreCreateBinary(); port2Pin6Init(); eint3_enable_port2(6, eint_falling_edge, port6ButtonPressInterrupt); xTaskCreate(port6ButtonPressTask, "Button Press", STACK_BYTES(2048), 0, PRIORITY_HIGH, 0); xTaskCreate(beggingForSemaphore, "I NEED SEMAPHOREZ", STACK_BYTES(2048), 0, PRIORITY_HIGH, 0); vTaskStartScheduler(); return -1; }
int main(void) { I2C_init(I2C_SPEED); //init i2c master for 100k init_time_sd(); vSemaphoreCreateBinary( event_signal ); // Create the semaphore xSemaphoreTake(event_signal, 0); // Take semaphore after creating it. scheduler_add_task(new terminalTask(PRIORITY_HIGH)); TaskHandle_t test1 = NULL; xTaskCreate((void(*)(void *))read_from_slave, "i2c_receive_task", 1024, NULL, PRIORITY_HIGH, &test1); eint3_enable_port2(0,eint_rising_edge,data_avail_isr); //register for rising edge interrupt scheduler_add_task(new send_CAN_data(PRIORITY_MEDIUM)); scheduler_add_task(new send_mailbox_config(PRIORITY_MEDIUM)); scheduler_add_task(new sendTrigTask()); //Task for getting the sensor data scheduler_start(); ///< This shouldn't return return -1; }
void setup() { LPC_SC->PCLKSEL0 &= ~(3 << 12); LPC_SC->PCLKSEL0 |= (1 << 13); // set CLK/1 // INPUTS // LPC_GPIO2->FIODIR &= ~(1 << LLEFTSENSOR); LPC_GPIO2->FIODIR &= ~(1 << LEFTSENSOR); LPC_GPIO2->FIODIR &= ~(1 << MIDDLESENSOR); LPC_GPIO2->FIODIR &= ~(1 << RIGHTSENSOR); LPC_GPIO2->FIODIR &= ~(1 << RRIGHTSENSOR); // OUTPUTS // LPC_GPIO2->FIODIR |= (1 << LEFTMOTOR); LPC_GPIO2->FIODIR |= (1 << RIGHTMOTOR); LPC_GPIO0->FIODIR |= (1 << AMUX); LPC_GPIO0->FIODIR |= (1 << BMUX); eint3_enable_port2(RRIGHTSENSOR, eint_rising_edge, tickFunction); // 2 = turn right // 1 = straight // 0 = station }