8-900-374-94-44
[email protected]
Slide Image
Меню

Программирование stm32 микроконтроллеров: от включения питания до «Hello, World» / Хабр

Программирование МК STM32

↓ Перейти к основному содержимому

Главная › Программирование МК STM32

&nbsp

&nbsp

&nbsp

 

 

  • Урок 1. Установка Keil μVision
  • Урок 2. Бегущие огни
  • Урок 3. Библиотека SPL. Подключаем кнопку
  • Урок 4. Библиотека HAL. STM32 CUBE MX. Светодиоды и кнопка
  • Урок 5. Библиотека HAL. STM32 CUBE MX. Таймеры
  • Урок 6. Библиотека HAL. LCD 20×4. 4-битный режим
  • Урок 7. HAL. LCD 20×4. 4-битный режим. Выводим информацию
  • Урок 8. HAL. Шина I2C. Подключаем микросхему RTC DS3231
  • Урок 9. HAL. Шина I2C. Продолжаем работу с DS3231
  • Урок 10. HAL. Изучаем PWM (ШИМ). Мигаем светодиодами плавно
  • Урок 11. HAL. Статическая индикация
  • Урок 12. HAL. Динамическая индикация
  • Урок 13. HAL. USART. Передача данных
  • Урок 14. HAL. USART. Прием данных
  • Урок 15. HAL. USART. DMA
  • Урок 16. HAL. ADC. Regular Channel
  • Урок 17.
    HAL. ADC. Regular Channel. Interrupt
  • Урок 18. HAL. ADC. Regular Channel. DMA
  • Урок 19. HAL. ADC Injected Channel
  • Урок 20. HAL. ADC. Injected Channel. Interrupt
  • Урок 21. HAL. ADC. Regular Channel. Trigger
  • Урок 22. HAL. I2C. I2C to LCD2004
  • Урок 23. HAL. SPI. Сдвиговый регистр 74HC595
  • Урок 24. HAL. SPI. LED Статическая индикация
  • Урок 25. HAL. SPI. LED Динамическая индикация
  • Урок 26. HAL. SPI. Драйвер индикатора MAX7219
  • Урок 27. HAL. DAC
  • Урок 28. HAL. DAC. Triangle
  • Урок 29. HAL. DAC. Triangle. DMA
  • Урок 30. HAL. DAC. Sinus. DMA
  • Урок 31. HAL. DAC. Noise
  • Урок 32. HAL. DAC. Noise. RNG
  • Урок 33. HAL. USB. Virtual Com Port
  • Урок 34. HAL. USB. HID
  • Урок 35. HAL. USB. Custom HID
  • Урок 36. HAL. USB. Host. Mass Storage Class

    • Часть 1
    • Часть 2
  • Урок 37. Подключаем дисплей TFT 240×320 на контроллере ILI 9341 с шиной 8bit

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
    • Часть 5
    • Часть 6
    • Часть 7
    • Часть 8
    • Часть 9
  • Урок 38. Плата NUCLEO STM32F401RE и оценочные платы
  • Урок 39. Подключаем акселерометр LSM303DLHC

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
    • Часть 5
  • Урок 40. Знакомство с платой NUCLEO STM32F767ZI
  • Урок 41. Подключаем акселерометр LIS3DSH

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 42. Подключаем акселерометр LSM6DS0

    • Часть 1
    • Часть 2
  • Урок 43. Подключаем акселерометр LSM6DS3

    • Часть 1
    • Часть 2
  • Урок 44. SDIO. FATFS
  • Урок 45. Подключаем гироскоп LSM6DS0

    • Часть 1
    • Часть 2
  • Урок 46. I2S AUDIO

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
    • Часть 5
    • Часть 6
    • Часть 7
  • Урок 47. Подключаем гироскоп LSM6DS3

    • Часть 1
    • Часть 2
  • Урок 48. USB DEVICE AUDIO

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 49. HAL. Магнитометр LSM303DLHC

    • Часть 1
    • Часть 2
  • Урок 50. Устанавливаем System Workbench for STM32
  • Урок 51. Подключаем магнитометр LIS3MDL

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 52. Датчик давления LPS25HB

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 53. System Workbench. Создаём новый проект
  • Урок 54. System Workbench. FreeRTOS
  • Урок 55. Подключаем датчик влажности HTS221

    • Часть 1
    • Часть 2
  • Урок 56. System Workbench. Подключаем библиотеку BSP

    • Часть 1
    • Часть 2
  • Урок 57. Wi-Fi. SPWF01SA11. Команды

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 58. System Workbench. LCD. SDIO

    • Часть 1
    • Часть 2
  • Урок 59. Модуль LCD 16×2 с кнопками
  • Урок 60. F769I-DISCO. WB. LCD. SDIO

    • Часть 1
    • Часть 2
  • Урок 61. Модуль LCD 16×2. Работаем с кнопками

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 62. FMC SDRAM

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 63. Модуль LCD 16×2. МЕНЮ

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 64. HAL. LTDC

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 65. Операционный усилитель TSZ124IPT

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 66. HAL. LTDC. SDRAM

    • Часть 1
    • Часть 2
  • Урок 67. HAL. LTDC. BMP

    • Часть 1
    • Часть 2
  • Урок 68. HAL. LAN. ENC28J60

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
    • Часть 5
    • Часть 6
    • Часть 7
    • Часть 8
    • Часть 9
    • Часть 10
  • Урок 69. HAL. LTDC. DMA2D

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 70. HAL. LTDC. Вывод текста на дисплей

    • Часть 1
    • Часть 2
  • Урок 71. LAN. ENC28J60. ARP

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 72. Touch panel FT5336

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 73. HAL. LTDC. EmWin. Подключение библиотеки

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 74. EXTI или внешние прерывания
  • Урок 75. LTDC. EmWin. BMP. Multiple Buffering
  • Урок 76. HAL. LTDC. EmWin. MultiLayer. Transparency
  • Урок 77. LAN. ENC28J60. Внешние прерывания (EXTI)
  • Урок 78. HAL. LTDC. EmWin. Window Manager
  • Урок 79. HAL. LTDC. EmWin. Подключаем акселерометр LSM6DS0
  • Урок 80. LAN. ENC28J60. UDP Server
  • Урок 81. LAN. ENC28J60. UDP Client
  • Урок 82. LAN. ENC28J60. Удаленный доступ
  • Урок 83. LAN. ENC28J60. NTP. Узнаём точное время

    • Часть 1
    • Часть 2
  • Урок 84. LAN. ENC28J60. TCP Server. Соединение

    • Часть 1
    • Часть 2
  • Урок 85. LAN. ENC28J60. TCP Server. Передача данных
  • Урок 86. LAN. ENC28J60. HTTP Server. Передаём малую страницу

    • Часть 1
    • Часть 2
  • Урок 87. LAN. ENC28J60. HTTP Server. Передаём страницу побольше

    • Часть 1
    • Часть 2
  • Урок 88. SD. SPI. FATFS

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 89. LAN. ENC28J60. HTTP Server. Подключаем карту SD
  • Урок 90. Датчик освещённости VL6180X

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
    • Часть 5
  • Урок 91. LAN. W5500. HTTP Server

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
    • Часть 5
  • Урок 92. Датчик температуры DS18B20

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 93. LAN. W5500. HTTP Server. Сокеты

    • Часть 1
    • Часть 2
  • Урок 94. DS18B20. Несколько датчиков на одной шине

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 95. LAN. W5500. FTP Server

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 96. LAN8720. LWIP. TCP Client

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 97. Подключаем bluetooth-модуль HC-05
  • Урок 98. LAN8720. LWIP. TCP Server

    • Часть 1
    • Часть 2
  • Урок 99. HC-05. Master. Соединяем два МК

    • Часть 1
    • Часть 2
  • Урок 100. LAN8720. LWIP. TCP. Соединяем два контроллера

    • Часть 1
    • Часть 2
  • Урок 101. HC-05. Передаём температуру
  • Урок 102. LAN8720. LWIP. HTTP RAW

    • Часть 1
    • Часть 2
  • Урок 103. Модули NRF24L01

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 104. FreeRTOS. Бинарные (двоичные) семафоры

    • Часть 1
    • Часть 2
  • Урок 105. NRF24L01. Передаём данные

    • Часть 1
    • Часть 2
  • Урок 106. FreeRTOS. Динамическое создание и уничтожение задач

    • Часть 1
    • Часть 2
  • Урок 107. Датчик влажности и температуры DHT22

    • Часть 1
    • Часть 2
  • Урок 108. FreeRTOS. Параметры
  • Урок 109. NRF24L01. Передаём температуру и влажность с датчика DHT22
  • Урок 110. FreeRTOS. Приоритеты задач
  • Урок 111. FreeRTOS. Очереди

    • Часть 1
    • Часть 2
  • Урок 112. FreeRTOS. Таймеры
  • Урок 113. NRF24L01. Несколько передатчиков

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 114. FreeRTOS. Продвинутая задержка DelayUntil
  • Урок 115. NRF24L01. Несколько приемников

    • Часть 1
    • Часть 2
  • Урок 116. FreeRTOS. Прерывания. Очереди в прерываниях

    • Часть 1
    • Часть 2
  • Урок 117. NRF24L01. Обмен информацией
  • Урок 118. LAN8720. LWIP. RAW. UDP Client
  • Урок 119. WS2812B. Лента на умных светодиодах RGB

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 120. LAN8742A. LWIP. NETCONN. UDP Server
  • Урок 121. Датчик температуры, давления и влажности BME280

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 122. LAN87XX. LWIP. NETCONN. UDP. Соединяем два контролера
  • Урок 123. LAN87XX. LWIP. NETCONN. UDP. Соединяем три контролера

    • Часть 1
    • Часть 2
  • Урок 124. LAN8742A. LWIP. NETCONN. TCP Server
  • Урок 125. LAN8742A. LWIP. NETCONN. TCP Client
  • Урок 126. LAN8742A. LWIP. NETCONN. TCP. Соединяем два контролера
  • Урок 127. LAN8742A. LWIP. NETCONN. HTTP Server
  • Урок 128. LAN8742A. LWIP. NETCONN. HTTP. AJAX

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 129. LAN8742A. LWIP. NETCONN. HTTP. WebSocket

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
  • Урок 130. LAN8742A. LWIP. NETCONN. NTP. Узнаём точное время

    • Часть 1
    • Часть 2
  • Урок 131. LAN8742A. LWIP. SOCKET. UDP Server

    • Часть 1
    • Часть 2
  • Урок 132. LAN8742A. LWIP. SOCKET. UDP. Соединяем два контроллера
  • Урок 133. LAN8742A. LWIP. SOCKET. TCP Server
  • Урок 134. LAN8742A. LWIP. SOCKET. TCP Client
  • Урок 135. LAN8742A. LWIP. SOCKET. TCP. Соединяем три контролера
  • Урок 136. LAN8742A. LWIP. SOCKET. HTTP Server
  • Урок 137. LAN8742A. LWIP. SOCKET. HTTP. AJAX
  • Урок 138. Independent watchdog (IWDG)

    • Часть 1
    • Часть 2
  • Урок 139. LAN8742A. LWIP. SOCKET. HTTP. WebSocket
  • Урок 140. Window watchdog (WWDG)

    • Часть 1
    • Часть 2
  • Урок 141. USB HS Host MSC Standalone

    • Часть 1
    • Часть 2
  • Урок 142. WS2812B. Ленты на 150-300 светодиодов

    • Часть 1
    • Часть 2
    • Часть 3
    • Часть 4
    • Часть 5
  • Урок 143. USB HS Host MSC FREERTOS

    • Часть 1
    • Часть 2
  • Урок 144. Режимы пониженного энергопотребления. SLEEP

    • Часть 1
    • Часть 2
  • Урок 145. WS2812B. Новые эффекты и оптимизация кода

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 146. LL. Светодиоды и кнопка
  • Урок 147. LL. Таймеры

    • Часть 1
    • Часть 2
  • Урок 148. LL. Динамическая индикация
  • Урок 149. LL. PWM (ШИМ). Мигаем светодиодами плавно
  • Урок 150. LL. I2C. Подключаем внешний EEPROM

    • Часть 1
    • Часть 2
    • Часть 3
  • Урок 151. LL. I2C. Переходник для LCD 16×2
  • Урок 152. LL. SPI. Драйвер индикатора MAX7219

    • Часть 1
    • Часть 2
  • Урок 153. HAL. SPI. Соединяем два контроллера

    • Часть 1
    • Часть 2
  • Урок 154. LL. SPI. Соединяем два контроллера
  • Урок 155. HAL. DMA. MEM2MEM
  • Урок 156. LL. DMA. MEM2MEM

    • Часть 1
    • Часть 2
  • Урок 157. HAL. SPI. Interrupt
  • Урок 158. LL. SPI. Interrupt
  • Урок 159. HAL. SPI. DMA
  • Урок 160. LL. SPI. DMA
  • Урок 161. LL. USART. Передача данных

    • Часть 1
    • Часть 2
  • Урок 162. LL. USART. Приём данных
  • Урок 163. LL. USART. Interrupt
  • Урок 164. LL. USART. DMA
  • Урок 165. CMSIS. STM32F1. Бегущие огни
  • Урок 166. CMSIS. STM32F1. RCC

    • Часть 1
    • Часть 2
  • Урок 167. CMSIS. STM32F1. SysTick. Прерывания
  • Урок 168. CMSIS. STM32F1. Таймеры
  • Урок 169. CMSIS. STM32F1. GPIO. Input
  • Урок 170. CMSIS. STM32F1. Динамическая индикация
  • Урок 171. CMSIS. STM32F1. PWM (ШИМ). Мигаем светодиодами плавно
  • Урок 172. CMSIS. STM32F1. I2C. Подключаем внешний EEPROM
  • Урок 173. CMSIS. STM32F1. I2C. Переходник для LCD 16×2
  • Урок 174. CMSIS. STM32F1. SPI. Драйвер индикатора MAX7219
  • Урок 175. CMSIS. STM32F1. SPI. Соединяем два контроллера
  • Урок 176. CMSIS. STM32F1. DMA. MEM2MEM
  • Урок 177. CMSIS. STM32F1. SPI. Interrupt
  • Урок 178. CMSIS. STM32F1. SPI. DMA
  • Урок 179. Дисплей TFT 240×320. SPI

    • Часть 1
    • Часть 2
  • Урок 180. Дисплей TFT 240×320. SPI. DMA
  • Урок 181. USART. Передача данных
  • Урок 182. USART. Приём данных
  • Урок 183. CMSIS. STM32F1. USART. Interrupt
  • Урок 184. CMSIS. STM32F1. USART. DMA
  • Урок 185. STM32F1. LL. ADC. Regular Once

    • Часть 1
    • Часть 2
  • Урок 186. LL. STM32F1. ADC. Regular Once. Interrupt
  • Урок 187. LL. STM32F1. ADC. Regular Continuous. Interrupt
  • Урок 188. LL. STM32F1. ADC. Regular Once. Запуск по таймеру
  • Урок 189. LL. STM32F1. ADC. Regular Once. DMA
  • Урок 190. LL. STM32F1. ADC. Regular Continuous. DMA
  • Урок 191. LL. STM32F1. ADC. Regular Once. DMA. Запуск по таймеру
  • Урок 192. LL. STM32F1. ADC. Injected Once
  • Урок 193. LL. STM32F1. ADC. Injected Once. Interrupt
  • Урок 194. LL. STM32F1. ADC. Injected Continuous. Interrupt
  • Урок 195. LL. STM32F1. ADC. Injected Once. Запуск по таймеру
  • Урок 196. LL. STM32F1. ADC. Injected Once Scan
  • Урок 197. LL. STM32F1. ADC. Injected Once Scan. Interrupt
  • Урок 198. LL. STM32F1. ADC. Injected Continuous Scan. Interrupt
  • Урок 199. LL. STM32F1. ADC. Injected Once Scan. Запуск по таймеру
  • Урок 200. CMSIS. Bit banding
  • Урок 201. Assembler. Первый проект. Команды MOV, LDR, STR, B

    • Часть 1
    • Часть 2
  • Урок 202. Assembler. Мигающий светодиод. BX, BL, SUB. Флаги. Условия
  • Урок 203. Assembler. RCC. Стек. Новые команды

    • Часть 1
    • Часть 2
  • Урок 204. Assembler. SysTick. Прерывания
  • Урок 205. Assembler. Таймеры. Табличные переходы
  • Урок 206. LL. STM32F4. Светодиоды и кнопка
  • Урок 207. LL. STM32F4. Таймеры
  • Урок 208. LL. STM32F4. SPI. Дисплей TFT 240×320
  • Урок 209. LL. STM32F4. SPI. Дисплей TFT 240×320. DMA
  • Урок 210. LL. STM32F4. DMA. MEM2MEM
  • Урок 211. LL. STM32F4. I2C. Подключаем внешний EEPROM
  • Урок 212. LL. STM32F4. USART
  • Урок 213. LL. STM32F4. USART. DMA
  • Урок 214. HAL. STM32F4. FLASH память W25Q. Получение информации
  • Урок 215. HAL. STM32F4. FLASH память W25Q. Чтение данных
  • Урок 216. HAL. STM32F4. FLASH память W25Q. Используем программу для обмена данными
  • Урок 217. HAL. STM32F4. FLASH память W25Q. Считываем данные в программу
  • Урок 218. HAL. STM32F4. FLASH память W25Q. Стираем информацию
  • Урок 219. HAL. STM32F4. FLASH память W25Q. Запись данных. Подключаем LCD

 

 

 

 

