Stm32 с нуля

Обучалка STM32 + Си ! с нуля, быстро и полноценно

Суть такая… Люди спрашивали с чего начать разбор с Си и микроконтроллерами
и я давно думал где бы литературы найти по нормальному человеческому Си (без ++ !!!) ,
и что бы под контроллеры. Но! таких книг просто нету точнее приличных книг нету.
Пришлось найти компромисс в виде ВЕЛИКОЛЕПНОЙ книги по прикладному Си
«Стивен Прата — Язык программирования C. Лекции и упражнения — 2013.pdf»
и проекта под отладочную плату STM32F4-Discovery, полностью настроенного
для работы микроконтроллером будто в прикладном Си (который под компы VC++/RAD /C Builder/и.т.п.)
Разница лишь в том, интерфейс ввода вывода пользователя будет работать через UART терминал ( прога для работы с «COM портом» )
В остальном любые консольные примеры из книги будут работать, проверено !
Кинга и рассчитана на любой уровень подготовки от нуля, до хорошего и опытного
программиста, который вздумал освежить память или доучить Си-шные фокусы на которые раньше забивал.
Каждая тема разжевана на примерах.
Ставишь среду (компилятор) читаешь, копипастишь примеры и пробуешь запускать.
Не пройдет и месяца как станете вполне не сносно ориентироваться !
Для учебы вам понадобиться :
( где скачать и купить думаю найдете или см. «Как учиться.txt» )
1. Среда Си под ARM микроконтроллеры Keil uV4
yandex > «keil uvision 4 ARM скачать торрент»
2. Среда RAD Studio XE7 и выше под компьютерный приложения и смартфоны
Что бы одновременно пробовать примеры и на микроконтроллере, и на компьютере
Установка этой среды желательна, хотя и не обязательна. (Можно конечо любую другую, если уже пользуетесь Си)
yandex > «rad studio xe7 torrent»
3. Конечно отладочная плата STM32F4-Discovery Именно она!, т.к. быстрее ни на чем не научишься.
Тут воткнул в USB и сразу работаешь, и проект уже настроен под нее.

Please Login or Register to view hidden text.
4. Переходник USB — UART для того что бы работать с терминалом.
Он нужен что бы вводить текстовую и числовую информацию с клавиатуры в микроконтроллер, и конечно для вывода текстовой и
числовой информации из программы микроконтроллера на экран.
Типа того
Please Login or Register to view hidden text.
5. Программа терминала YAT.
Please Login or Register to view hidden text.
Так же лежит в архиве с обучающим проектом, так же есть ссылка где качать новые версии.
Предупреждаю — другие терминалы (перепробовал около 7штук) то и дело будут давать гнусные глюки, которые будут сильно расстраивать Вас,
от того что рабочие примеры не работают или работают не правильно, будете искать ошибки, а ошибок то и нету.
В архиве есть файлы :
«Как учиться.txt»
и
«Как учиться.jpg»
Думаю там вполне понятно изображено что куда и как
Так же есть несколько листингов из книжки в папке «MainC_W_Listings&Notes»
Текст из них можно просто скопипастить в файл проекта «main.c»
+ кое какие полезные картинки, л них в процессе.
Главное учите Си, за микроконтрольские нюансы сразу не хватитесь, чуть разберетесь с синтаксисом языка — сможете понимать примеры уже заточные под микроконтроллер.

Приветствую всех любителей программирования, микроконтроллеров, да и электроники в целом на нашем сайте! В этой статье немного расскажу о том, чем мы будем заниматься тут, а именно об учебном курсе по микроконтроллерам ARM.

Итак, для начала разберемся, что же нужно знать и уметь, чтобы начать изучать ARM’ы. А, в принципе, ничего супер сложного и фееричного 😉 Конечно, на контроллеры ARM люди обычно переходят, уже наигравшись с PIC’ами и AVR’ками, то есть в большинстве своем опытные разработчики. Но я постараюсь максимально подробно и понятно описывать все то, что мы будем разбирать, чтобы те, кто впервые решил попробовать себя в программировании микроконтроллеров, могли легко разобраться в материале. Кстати, если будут возникать какие-нибудь вопросы, или просто что-то будет работать не так, как задумывалось, пишите в комментарии, постараюсь разобраться и помочь.

