1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bg4uvr-stm32f401ccu_uc1609lcd_drv

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

前言

Только начав работать со STM32, я использовал среду MDK и изучал библиотеку STD. Позже, отказавшись от D-версии, перешёл на EmBitz. В этой среде файлы библиотек копируются автоматически, что избавляет от необходимости ручной обработки и очень удобно. Однако эта среда EmBitz уже довольно старая, и её не обновляли несколько лет. Недавно я обнаружил, что STM32CubeIDE от STM неплох, и начал изучать эту среду. Освоить работу с программным обеспечением можно быстро, но основная сложность заключается в том, что раньше я работал только с библиотекой STD и не изучал HAL, поэтому все операции с аппаратным обеспечением для меня являются новыми методами, требующими изучения. Сейчас у меня есть время, чтобы записать процесс обучения, надеюсь, это поможет тем, кто, как и я, готовится к переходу на новую среду разработки или только начинает изучать HAL.

Эксперимент: краткое описание

В эксперименте использовалась небольшая плата STM32F401CCU6 (19 юаней с доставкой), купленная на Taobao, для демонстрации управления жидкокристаллическим экраном COB 19264 (9,9 юаня с доставкой). Этот код был модифицирован из моего предыдущего кода для управления экраном в других средах аппаратного и программного обеспечения. Часть кода, связанная с отображением символов и графикой, была взята из сети, но из-за длительного времени я не могу точно определить источник. Я выражаю благодарность первоначальному автору.

Этот драйвер использует порт SP1, работает на скорости 42 Мбит/с и выделяет 1,5 КБ специальной памяти в ОЗУ. Таймер используется для генерации прерываний каждые 20 мс, чтобы использовать режим DMA для прямой передачи данных отображения из ОЗУ в SPI на аппаратном уровне. Кроме того, таймер 11 используется для управления светодиодом, который мигает один раз в секунду на выводе PC13.

Таким образом, особенности этого драйвера включают:

  1. Использование аппаратного порта SPI для работы на максимальной скорости.
  2. Применение режима DMA для передачи данных отображения.
  3. Автоматическое обновление данных отображения таймером.
  4. Пользователю достаточно вызвать функцию отображения, и данные точечной матрицы будут напрямую сохранены в памяти дисплея.

Поэтому основная характеристика этого драйвера — скорость! Если вы считаете, что частота обновления 50 Гц недостаточна, вы можете попробовать изменить параметры таймера для более быстрой работы, хотя я ещё не пробовал максимально возможную скорость.

Прошу прощения за возможные ошибки в процессе обучения.

Демонстрационное видео

https://v.youku.com/v_show/id_XNDY1MzcxOTUyNA==.html

Некоторые могут подумать, что в этом нет ничего особенного, но я повторно снял видео:

https://v.youku.com/v_show/id_XNDY1ODE4NDc4OA==.html

Полный исходный код проекта доступен для скачивания по следующим ссылкам: Gitee Github

Как открыть этот проект:

Поскольку большинство любителей STM32 в Китае обычно используют MDK для разработки, если вы ранее не работали со средой STM32cubeIDE, прямое открытие этого проекта может привести к неудаче и повлиять на ваше настроение. Поэтому здесь я расскажу о шагах, которые помогут вам в будущем:

  1. Как клонировать проект

Если вы регулярно используете git, то это не будет проблемой. Вы можете просто использовать команду git clone для клонирования проекта на свой компьютер.

Если у вас нет установленного git, вы можете напрямую нажать «клонировать/скачать», а затем нажать «скачать ZIP» внизу. Это загрузит ZIP-файл, после его распаковки вы получите папку с проектом.

  1. Как открыть проект
  • Установите STM32CubeIDE

Откройте официальный сайт https://www.st.com/zh/development-tools/stm32cubeide.html и скачайте STM32CubeIDE. Для загрузки на официальном сайте требуется регистрация, но вы также можете найти другие источники для загрузки. После установки не буду вдаваться в подробности.

  • Импортируйте проект

После клонирования проекта вы не сможете сразу открыть его в STM32CubeIDE, так как путь к вашему проекту отличается от пути автора. Необходимо импортировать проект перед использованием. Вот конкретные шаги:

* Откройте STM32CubeIDE после установки. Если есть обновления, позвольте программе обновиться самостоятельно. После установки программа готова к работе без дополнительных настроек. По мере освоения программы вы можете настроить её под свои потребности.

* После открытия программы вы увидите страницу приветствия, которая может быть закрыта ранее. Если она не открывается автоматически, вы можете нажать на значок «Information Center» (центр сообщений) в правом верхнем углу экрана, чтобы открыть эту страницу.

* Нажмите на средний из трёх синих блоков на странице приветствия — «Start new project from STM32CubeMX .ioc file». В появившемся окне нажмите «Browse...» справа и выберите каталог недавно клонированного проекта. Выберите файл .ioc и нажмите «Открыть», затем «Готово». После небольшой загрузки вы должны увидеть интерфейс с изображением выводов чипа.

* Здесь мы говорим о том, как импортировать этот проект, поэтому не будем подробно останавливаться на конкретных настройках. Просто нажмите на значок жёлтой шестерни («Device Configuration Tool Code Generation») на панели инструментов, дождитесь завершения загрузки и нажмите на синий значок MX слева от значка «C/C++» на панели инструментов. Слева появится менеджер проектов, где вы можете просматривать и компилировать код.

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

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

ЖК-экран с матрицей 19264 точки uc1609, драйвер HAL-библиотеки в среде STM32CubeIDE для STM32F401CCU. Используются аппаратный интерфейс SPI, передача данных через DMA, автоматическое обновление с помощью таймера. Отличается высокой скоростью работы. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/bg4uvr-stm32f401ccu_uc1609lcd_drv.git
git@api.gitlife.ru:oschina-mirror/bg4uvr-stm32f401ccu_uc1609lcd_drv.git
oschina-mirror
bg4uvr-stm32f401ccu_uc1609lcd_drv
bg4uvr-stm32f401ccu_uc1609lcd_drv
master