Опубликовано
© Narod Stream

Наверх

Программирование STM32

Программирование STM32

ПРОГРАММИРОВАНИЕ


МИКРОКОНТРОЛЛЕРОВ STM32
БАЗОВЫЙ КУРС

2 года подготовки, ​100 видеоуроков, общей продолжительностью 37 часов, в которых раскрыты самые важные основы микроконтроллеров stm32.

  • Схемотехника подключения микроконтроллеров stm32
  • Работа в фирменной среде CubeIDE
  • Использование встроенного конфигуратора для генерации кода
  • Работа с ядром Cortex
  • Использование инструментов отладки программы

Автор Селиванов Максим

Кому подойдет этот курс?

Разработчикам электроники

   Если вы начинающий или среднего уровня разработчик, то данный курс вам будет особенно полезен. В настоящее время многие фирмы используют в своих разработках микроконтроллеры STM32. Во многих странах СНГ, использование STM32 в профессиональной сфере стало почти стандартом де факто. Знание этих микроконтроллеров позволит вам претендовать на гораздо более высокий оклад.

Фрилансерам

   Современные проекты требуют больших вычислительных ресурсов и больших объемов памяти. Благодаря очень широкой линейке STM32 как нельзя лучше подходят для решения самых сложных современных задач, за которые заказчики готовы платить больше всего. 
   Чем лучше вы будете владеть инструментами для работы с stm32, тем быстрее и качественнее сможете решать самые сложные задачи. А глубокое понимание основ позволит избежать трудноуловимых ошибок, которые, как это не редко бывает, появляются уже после сдачи проекта заказчику.