Теперь перейдем к техническим вопросам ) Несколько раз я уже упомянул название «Учебный курс ARM», но, по большому счету, это не совсем верно. Микроконтроллера ARM как такового не существует. Есть контроллер с ядром(!) ARM, а это, согласитесь, все-таки не одно и то же. Так вот, такие девайсы выпускает ряд фирм, среди которых особо выделяются, STMicroelectronics и NXP Semiconductors. Соответственно выпускают они контроллеры STM и LPC. Я остановил свой выбор на STM32, они мне просто больше понравились =) У STM очень подкупает, что разобравшись с любым МК из линейки STM32F10x, не возникнет никаких проблем и с любым другим. Одна линейка – один даташит. Кстати есть огромное количество как дорогих, так и не очень, отладочных плат с контроллерами STM32, что очень радует, хотя первое время будем отлаживать наши программы в симуляторе, чтобы оценить возможности контроллера, прежде чем покупать железо. Вот, на всякий случай, официальный сайт STMicroelectronics – .

Как то плавно выехали на тему компилятора, так что скажу пару слов об этом. Я, недолго думая, выбрал Keil, не в последнюю очередь из-за мощного встроенного симулятора. Можно и на UART там посмотреть, и на любой регистр, и даже логический анализатор имеется в наличии. Словом, у меня Keil оставил в основном только приятные впечатления, хотя есть и минусы, конечно, но не катастрофические. Так что можете смело качать Keil uvision4 с офф. сайта (). Правда есть одно НО – IDE платная, но доступен демо-режим с ограничением кода в 32кБ, которых нам пока с лихвой хватит. Кому этого мало есть огромное количество кряков для Keil’а 😉 Устанавливается все без проблем – пару раз тыкаем далее и все отлично ставится и работает без дополнительных танцев с бубном.

Собственно, вот и все, что я хотел тут рассказать, пора переходить от слов к делу, но это уже в следующей статье. Будем изучать программирование микроконтроллеров STM32 с нуля!

Почему STM32?

Сегодня уже все знаю о существовании линейки этих контроллеров и профессиональные разработчики давно и активно их используют. Характеристики впечатляют: рабочие частоты, объем памяти, набор периферии — всего гораздо больше чем, например, в привычных 8ми битных AVR-микроконтроллерах и все это разработчик получает по вполне демократичной цене. Цифра «32» в названии говорит о разрядности контроллеров. То есть за один раз они могут обрабатывать 32х битные числа. А это, в сравнении с 8ми битными контроллера, теоретически должно дать нам прирост производительности сразу в четыре раза!
Отдельно необходимо отметить, что ST Microelectronics это очень крупная компания у которой есть ресурсы на разработку очень подробной документации, вспомогательного программного обеспечения, отладочных средств и т.д. Вы помните хорошую, популярную плату от Atmel и программаторы по доступной цене? Их фактически нет! А для STM32 все это выпускается огромными тиражами и продается по минимальной цене, чтобы как можно быстрее завоевать рынок.

Урок 8. Сохранение данных

Сохранение энергонезависимых данных во FLASH-память микроконтроллера на примере запоминания светодиода, на котором закончилось переключение бегущего огня перед отключением питания >Урок 9. Таймеры-счетчики Использование периферийного модуля таймера-счетчика для формирования задержки. >Урок 10. Прерывания Использование прерывания по переполнению таймера-счетчика TIM6 для реализации задержки. >Урок 11. Внешние прерывания Использование различных прерываний и их приоритетов. > Урок 12. Тактирование Задание тактовой частоты ядра и периферийных модулей. > Урок 13. Широтно-импульсная модуляция Конфигурация и использование широтно-импульсной модуляции на каналах таймера TIM1 с различной частотой. > Урок 14. Сторожевой таймер Использование независимого и системного сторожевого таймера. Использование регистра окна. > Урок 15. Аналого-цифровой преобразователь Использование аналого-цифрового преобразователя и внутреннего датчика температуры. > Урок 16. Основные и дополнительные каналы АЦП Использование нескольких каналов единого модуля АЦП. > Урок 17. Прямой доступ к памяти Использование прямого доступа к памяти для получения результатов аналого-цифрового преобразования. > Урок 18. Дискретизация Использование таймера для синхронизации запусков АЦП с сохранением результатов через прямой доступ к памяти. > Урок 19. Цифро-аналоговый преобразователь Использование цифро-аналогового преобразователя для генерации треугольного сигнала, сигнала шума или постоянного аналогового значения. > Урок 20. Пользовательский сигнал Использование цифро-аналогового преобразователя для генерации сигнала произвольной формы.

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

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