Работа с UART (Си) » History » Version 8
krufter_multiclet, 04/18/2013 06:07 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 | 8 | krufter_multiclet | h2. а)Передача по UART |
| 15 | 8 | krufter_multiclet | |
| 16 | 6 | krufter_multiclet | h3. 1. Настраиваем UART на передачу |
| 17 | 6 | krufter_multiclet | |
| 18 | 6 | krufter_multiclet | Первым шагом задаём структуру (все элементы структуры можно посмотреть в файле uart.h). |
| 19 | 6 | krufter_multiclet | <pre> |
| 20 | 6 | krufter_multiclet | UART_InitTypeDef UART_InitStructure; |
| 21 | 6 | krufter_multiclet | </pre> |
| 22 | 6 | krufter_multiclet | |
| 23 | 7 | krufter_multiclet | Затем инициализируем нужные параметры (незаданные параметры по умолчанию инициализируются нулём). |
| 24 | 7 | krufter_multiclet | <pre> |
| 25 | 7 | krufter_multiclet | UART_InitStructure.BaudRate = 38400; //скорость обмена данными |
| 26 | 7 | krufter_multiclet | UART_InitStructure.TypeParity = 0x00000000; //тип контроля четности |
| 27 | 7 | krufter_multiclet | UART_InitStructure.Parity = 0x00000000; //разрешение контроля четности |
| 28 | 7 | krufter_multiclet | UART_InitStructure.FlowControl = 0x00000000; //разрешение аппаратного контроля |
| 29 | 7 | krufter_multiclet | UART_InitStructure.Mode = 0x00000002; //разрешение передачи |
| 30 | 7 | krufter_multiclet | </pre> |