Студентам

   ​В настоящее время во многих вузах преподают основы архитектуры ARM на примере ядер Cortex-M и практику программирования stm32.  
   Основная сложность при изучении stm32 и ядер Cortex-M состоит в том, что очень мало литературы на русском языке, а та литература, которая есть слишком теоритезированна. Изучение ядра Cortex в отрыве от практики имеет очень низкую эффективность. Если теория из книги никак не подкреплена практикой, то большая часть материала остается совершенно непонятной. 
   В данном курсе есть много видео, которые посвящены изучению работы ядра Cortex. Большая часть теории сопровождается практическими примерами использования. Такой подход позволяет намного глубже понять основы работы ядер Cortex. 

Ардуинщикам

  Если вы увлекаетесь электроникой и Arduino и хотите вывести свое хобби на новый уровень, то вам не обойтись без использования stm32. Возможностей AVR микроконтроллеров сегодня хватает только на самые простые проекты. 
   Да, существуют платы на stm32, которые так же поддерживаются средой arduino, но этих плат очень мало по сравнению с более чем 1800 различных микроконтроллеров stm32, что значительно сужает окно выбора подходящего микроконтроллера. А из-за требований совместимости кода, среда arduino сильно урезает возможности STM32. 
   Возможно, вы опасаетесь, что переход будет слишком сложным, но это не так. Среда CubeIDE со встроенным конфигуратором начальной настройки и библиотека HAL позволяет значительно упростить порог вхождения в STM32. Программирование в среде CubeIDE становится таким же простым как и в среде Arduino!

