Архив рубрики «USART»

STM32 USART. Использование StdPeriph_Lib

Для работы с USART в библиотеке имеются файлы stm32f10x_usart.c и stm32f10x_usart.h

Рассмотрим некоторые основные функции.

void USART_Init ( USART_TypeDef * USARTx, USART_InitTypeDef  USART_InitStruct )

Данная ф-я выполняет инициализацию выбранного модуля USART. Номер модуля задается первым аргументом (USARTx), который может принимать следующие значения: USART1, USART2, USART3, USART4 или USART5. Второй аргумент – указатель на инициализационную структуру. Она имеет следующий вид:

Прочитать остальную часть записи »

STM32 USART. Использование DMA

Если вам нужно передавать (или принимать) через USART массыв данных, тогда есть смысл использовать DMA.

USART1 «сидит» на контроллере DMA1: передатчик можно подключить к четвертому каналу, а приемник — к пятому.

Настроим прием и передачу данных с использованием DMA. Прием будет осуществляться в массив RxBuff[64], передача — из массива TxBuff[64].
Прочитать остальную часть записи »

STM32 USART. Работа с прерываниями

Для работы с прерываниями необходима функция-обработчик. Модуль USART имеет одну такую функцию.

То есть, какое бы событие не вызвало прерывание, вызывается одна и та же функция.

Причину прерывания можно определить, проверив соответствующие флаги.

Функция имеет следующий вид:

Прочитать остальную часть записи »

STM32 USART. Инициализация модуля

Мы уже рассмотрели регистры приемопередатчика, а теперь попробуем соединить все это воедино, и выполнить инициализацию модуля применительно к конкретной задаче. Итак, необходимо настроить USART1 для связи с ПК. Скорость обмена 9600, длина слова 8 бит, 2 стоп бита, без контроля паритета, частота тактового сигнала 24 MHz.
Прочитать остальную часть записи »

STM32 USART. Назначение регистров

В контроллерах STM32 для настройки каждого модуля USART и работы с ними имеется по 7 регистров:

  1. USART_SR регистр статуса — содержит флаги, указывающие на состояние модуля;
  2. USART_DR регистр данных — в него пишем передаваемые данные и читаем принятые;
  3. USART_BRR регистр, определяющий скорость обмена;
  4. USART_CR1 управляющий регистр 1;
  5. USART_CR2 управляющий регистр 2;
  6. USART_CR3 управляющий регистр 3;
  7. USART_GTPR регистр делителя и задержки.

Регистров много, но пугаться не надо. Мы начнем с рассмотрения тех регистров и тех разрядов,которые необходимы для обеспечения асинхронного обмена с ПК или другим контроллером.
Прочитать остальную часть записи »

STM32 USART. Введение

Зачем необходим USART? Для «цивилизованной» связи с внешним миром, например, с ПК или с другим контроллером.

Преимущества USARTa — простота использования (по сравнению, например, с USB) и надежность работы.

Недостаток — на современных ПК отсутствует СОМ-порт, но это решается путем использования виртуального.
Прочитать остальную часть записи »