Проект с использованием MCC часть 15


EUSART – Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter, UART) — узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. … читать на вики. Внесем изменения в нашу схему, добавим выход на USART. Для связи с ПК будем использовать любой мост в моем случае я буду использовать MCP2200 – USB – USB Bridge. Наша схема преобразиться следующим образом:Добавим ЮСБ-мост MCP2200. Его назначение конвертирование данных из UART в USB для обмена данными с ПК. При подключении MCCP2200 к  ПК у вас появиться виртуальный ком порт. Номер порта будет соответствовать свободному месту, например у меня при подключении COM4.

Посмотреть какие поты уже заняты можно если в Диспетчере устройств установить Показать скрытые устройства

Можно увидеть на какие порты уже установлены драйвера.

Если в вашем пока достаточно много скрытых USB портов, то просто удалите ненужные, предварительно отключите ваше устройство,

и выполните переподключение вашего устройства и система сама установит его на первое свободное место.

Хочу напомнить если у вас не W10, то возможно придется установить драйвера для MCP2200 в ручную для этого посетите страницу http://www.microchip.com/wwwproducts/en/mcp2200 и скачайте драйвера в разделе документация MCP2200/MCP2221 Windows Driver & Installer.

Когда с железом и разобрались и проблем нету, можно использовать любую терминальную прогу для работы с компортом. Примере я буду использовать китайскую прогу UartAssist из-за её простоты и удобства обновления.


Дополнительно, для тех кто первый раз столкнется с работой MCP2200, для работы индикаторов передачи (светодиоды LD4 и LD5) их надо активировать с помощью утилиты MCP2200 Configuration Utility v1.3.1.


Теперь вернемся к нашему проекту. Запустим MCC

Обратимся в окно ресурсы устройства (Device Resources)

Двойной клик добавим модуль в проект:

Предварительно обратимся к пин модулю и учитывая, что у нас появился модуль EUSART настроим порт RB5 на вход.

Перейдем к конфигурированию модуля EUART , будем использовать Easy Setup (Простая настройка)

Первоначально нас интересуют функции Enable EUART – включить модуль, Enable Transmit – включить передатчик, Enable EUART Interrupts – включить прерывание от модуля. Запустим генерацию кода

Выполните предложенные изменения, для EUART.

Для пин менеджера примените только настройка портов:

Какие мы получили изменения в проекте

Файл interrupt_manager.c – добавлены функции прерывания, от модуля EUART

От функции передачи EUSART_Transmit_ISR(), от функции приема  EUSART_Receive_ISR().

Сгенерированы файлы библиотеки eusart.h и eusart.c

Нам доступны следующие функции

void EUSART_Initialize(void) – инициализация модуля, настраиваются заданные параметры, в нашем варианте буфер настроен на 8 байт.

uint8_t EUSART_Read(void) – получение данных из буфера приема.

void EUSART_Write(uint8_t txData) – запись байта данных.

void EUSART_Transmit_ISR(void) – функции передачи байта данных с использованием прерывания.

 void EUSART_Receive_ISR(void) – функция приема и обработки байта данных с использованием прерываний.

Надо понять как происходит включение модуля, для этого MCC добавил функции EUSART_Initialize() в функцию SYSTEM_Initialize().

На настоящий момент сама функция выглядит так;

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

Подключаем к USB наш проект, проверяем, что установлен компорт. Запускаем терминальную программу, например: UartAssist.exe

Выберем компорт нашего устройства

Откроем компорт

Проверим, чтобы подключение было успешным:

Для передачи данных в ПК используем стандартную библиотечную функцию printf, но она так просто не заработает. Что для этого надо делать. Первое на забыть прописать в начале программы, что мы используем функцию из библиотеки

Второе, это необходимо сделать переопределение

Третье, разрешить прерывание от периферийных модулей, т.к. EUSART относиться к ним и при его инициализации разрешаются прерывания от этого модуля.

Для тестирования впишем строки

и запустим наш проект, результат должен быть вывод на терминал, сообщения

 


На этом этапе мы научились посылать строки в порт и получать информацию на терминальной программе!

Проект для тестирования

Значок

Проект с использованием MCC часть 15 813.09 KB 3 downloads

Навастриваем УСАРТ , учимся работать с компортом,...
Login Required Message:
Значок

Проект с использованием MCC часть 15 (схема, Altium Designer) 940.62 KB 62 downloads

Схема - проект в формате Altium Designer   ...


Это может быть интересно


  • Проект с использованием MCC часть 10Проект с использованием MCC часть 10
    Алгоритм управления освещением от нажатия кнопки. Обработка удержания кнопки: Мы должны проверить кнопка в настоящий момент нажата и флаг удержания установлен, если да Проверить таймер удержания “отработал” – это значит, …
  • Altium Designer – подготовка документации для производства и сборки печатных платAltium Designer – подготовка документации для производства и сборки печатных плат
    В процессе освоения Altium Designer много возникает вопросов по подготовке документации для производства плат, а также для её сборки. Altium Designer позволяет сделать все требуемые документы, хотя скажем откровенно, для …
  • MAX7219/21 и 8х8 LED дисплеиMAX7219/21 и 8х8 LED дисплеи
    MAX7219, MAX7221 предназначены для вывода информации на 8 разрядов семисегментного индикатора, но на нем легко организовать вывод на светодиодные индикаторы 8х8. продолжение следует…. Это может быть интересно Метки:MAX7219, MAX7221
  • Униполярный шаговый двигательУниполярный шаговый двигатель
        В приводах различных устройств часто применяются шаговые двигатели, Шаговый двигатели различают двух типов униполярные – когда обмотки коммутируются током текущим только в одну сторону, например при помощи обычных …
  • 12-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA20412-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA204
    Введение. 12-битный модуль A/D Converter является усовершенствованной версией 10-битного модуля, предлагаемого на некоторых устройствах PIC24. Оба модуля являются преобразователями, в своих ядрах, с последовательным приближением (SAR), в окружении ряда аппаратных …
  • Проект с использованием MCC часть 01Проект с использованием MCC часть 01
    Для изучения MCC я выбрал простой контроллер PIC16F1509. Выбор его был обусловлен богатой новой периферией которую можно изучить. Для начала была собрана схема на макетной плате Внешний вид собранной схемы …
  • REFERENCE CLOCK OUTPUT MODULEREFERENCE CLOCK OUTPUT MODULE
    REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от конфигурации выводов …
  • Просто о внешних переменныхПросто о внешних переменных
     Часто возникает задача когда необходимо предавать данные между модулями программы. Например, передать данные между файлами, или управлять работой модулей. Для этого создаем заголовочный файл и описываем наши переменные как внешние. В …
  • MPLAB® Harmony – или как это просто! Часть 1.MPLAB® Harmony – или как это просто! Часть 1.
    Часть первая – Установка Гармонии. Музыкальная тема к статье, слушаем: В начале запуска нового проекта и выбора микроконтроллера стоит задача правильно его сконфигурировать, прежде чем перейти к реализации самой задачи. …
  • LATINO – открытый проект ch-светомузыкиLATINO – открытый проект ch-светомузыки
      Проект построенный на некоторых принципах ch-светомузыка. Проект ознакомительный предназначен, для самостоятельного построения простого и эффективного светосинтезатора. Вывод осуществляется на ВОУ собранной на драйверах HL1606. Для этого была применена светодиодная …



Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.