Что вы получите, изучив данный курс?

  •   Освоите мощный и современный инструмент для решения большинства современных задач
  •   ​Пропадет неуверенность перед использованием всех микроконтроллеров stm32
  •   Значительно повысете квалификацию в области разработки встраиваемых систем
  •   Упорядочите свои занния по теме программирования STM32
  •   Значительно ускорите разработку и отладку программ
  •   Повысите надежность работы программ на stm32

Что особенного в этом курсе?

  •   Последовательное изучение от простого к сложному. Такой подход позволяет освоить даже самые сложные темы.  
  •   Очень глубокое изучение внутреннего устройства микроконтроллеров stm32 и ядра Cortex в частности
  •   ​Закрепление теоретических знаний на практике. Даже самая сложная для понимания теория станет простой после изучения нескольких практических примеров

Что вы найдете в курсе?

  •   100 видео по самым разным темам прямо или косвенно связанным с STM32  
  •   ​​Шпаргалки по внутренней организации stm32, схемотехнике, настройке периферии и т.д
  •   ​Исходные коды проектов из видео с подробными комментариями

Начало работы с STM32 | Базовый проект STM32

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

В этом руководстве представлен обзор доступного аппаратного и программного обеспечения для работы с микроконтроллерами STM32. Кроме того, он кратко познакомит вас с семейством микроконтроллеров STM32.

