juvf 9 11 октября, 2016 Опубликовано 11 октября, 2016 · Жалоба уарт настроен в блокирующем режиме. UART_write() блокирует задачу на время копирования данных в буфер обмена FIFO UART. Мне нужно заблокировать на время передачи всех данных, т.е. на то время, пока все данные не вылезут с ноги процессора. Можно после UART_write() ждать какое-нибудь событие по окончании передачи. Но какое? Как в TI-RTOS отследить окончание передачи данных из буфера FIFO UART? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha 0 18 октября, 2016 Опубликовано 18 октября, 2016 · Жалоба уарт настроен в блокирующем режиме. UART_write() блокирует задачу на время копирования данных в буфер обмена FIFO UART. Мне нужно заблокировать на время передачи всех данных, т.е. на то время, пока все данные не вылезут с ноги процессора. Можно после UART_write() ждать какое-нибудь событие по окончании передачи. Но какое? Как в TI-RTOS отследить окончание передачи данных из буфера FIFO UART? Есть исходники драйвера uart ? Легче всего посмотреть исходник ф--ии write(). Есть ли там жидание прерывания "буфер отправки пуст" Или исходник драйвера в студию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 32 18 октября, 2016 Опубликовано 18 октября, 2016 · Жалоба Да не проблема Int UART_write(UART_Handle handle, const Char *buffer, UInt size) { Assert_isTrue(handle != NULL, NULL); return (handle->fxnTablePtr->writeFxn(handle, buffer, size)); } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha 0 18 октября, 2016 Опубликовано 18 октября, 2016 · Жалоба Да не проблема Int UART_write(UART_Handle handle, const Char *buffer, UInt size) { Assert_isTrue(handle != NULL, NULL); return (handle->fxnTablePtr->writeFxn(handle, buffer, size)); } Исходники ф-ии, в студию на которую указывает handle->fxnTablePtr->writeFxn() Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться