Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TI-RTOS UART_write()
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
juvf
уарт настроен в блокирующем режиме. UART_write() блокирует задачу на время копирования данных в буфер обмена FIFO UART. Мне нужно заблокировать на время передачи всех данных, т.е. на то время, пока все данные не вылезут с ноги процессора. Можно после UART_write() ждать какое-нибудь событие по окончании передачи. Но какое? Как в TI-RTOS отследить окончание передачи данных из буфера FIFO UART?
gosha
QUOTE (juvf @ Oct 11 2016, 11:18) *
уарт настроен в блокирующем режиме. UART_write() блокирует задачу на время копирования данных в буфер обмена FIFO UART. Мне нужно заблокировать на время передачи всех данных, т.е. на то время, пока все данные не вылезут с ноги процессора. Можно после UART_write() ждать какое-нибудь событие по окончании передачи. Но какое? Как в TI-RTOS отследить окончание передачи данных из буфера FIFO UART?


Есть исходники драйвера uart ?
Легче всего посмотреть исходник ф--ии write(). Есть ли там жидание прерывания "буфер отправки пуст"
Или исходник драйвера в студию.

x893
Да не проблема

Int UART_write(UART_Handle handle, const Char *buffer, UInt size)
{
Assert_isTrue(handle != NULL, NULL);

return (handle->fxnTablePtr->writeFxn(handle, buffer, size));
}
gosha
QUOTE (x893 @ Oct 18 2016, 14:39) *
Да не проблема

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()
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.