Все руководства, кроме этого, предполагают, что вы будете использовать базовый проект STM32. Чтобы следовать следующим руководствам, вам потребуется базовое понимание языка программирования C. Предыдущий опыт работы со встроенной платформой не требуется.

Знакомство с STM32

STM32 не относится к одному конкретному микроконтроллеру. Это название STMicroelectronics дала своему семейству микроконтроллеров на базе ARM Cortex-M. Само семейство STM32 можно разделить на несколько групп, которые, в свою очередь, можно разделить на серии.

В настоящее время семейство STM32 состоит из пятнадцати серий. Эти серии сгруппированы в четыре разные группы: High Performance, Mainstream, Ultra Low Power и Wireless. В следующем списке кратко описаны все серии:

  • STM32F0 (Mainstream)
    На базе процессора Arm Cortex-M0. Оптимизирован для низкой стоимости. Разработан для конкуренции с 8-битными и 16-битными платформами.
  • STM32F1 (основной)
    На базе процессора Arm Cortex-M3. Общее назначение.
  • STM32F2 (высокая производительность)
    На базе процессора Arm Cortex-M3. Общее назначение. Оптимизирован для высокой производительности.
  • STM32F3 (основной)
    Основан на процессоре Arm Cortex-M4 с инструкциями FPU и DSP. Оптимизирован для приложений со смешанным сигналом.
  • STM32F4 (высокая производительность)
    Основан на процессоре Arm Cortex-M4 с инструкциями FPU и DSP. Оптимизирован для высокой производительности.
  • STM32F7 (высокая производительность)
    На основе процессора Arm Cortex-M7 с инструкциями FPU и DSP. Оптимизирован для высокой производительности. Pin-to-pin совместим с серией STM32F4.
  • STM32G0 (основной)
    На базе процессора Arm Cortex-M0+. Оптимизирован для эффективности. Разработан для конкуренции с 8-битными и 16-битными платформами.
  • STM32G4 (основной)
    Основан на процессоре Arm Cortex-M4 с инструкциями FPU и DSP. Оптимизирован для приложений со смешанным сигналом. Преемник серии STM32F3.
  • STM32H7 (высокая производительность)
    Основан на процессоре Arm Cortex-M7 с инструкциями FPU и DSP. Некоторые устройства имеют второй сопроцессор на базе Arm Cortex-M4.
  • STM32L0 (сверхнизкое энергопотребление)
    На базе процессора Arm Cortex-M0+. Оптимизирован для приложений с низким энергопотреблением.
  • STM32L1 (сверхнизкое энергопотребление)
    На базе процессора Arm Cortex-M3. Оптимизирован для приложений с низким энергопотреблением.
  • STM32L4 (сверхмалая мощность)
    На основе процессора Arm Cortex-M4 с инструкциями FPU и DSP. Оптимизирован для приложений с низким энергопотреблением.
  • STM32L4+ (Ultra Low Power)
    Основан на процессоре Arm Cortex-M4 с инструкциями FPU и DSP. Оптимизирован для приложений с низким энергопотреблением. Более высокая производительность, чем у серии STM32L4.
  • STM32L5 (сверхнизкое энергопотребление)
    На базе процессора Arm Cortex-M33. Оптимизирован для приложений с низким энергопотреблением. Улучшенная безопасность.
  • STM32WB (беспроводной)
    На базе процессора Arm Cortex-M4 с инструкциями FPU и DSP. В качестве сетевого процессора используется второй процессор Arm Cortex-M0+. Поддерживает стандарты беспроводной связи Bluetooth 5 и IEEE 802.15.4.

