Программирование STM32. Часть 16: USART

Многие из тех, кто имел какое-либо дело с микроконтроллерами, например, с PIC и AVR, знают про такую вещь, как UART. Universal asynchronous receiver transmitter — универсальный асинхронный приемопередатчик встроен как периферийное устройство в любой современный МК, причем в некоторых МК он представлен не в единственном экземпляре. Так же есть некоторая путаница в том, что есть UART, а что есть USART. Universal synchronous asynchronous receiver transmitter (USART) — универсальный синхронный/асинхронный приемопередатчик полностью повторяет функциональность UART, который работает в асинхронном режиме, и включает еще и синхронный режим. В этом случае связь между двумя устройствами USART немного напоминает интерфейс SPI: кроме сигналов RX и TX, добавляется еще один: CK, по которому идет тактовый сигнал от ведущего модуля USART, к ведомому. В данной статье мы рассмотрим самый простой и востребованный случай, а именно обычный асинхронный режим работы USART в микроконтроллере stm32f103c8. Предыдущая статья здесь, все статьи цикла можно посмотреть тут: http://dimoon.ru/category/obuchalka/stm32f1.

Читать далее

Говорящие часы TalkingLEDClock Часть 4: Заключение

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

Записал небольшое видео с демонстрацией работы TalkingLEDClock. Статья будет совсем небольшая, так как все будет сказано в видеоролике. Как говорится, лучше один раз увидеть, чем сто раз услышать 🙂 В видео я не дал полного описания всех фишек этих часиков, пусть это будет некой интригой для тех, кто захочет их собрать 😉 Итак, само видео:

Спасибо за внимание, успехов в творчестве! Всем пока! 🙂

Говорящие часы TalkingLEDClock: Схема

У людей бывают очень разные и порой даже странные увлечения. Кто-то любит коллекционировать фарфоровых слоников или урановое стекло, другой является ценителем редкого и дорогого алкоголя. Есть даже такие, кто коллекционирует свои состриженные ногти с рук и ног (фу, какая мерзость))). Моим же увлечением является изготовление различных электронных часов. В этой статье мы начнем знакомство с принципиальной электрический схемой моей последней разработки, и рассмотрим некоторые технические решения, которые были реализованы.

Читать далее

Программирование STM32. Часть 15: Внешние прерывания EXTI

Внешние прерывания нужны для реакции прошивки МК на какие-либо быстро протекающие внешние события, которые проблематично регистрировать методом опроса состояния вывода GPIO. В stm32f103c8 для этих целей есть специальный блок EXTI, который мы рассмотрим в этой статье. Предыдущая статья здесь, все статьи цикла можно посмотреть тут: http://dimoon.ru/category/obuchalka/stm32f1.

Читать далее

Программирование STM32. Часть 14: Прошиваем STM32 через ST-Link

Допустим, копая просторы Интернета, нашли мы очень интересное электронное устройство на микроконтроллере STM32, причем и все схемы, и прошивка прилагается. Но вот незадача, никогда мы не занимались загрузкой прошивки в STM32, раньше работали только с AVR-ками. Не беда! В этой статье мы разберемся в этом вопросе, ведь загружать готовую прошивку в STM32 не сложнее, чем в старые добрые AVR-ки, а может даже и проще! 😉 Итак, поехали! Предыдущая статья здесь, все статьи цикла можно посмотреть тут: http://dimoon.ru/category/obuchalka/stm32f1.

Читать далее

Программирование STM32. Часть 13: Программатор ST-Link

По-хорошему, данную тему надо было затронуть еще во 2-й или 3-й части данного цикла статей. Но лучше поздно, чем ни когда, поэтому поехали! В этой части мы познакомимся с программатором ST-Link, с помощью которого можно загружать прошивку в микроконтроллер STM32 и производить отладку программного обеспечения. Предыдущая статья здесь, все статьи цикла можно посмотреть тут: http://dimoon.ru/category/obuchalka/stm32f1.

Читать далее

Программирование STM32. Часть 12: Прерывания DMA

Итак, мы рассмотрели обмен с периферийными устройствами посредством DMA на примере передачи данных из памяти в интерфейс SPI и обратно, а так же с помощью DMA копировали один массив данных в другой. В этой части мы рассмотрим прерывания, которые может генерировать контроллер DMA. Предыдущая статья здесь, все статьи цикла можно посмотреть тут: http://dimoon.ru/category/obuchalka/stm32f1.

Читать далее

Программирование STM32. Часть 11: Копирование массивов через DMA

В этой короткой части мы рассмотрим режим MEM2MEM и научится с помощью DMA копировать одну область памяти в другую. Все примеры, как и всегда, для микроконтроллера stm32f103c8. Предыдущая статья здесь, все статьи цикла можно посмотреть тут: http://dimoon.ru/category/obuchalka/stm32f1.

Читать далее

Программирование STM32. Часть 10: SPI + DMA

В этой части мы перейдем к практике работы с DMA на примере интерфейса SPI, а именно рассмотрим передачу и прием данных по SPI в режиме Master с помощью контроллера DMA. Все примеры, как и всегда, для микроконтроллера stm32f103c8. Предыдущая статья здесь, все статьи цикла можно посмотреть тут: http://dimoon.ru/category/obuchalka/stm32f1.

Читать далее

Программирование STM32. Часть 9: Описание регистров DMA

Так как предыдущая статья про DMA оказалась довольно большой, то описание регистров я решил вынести отдельной частью. Предыдущая статья здесь, все статьи цикла можно посмотреть тут: http://dimoon.ru/category/obuchalka/stm32f1.

Читать далее