Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
ru:software:homelab:library:usart [2013/08/14 23:40] eduardtlmkru:software:homelab:library:usart [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Последовательный интерфейс ====== 
  
-Данная универсальная библиотека последовательного интерфейса AVR позволяет записывать и считывать данные асинхронно. 
- 
-===== Типы данных ===== 
- 
-  * **//usart//** \\ Тип данных для хранения регистров интерфейса USART. //usart//-Переменная типа usart константна и её следует инициализировать в самом начале программы. Для упрощения инициализации существует макрофункция USART, параметром которой является индекс интерфейса (0 или 1). 
-  * **//usart_databits//** \\ Тип выбора числа бита данных. Варианты значений: 
-    * //USART_DATABITS_5// - Битов данных 5. 
-    * //USART_DATABITS_6// - Битов данных 6. 
-    * //USART_DATABITS_7// - Битов данных 7. 
-    * //USART_DATABITS_8// - Битов данных 8. 
-    * //USART_DATABITS_9// - Битов данных 9. 
-  * **//usart_stopbits//** \\ Тип выбора числа стоп-битов. Варианты значений: 
-    * //USART_STOPBITS_ONE// - Один стоп-бит. 
-    * //USART_STOPBITS_TWO// - Два стоп-бита. 
-  * **//usart_parity//** \\ Тип выбора контроля парности. Варианты значений: 
-    * //USART_PARITY_NONE// - Контроль парности и бита не используется. 
-    * //USART_PARITY_EVEN// - Контроль чётности. 
-    * //USART_PARITY_ODD// - Контроль нечётности. 
- 
-===== Функции ===== 
- 
-  * **//USART_BAUDRATE_ASYNC(baud)//** \\ 
-    Макрофункция для вычисления значения асинхронного регистра скорости в бодах USART модуля. Параметры: 
-    * //baud// - Скорость в бодах. 
-    * Возвращает значение регистра скорости в бодах. 
- 
-  * **//void usart_init_async(usart port, usart_databits data_bits, usart_stopbits stop_bits, usart_parity parity, usart_baudrate baudrate)//** \\ 
-    Установка последовательного интерфейса асинхронным. Параметры: 
-    * //port// - Переменная интерфейса USART. 
-    * //data_bits// - Число битов данных. 
-    * //stop_bits// - Число стоп-битов. 
-    * //parity// - Тип парности. 
-    * //baudrate// - Скорость передачи данных в бодах, которая рассчитана с помощью макро функции //USART_BAUDRATE_ASYNC//. 
-~~PB~~ 
-  * **//void usart_send_char(usart port, char symbol)//** \\ 
-    Blokeeruv sümboli saatmise funktsioon. Funktsioon ootab, kuni saatmise puhver tühjeneb ja kirjutab sinna saatmiseks uue sümboli. Parameetrid: 
-    * //port// - Переменная интерфейса USART. 
-    * //symbol// - Отправляемый символ. 
- 
-  * **//void usart_send_string(usart port, char *text)//** \\ 
-    Блокирующая функция отправки текста. Параметры: 
-    * //port// - Переменная интерфейса USART. 
-    * //text// - Указатель текста. Текст должен заканчиваться бинарным символом 0. 
- 
-  * **//bool usart_has_data(usart port)//** \\ 
-    Контроль наличия данных в буфере приёма. Параметры: 
-    * //port// - Переменная интерфейса USART. 
-    * Возвращает значение //true//, если в буфере приёма есть символ и //false//, если нет 
- 
-  * **//char usart_read_char(usart port)//** \\ 
-    Считывание символа из буфера приёма. Перед считыванием следует убедиться, что в буфере есть символ. Параметры: 
-    * //port// - Переменная интерфейса USART. 
-    * Возвращает символ. 
- 
-  * **//bool usart_try_read_char(usart port, char *symbol)//** \\ 
-    Контроль наличия символа в буфере приёма и общая функция его считывания. Параметры: 
-    * //port// - Переменная интерфейса USART. 
-    * //symbol// - Указатель символа. Если в буфере приёма есть символ, он будет записан сюда. 
-    * Возвращает значение //true//, если в буфере приёма есть символ и //false//, если нет. 
- 
-===== Пример ===== 
- 
-Интерфейс настроен асинхронно на использование 8 битов данных, одного стоп-бита и без контроля парности на скорости передачи данных в бодах 9600. Программа отправляет текст и считывает входящий символ. 
- 
-<code c> 
-#include <homelab/usart.h> 
- 
-usart port = USART(0); 
- 
-int main(void) 
-{ 
- char c; 
- 
- // Настройка интерфейса 
- usart_init_async(port, USART_DATABITS_8, USART_STOPBITS_ONE, 
- USART_PARITY_NONE, USART_BAUDRATE_ASYNC(9600)); 
- 
- // Отправка текста 
- usart_send_string(port, "Tere!\r\n"); 
- 
- // Ожидание входящего символа 
- while (!usart_has_data(port)) {} 
- 
- // Считывание символа 
- c = usart_read_char(port); 
-} 
-</code> 
ru/software/homelab/library/usart.1376512831.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0