Аппаратное обеспечение

Для начала вам потребуется как минимум одна макетная плата. Без платы разработки вы не сможете правильно запускать или отлаживать свой код. Если у вас уже есть макетная плата, вы можете пропустить эту главу.

Микроконтроллеры

Семейство STM32 состоит из множества различных микроконтроллеров. Новичку сложно выбрать что-то одно. К счастью, большинство вещей, которые вам нужно будет изучить в первую очередь, являются общими для всех микроконтроллеров семейства STM32. Это означает, что вы можете начать практически с любого микроконтроллера STM32.

Есть две серии, которые лучше подходят для начинающих, чем другие серии. Серия STM32F1 и серия STM32F4. А причина проста:

Обе серии существуют уже давно и по-прежнему популярны среди любителей. Это означает, что для устройств этой серии доступно много ресурсов. Кроме того, устройства серии STM32F1 не такие сложные, как большинство других деталей.

Платы для разработки

Большинство плат для разработки предназначены для работы с минимальным количеством компонентов. Они разработаны таким образом, чтобы быть как можно более дешевыми и никоим образом не ограничивать пользователя. Существуют также платы с дополнительными компонентами, такими как светодиоды, датчики и память.

Большинство выводов, если не все, микроконтроллера открыты через разъемы для легкого доступа. Также есть как минимум один выделенный заголовок для подключения отладчика.

