Перейти к содержанию

mrprim

Members
  • Постов

    4
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные mrprim

  1. Есть небольшая проблема с уартом при смене задач

    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(&params);
        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, &params);
       }
       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);
    }

    Когда запускаю проект то Уарт запускается нормально

    но после смены задачи непонятно работает УАРТ или нет, но ясно только одно что уже ни послать ни принять ничего нельзя, хоть порт и открыт для коннекта.

  2. У меня вот вопрос возник: в классе Gpio_pins.h прописана функция свитчера

    gpio_input_pin_user_config_t switchPins[] = {
    {
    .pinName = kGpioSW3,
    .config.isPullEnable = true,
    .config.pullSelect = kPortPullUp,
    .config.isPassiveFilterEnabled = false,
    .config.interrupt = kPortIntDisabled,
    },

    так вот у меня вопрос, как в Main() классе мне проверить именно эту кнопку, на то, нажата ли она?

  3. Доброго времени суток уважаемые форумчане.

    Вышло так что первая плата с которой мне пришлось начать работать это kw40z и в дополнение к покупке usb-kw40z

    для меня проблемно выловить нужные части кода в демо софте, что бы изменить то что я хочу, А голых примеров в интернете я не нашел.

    Прошу о помощи, помогите со скилетом чипа (помигать, помигать после нажатия кнопок, помигать по таймеру и другие простейшие вещи)

    очень хочется разобраться а наглядного примера, что и куда жать, нету

    можно скайп, вк или тут

    если если ребята которые уже работали и могут помочь то я бы даже мог взять пару часов уроков в скайпе, естественно не бесплатно!

    извините если не в том разделе

×
×
  • Создать...