5.1.2 Передача данных

Предыдущая  Содержание  Следующая V*D*V

Функции, участвующие в передаче данных, показаны в Распечатке 5.3. Передача начинается с функции my_uart_start_tx(); эта функция вызывается дисциплиной линии для начала передачи. После того, как передан первый символ, остальная часть передачи осуществляется из обработчика прерывания, пока не будут переданы все символы в очереди уровня дисциплины линии. Это реализуется универсальной функцией передачи my_uart_char_tx(). Ядро последовательного порта обеспечивает механизм кругового буфера для хранения символов, которые должны быть переданы. Ядро последовательного порта предоставляет макросы для работы с этим буфером, следующие из которых используются в этом драйвере:

 

uart_circ_empty() используется для проверки, пуст ли буфер.

uart_circ_clear() используется для очистки буфера.

uart_circ_chars_pending() используется, чтобы узнать число символов, которые ещё не отосланы.

 

Предыдущая  Содержание  Следующая