ob:o7:stm32f103
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| ob:o7:stm32f103 [2016/08/23 01:31] – иван_денисов | ob:o7:stm32f103 [2017/04/06 20:33] (текущий) – иван_денисов | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Моя первая программа для | + | ====== Моя первая программа для |
| - | Урок посвящен созданию простой программы на языке | + | Урок посвящен созданию простой программы на языке |
| - | Для создания файла с прошивкой нам потребуется: | + | Для этого урока используем плату с микроконтроллером **STM32F103C8T6** на основе архитектуры ARM Cortex M3. Этот микроконтроллер выбран в связи с доступностью очень недорогих отладочных плат на его основе ([[http:// |
| + | |||
| + | Для создания файла с прошивкой нам потребуется: | ||
| + | - написать код модулей нашей программы, | ||
| + | - скомпилировать модули, | ||
| + | - собрать полученные кодовые файлы в единый файл прошивки (с расширениями **bin** и **hex**). | ||
| + | |||
| + | Рассмотрим эти действия по порядку. | ||
| ===== 1 Написание простого модуля ===== | ===== 1 Написание простого модуля ===== | ||
| - | Компилятор [[ob: | + | Создайте новый документ для вашей |
| + | |||
| + | < | ||
| + | |||
| + | END MyBlink.</ | ||
| + | |||
| + | Название модуля | ||
| Чтобы использовать другие модули в вашей программе, | Чтобы использовать другие модули в вашей программе, | ||
| Строка 15: | Строка 28: | ||
| После всех объявлений следует секция `BEGIN`, в которой описан код, выполняющийся при загрузке модуля. | После всех объявлений следует секция `BEGIN`, в которой описан код, выполняющийся при загрузке модуля. | ||
| - | < | + | < |
| - | MODULE | + | MODULE |
| IMPORT SYSTEM, MCU := MicroSTM32F10xxD, | IMPORT SYSTEM, MCU := MicroSTM32F10xxD, | ||
| Строка 34: | Строка 47: | ||
| SYSTEM.PUT(MCU.GPIOCBSRR, | SYSTEM.PUT(MCU.GPIOCBSRR, | ||
| UNTIL FALSE | UNTIL FALSE | ||
| - | END MicroBlink.</ | + | END MyBlink.</ |
| Мы пользуемся готовым модулем **PinCfg** для настройки параметров вывода **PC13**. А затем идет бесконечный цикл, который формирует периодическую смену состояния вывода **PC13** путем записи 13-го и 29-го бита в управляющий регистр **BSRR** для порта **C**. | Мы пользуемся готовым модулем **PinCfg** для настройки параметров вывода **PC13**. А затем идет бесконечный цикл, который формирует периодическую смену состояния вывода **PC13** путем записи 13-го и 29-го бита в управляющий регистр **BSRR** для порта **C**. | ||
| - | **BSRR** расшифровывается как Bit Set/Reset Register. Подробнее про все регистры вы найдете в файле [[http:// | + | **BSRR** расшифровывается как Bit Set/Reset Register. Первые 16 битов отвечают за подачу напряжения на пин, а с 16 по 31 — за сброс |
| - | Для записи значений используется команда **SYSTEM.PUT**, | + | Для записи значений используется команда **SYSTEM.PUT**, |
| - | + | ||
| - | Подробнее про работу с типом **SET** читайте в статье Витра | + | |
| ===== 2 Компиляция ===== | ===== 2 Компиляция ===== | ||
| Строка 55: | Строка 66: | ||
| Для сборки надо указать целевой микроконтроллер в команде для сборки. | Для сборки надо указать целевой микроконтроллер в команде для сборки. | ||
| - | ^Q O7ARMv7MLinker.Link STM32F103C8 | + | ^Q O7ARMv7MLinker.Link STM32F103C8 |
| + | |||
| + | После нажатия на такой коммандер, | ||
| + | |||
| + | Файлы исходных кодов прошивок также лучше хранить в папке **My/ | ||
| + | |||
| + | Про то, как прошить полученным файлом микроконтроллер, | ||
| + | |||
| + | {{ : | ||
| - | После нажатия на такой коммандер, | ||
| - | Про то, как прошить полученным файлом контроллер, | + | ---- |
| + | Автор заметки: | ||
ob/o7/stm32f103.1471915865.txt.gz · Последнее изменение: (внешнее изменение)
