static inline void led_blink() { bcm2835_turn_led(1); simple_delay(DELAY); bcm2835_turn_led(0); simple_delay(DELAY); }
//***************************************************************************** // // Initializes the switch task. // //***************************************************************************** unsigned long AccelerometerTaskInit(void) { // volatile unsigned char foo = 28; RGBInit(1); RGBIntensitySet(0.3f); // // Turn on the Green LED // g_ucColorsIndx = 0; g_ulColors[g_ucColorsIndx] = 0x8000; RGBColorSet(g_ulColors); RGBDisable(); ////////////// g_pAccelerometerQueue = xQueueCreate(ACCELEROMETER_QUEUE_SIZE, ACCELEROMETER_ITEM_SIZE); I2CSetup(I2C0BASEADDR, 40000); if (((I2CRegRead(I2C0BASEADDR, SLAVEID, DEVID)) & 0xE5) == 0) { while (1); } I2CRegWrite(I2C0BASEADDR, SLAVEID, THRESH_FF, 0x06); simple_delay(); I2CRegWrite(I2C0BASEADDR, SLAVEID, TIME_FF, 0x15); simple_delay(); I2CRegWrite(I2C0BASEADDR, SLAVEID, INT_MAP, 0x00); simple_delay(); I2CRegWrite(I2C0BASEADDR, SLAVEID, POWER_CTL, 0x08); simple_delay(); I2CRegWrite(I2C0BASEADDR, SLAVEID, INT_ENABLE, 0x04); simple_delay(); if(xTaskCreate(AccelerometerTask, (signed portCHAR *)"Acclerometer", ACCELEROMETERTASKSTACKSIZE, NULL, tskIDLE_PRIORITY + PRIORITY_ACCELEROMETER_TASK, NULL) != pdTRUE) { return(1); } // // Success. // return(0); }
int main(int argc, char *argv[]) { XGpio led_gpio; /* LED Instance */ /* Initialize LED GPIO settings */ XGpio_Initialize(&led_gpio, XPAR_AXI_GPIO_0_DEVICE_ID); XGpio_SetDataDirection(&led_gpio, 1, 0); /* Output something via UART1, 115200 baudrate */ printf("Start to blink led_gpio !!!\n\r"); int led_value = 0x03; /* default led_gpio value */ while(1) { printf("led_gpio value set to 0x%X\n\r", led_value); /* Set GPIO Channel 1 value. */ XGpio_DiscreteWrite(&led_gpio, 1 , led_value); /* sleep and change led_gpio value */ simple_delay(10000000); led_value = ~led_value; } return 0; }
static void test_task() { int pid = sched_current_pid(); int counter = 0; for (;;) { down(&sem); printk("process %d: %d\n", pid, counter++); simple_delay(DELAY); up(&sem); } }