Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Task construct UART cc2650em 
:(
    Опции темы
mrprim
Дата 9.8.2016, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 7.6.2016

Репутация: нет
Всего: нет



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

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);
}

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

но после смены задачи непонятно работает УАРТ или нет, но ясно только одно что уже ни послать ни принять ничего нельзя, хоть порт и открыт для коннекта.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0944 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.