Макетные платы производятся разными партиями. STMicroelectronics предлагает три разных линейки макетных плат:

  • Платы Nucleo
    Эти платы очень похожи на платы Arduino. Они имеют только микроконтроллер и встроенный отладчик ST-Link. Доступны три форм-фактора.
  • Комплекты Discovery
    Все эти платы содержат устройства ввода и вывода в дополнение к микроконтроллеру. Эти платы также поставляются со встроенным отладчиком ST-Link.
  • Оценочные платы
    Эти платы очень обширны и содержат множество дополнительных устройств и интерфейсов помимо микроконтроллера.

Также есть много досок, которые можно купить на Ebay и AliExpress. Наиболее популярными из них являются Blue Pill и Black Pill. Последний является улучшенной версией первого.

Рекомендации

Обе доски Nucleo и Discovery очень хорошо подходят для начинающих. Они гарантированно работают правильно и включают встроенный отладчик. И все это по доступным ценам. Если у вас очень ограниченный бюджет, вы можете купить одну из китайских макетных плат. Для начинающих рекомендуются следующие доски:

  • NUCLEO-F103RB
    На этой плате установлено устройство STM32F103RBT6 с 128 КБ флэш-памяти.
  • STM32F407G-DISC1
    На этой плате установлено устройство STM32F407VGT6 с флэш-памятью 1024 КБ.
  • Black Pill
    На этой плате установлено устройство STM32F103C8T6 с 64 КБ флэш-памяти. Обязательно купите также клон ST-Link для отладки и прошивки.

Программное обеспечение

Если вы хотите начать работу с базовым проектом STM32, вам не придется делать большой выбор программного обеспечения. Базовый проект STM32 предназначен для использования с GNU Arm Embedded Toolchain. Базу STM32 можно использовать с вашим любимым редактором кода. Рекомендация для редактора — Visual Studio Code.

Другое программное обеспечение, обсуждаемое в этой главе, можно использовать, если вы не хотите использовать базовый проект STM32. Другое программное обеспечение обсуждается, чтобы дать вам лучший обзор всего доступного программного обеспечения для микроконтроллеров STM32.

IDE

IDE расшифровывается как интегрированная среда разработки. Обычно это означает, что после установки среда IDE готова к использованию без каких-либо дополнительных действий. IDE устанавливают все необходимое программное обеспечение, такое как компиляторы и драйверы, сразу после их установки.

