void init_kinect() { //initialize the UART MSS_UART_init(&g_mss_uart0, MSS_UART_57600_BAUD, MSS_UART_DATA_8_BITS | MSS_UART_NO_PARITY | MSS_UART_ONE_STOP_BIT ); //set irq handler for image data MSS_UART_set_rx_handler(&g_mss_uart0, kinect_data_handler, MSS_UART_FIFO_FOUR_BYTES); }
static void prvConfigureUART( void ) { /* Initialise the UART which is used for printf() and CLI IO. */ MSS_UART_init( ( mss_uart_instance_t * ) pxUART, MSS_UART_115200_BAUD, MSS_UART_DATA_8_BITS | MSS_UART_NO_PARITY | MSS_UART_ONE_STOP_BIT ); /* Characters are only ever received slowly on the CLI so it is ok to pass received characters from the UART interrupt to the task on a queue. Create the queue used for that purpose. */ xRxedChars = xQueueCreate( cmdRXED_CHARS_QUEUE_LENGTH, sizeof( char ) ); /* The interrupt handler makes use of FreeRTOS API functions, so its priority must be at or below the configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY setting (the higher the numeric priority, the lower the logical priority). */ NVIC_SetPriority( xUART_IRQ, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY ); /* Set the UART Rx notification function. */ MSS_UART_set_rx_handler( ( mss_uart_instance_t * ) pxUART, prvUARTRxNotificationHandler, MSS_UART_FIFO_SINGLE_BYTE ); }