Jump to content

    

TI-RTOS UART_write()

уарт настроен в блокирующем режиме. UART_write() блокирует задачу на время копирования данных в буфер обмена FIFO UART. Мне нужно заблокировать на время передачи всех данных, т.е. на то время, пока все данные не вылезут с ноги процессора. Можно после UART_write() ждать какое-нибудь событие по окончании передачи. Но какое? Как в TI-RTOS отследить окончание передачи данных из буфера FIFO UART?

Share this post


Link to post
Share on other sites
уарт настроен в блокирующем режиме. UART_write() блокирует задачу на время копирования данных в буфер обмена FIFO UART. Мне нужно заблокировать на время передачи всех данных, т.е. на то время, пока все данные не вылезут с ноги процессора. Можно после UART_write() ждать какое-нибудь событие по окончании передачи. Но какое? Как в TI-RTOS отследить окончание передачи данных из буфера FIFO UART?

 

Есть исходники драйвера uart ?

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

Или исходник драйвера в студию.

 

 

Share this post


Link to post
Share on other sites

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

 

Int UART_write(UART_Handle handle, const Char *buffer, UInt size)

{

Assert_isTrue(handle != NULL, NULL);

 

return (handle->fxnTablePtr->writeFxn(handle, buffer, size));

}

Share this post


Link to post
Share on other sites
Да не проблема

 

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()

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this