Некоторые IDE бесплатны, для других требуется покупка лицензии. Перечисленные здесь IDE потенциально интересны новичкам и любителям, поскольку они бесплатны. Полный обзор доступных IDE см. на веб-сайте ST.

  • Arm Keil MDK — бесплатно для серий STM32G0, STM32F0 и STM32L0 (Windows)
  • PlatformIO IDE — бесплатно (Windows, Linux, macOS)
  • STM32CubeIDE — бесплатно (Windows, Linux, macOS)
  • Segger Embedded Studio — бесплатно для некоммерческого использования (Windows, Linux, macOS)
  • SW4STM32 — бесплатно (Windows, Linux, macOS)

Платформы

Платформы предлагают, помимо IDE, собственный API для управления устройством. Подобные платформы обычно нацелены на прототипирование. Для микроконтроллеров STM32 доступны две платформы.

Первый — STM32duino. Эта платформа реализует хорошо известный API Arduino для микроконтроллеров STM32. Его можно использовать с Arduino IDE.

Второй — Arm Mbed. Эта платформа поддерживает не только микроконтроллеры STM32. Он поддерживает широкий спектр устройств от разных производителей. Mbed включает ОС, специально разработанную для приложений IoT. Он имеет как облачную IDE, так и загружаемый вариант.

Другое

ST предлагает CMSIS и HAL для каждой серии устройств. CMSIS содержит все определения регистров и периферийных устройств, необходимые для использования доступных периферийных устройств микроконтроллера. HAL — это библиотека более высокого уровня, обеспечивающая переносимость кода между различными сериями. Код CMSIS и HAL распространяется в так называемых пакетах STM32Cube.

Популярной альтернативой официальной CMSIS с открытым исходным кодом является libopencm3. Этот проект направлен на создание библиотеки прошивок с открытым исходным кодом для микроконтроллеров Arm Cortex-M. Поддерживаются не все серии STM32.

Расширенное программирование на микроконтроллерах STM32

Расширенное программирование на микроконтроллерах STM32 | Электор

Похоже, в вашем браузере отключен JavaScript. Для наилучшего взаимодействия с нашим сайтом обязательно включите Javascript в своем браузере.

  • 10% скидка для членов
  • Одобренные продукты
  • 2000+ продуктов

Становиться участником Архив Проекты

€ — EUR

Будьте первым, кто оставит отзыв об этом товаре

Перейти в конец галереи изображений

Перейти к началу галереи изображений

Расширенное программирование с микроконтроллерами STM32

Будьте первым, кто оставит отзыв об этом продукте

Обзор

Освойте программные средства, лежащие в основе микроконтроллера STM32

Эта книга основана на проектах и ​​направлена ​​на обучение программным средствам, лежащим в основе программирования микроконтроллеров STM32. Автор Маджид Пакдел разработал проекты с использованием различных сред разработки программного обеспечения, включая Keil MDK, IAR Embedded Workbench, Arduino IDE и MATLAB. Читатели должны иметь возможность использовать проекты как есть или модифицировать их в соответствии со своими потребностями. Эта книга написана для студентов, опытных инженеров и любителей. В книге используются отладочные платы микроконтроллеров STM32, включая STM32F103 и STM32F407. Читатели также должны легко использовать другие платы для разработки на базе ARM.

Также доступна в виде электронной книги (PDF) >>

Подробнее

Обзор

Освойте программные инструменты, лежащие в основе микроконтроллера STM32. Программирование микроконтроллера STM32. Автор Маджид Пакдел разработал проекты с использованием различных сред разработки программного обеспечения, включая Keil MDK, IAR Embedded Workbench, Arduino IDE и MATLAB. Читатели должны иметь возможность использовать проекты как есть или модифицировать их в соответствии со своими потребностями. Эта книга написана для студентов, опытных инженеров и любителей. В книге используются отладочные платы микроконтроллеров STM32, включая STM32F103 и STM32F407. Читатели также должны легко использовать другие платы для разработки на базе ARM.

Также доступна в виде электронной книги (PDF) >>

Подробнее

Обычная цена €29,95

Участников 26,96 €

Срок доставки: 5 рабочих дней

  • Подробности
  • Технические характеристики
  • Загрузки
  • Видео
  • Связанный
  • Отзывы

Подробнее

Эта книга основана на проектах и ​​направлена ​​на обучение программным инструментам, лежащим в основе программирования микроконтроллеров STM32.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *