Есть небольшая проблема с уартом при смене задач Код | Task_Struct task0Struct, task1Struct; Char task0Stack[TASKSTACKSIZE], task1Stack[TASKSTACKSIZE]; Task_Handle uartTask, vmTask; Semaphore_Struct sem0Struct; Semaphore_Handle vmSem; UART_Handle hUART; UART_Params params;
Void uartFxn(UArg a0, UArg a1){ if(!hUART){ UART_Params_init(¶ms); params.readMode = UART_MODE_BLOCKING; params.writeDataMode= UART_DATA_BINARY; params.readTimeout = 1000; params.readCallback = NULL; params.readEcho = UART_ECHO_OFF; //Not needed on CC26XX implementation as not implemented params.baudRate = 9600; hUART = UART_open(Board_UART0, ¶ms); } if (!hUART) { System_abort("Error initializing UART\n"); } uint32_t i = 0; while(1){ System_flush(); System_printf(" %d", i); i++; if(i==5){ Semaphore_post(vmSem); } Task_sleep(1000000 / Clock_tickPeriod); } } void vmFxn(void){ while(1){ Semaphore_pend(vmSem, BIOS_WAIT_FOREVER); System_flush(); System_printf("asdasdasdasd"); System_flush(); System_printf("asdasdasdasd"); break; } } /* * ======== main ======== */ int main(void) { Task_Params taskParams; Semaphore_Params semParams; /* Call board init functions */ Board_initGeneral(); /* Construct BIOS objects */ Task_Params_init(&taskParams); taskParams.stackSize = TASKSTACKSIZE; taskParams.stack = &task0Stack; taskParams.priority = 2; taskParams.instance->name = "vmFxn"; Task_construct(&task0Struct, (Task_FuncPtr)vmFxn, &taskParams, NULL); vmTask = Task_handle(&task0Struct); taskParams.stack = &task1Stack; taskParams.priority = 1; taskParams.instance->name = "uartFxn"; Task_construct(&task1Struct, (Task_FuncPtr)uartFxn, &taskParams, NULL); uartTask = Task_handle(&task1Struct); Semaphore_Params_init(&semParams); semParams.mode = Semaphore_Mode_BINARY; Semaphore_construct(&sem0Struct, 0, &semParams); vmSem = Semaphore_handle(&sem0Struct);
/* Start BIOS */ BIOS_start(); return (0); }
|
Когда запускаю проект то Уарт запускается нормально но после смены задачи непонятно работает УАРТ или нет, но ясно только одно что уже ни послать ни принять ничего нельзя, хоть порт и открыт для коннекта.
|