Работа с UART (Си) » History » Version 7
  krufter_multiclet, 04/18/2013 06:06 PM 
  
| 1 | 1 | krufter_multiclet | h1. Работа с UART (Си)  | 
|---|---|---|---|
| 2 | 3 | krufter_multiclet | |
| 3 | 3 | krufter_multiclet | Рассмотрим передачу и приём сообщения по UART подробнее (на Си).  | 
| 4 | 3 | krufter_multiclet | |
| 5 | 4 | krufter_multiclet | Сконфигурировать UART на передачу и приём сообщения на Си также просто как и на ассемблере мультиклеточного процессора.  | 
| 6 | 4 | krufter_multiclet | Кроме того на Си для работы с UART доступны полезные функции и макросы, такие как вывод значения типа int, вывод строки,  | 
| 7 | 4 | krufter_multiclet | вывод заданного массива памяти данных.  | 
| 8 | 5 | krufter_multiclet | |
| 9 | 5 | krufter_multiclet | В приведённых ниже примерах кода используется библиотека для работы с UART, которую необходимо подключить:  | 
| 10 | 5 | krufter_multiclet | <pre>  | 
| 11 | 5 | krufter_multiclet | #include <uart.h>  | 
| 12 | 5 | krufter_multiclet | </pre>  | 
| 13 | 6 | krufter_multiclet | |
| 14 | 6 | krufter_multiclet | h3. 1. Настраиваем UART на передачу  | 
| 15 | 6 | krufter_multiclet | |
| 16 | 6 | krufter_multiclet | Первым шагом задаём структуру (все элементы структуры можно посмотреть в файле uart.h).  | 
| 17 | 6 | krufter_multiclet | <pre>  | 
| 18 | 6 | krufter_multiclet | UART_InitTypeDef UART_InitStructure;  | 
| 19 | 6 | krufter_multiclet | </pre>  | 
| 20 | 6 | krufter_multiclet | |
| 21 | 7 | krufter_multiclet | Затем инициализируем нужные параметры (незаданные параметры по умолчанию инициализируются нулём).  | 
| 22 | 7 | krufter_multiclet | <pre>  | 
| 23 | 7 | krufter_multiclet | UART_InitStructure.BaudRate = 38400; //скорость обмена данными  | 
| 24 | 7 | krufter_multiclet | UART_InitStructure.TypeParity = 0x00000000; //тип контроля четности  | 
| 25 | 7 | krufter_multiclet | UART_InitStructure.Parity = 0x00000000; //разрешение контроля четности  | 
| 26 | 7 | krufter_multiclet | UART_InitStructure.FlowControl = 0x00000000; //разрешение аппаратного контроля  | 
| 27 | 7 | krufter_multiclet | UART_InitStructure.Mode = 0x00000002; //разрешение передачи  | 
| 28 | 7 | krufter_multiclet | </pre>  |