olimexino stm32 отладочная плата в форм факторе arduino на базе мк stm32f103rbt6

OLIMEXINO-STM32 и MAPLE

Во вторник добралась до меня плата OLIMEXINO-STM32 www.olimex.com/dev/olimexino-stm32.html
Она меня заинтересовала тем, что в описании Olimex она позиционируется как Arduino-совместимая плата, выполненная на контроллере STM32F103RBT6 со 128 килобайтами флэша и 20 килобайтами оперативной памяти на борту (этакая Arduino Mega 1280).
Плата действительно имеет формат Arduino – по размерам, основным разъемам и маркировке их контактов, светодиодам и кнопкам (на фотографии слева OLIMEXINO-STM32, справа – Arduino Duemilanove),
5be9fc
но дополнена RTC, контроллером шины CAN, картридером Micrо-SD, разъемами расширения и зарядным устройством Li-Ion аккумуляторов, подключаемых в качестве резервного источника питания к соответствующим контактам. Есть и разъем SWD — но малогабаритный, с шагом 1,27 мм – так, что придется делать переходник.
70f12f
147e77
Группа LeafLabs leaflabs.com/, разрабатывающая и продвигающая проект, дала ему название Maple (в переводе Клен – дерево такое). Плата в проекте тоже имеет формат Arduino,
c1958a
но они сделали функциональный аналог Arduino в чистом виде, без перечисленных выше дополнений (добавили только разъем расширения, на который вывели часть выводов микроконтроллера). Доступен также Maple-Mini – функциональный аналог Arduino-Nano.
В платах используется контроллер STM32F103RBT6, в котором прошит специальный бутлоадер github.com/leaflabs/maple-bootloader, позволяющий загружать программы (скетчи) из Maple-IDE по USB.
Maple-IDE в настоящее время доступна в виде beta-версии 0.0.11. Она сделана на основе Arduino-IDE и внешне и по функциям полностью повторяет ее. Используемый компилятор — arm-none-eabi-gcc. Программирование ведется на языке Wiring (можно на C / C++).
Maple имеет некоторые отличия от Arduino. Это связано, в основном, с различиями в архитектурах используемых контроллеров.
Например, в Maple нет типа данных word, тип int эквивалентен типу long – его длина 4 байта.
АЦП в контроллере STM32F103RBT6 двенадцатиразрядный, поэтому функция analogRead() возвращает двенадцатиразрядный результат – в диапазоне от 0 до 4095 (в Arduino – 10 разрядов – от 0 до 1023).
Аргументом функции analogWrite() (которая в Maple имеет второе имя pwmWrite()) должно быть 16-битное значение от 0 до 65535 (в Arduino – 8-битное – от 0 до255).
Функцией pinMode() выводам микроконтроллера могут быть назначены режимы работы не только INPUT и OUTPUT, но и
OUTPUT_OPEN_DRAIN – выход с открытым стоком,
INPUT_ANALOG – вход аналоговый,
INPUT_PULLUP – вход, подтянутый к плюсу питания,
INPUT_PULLDOWN – вход, подтянутый к минусу питания,
INPUT_FLOATING – вход без подтяжки,
PWM – выход аналоговый PWM,
PWM_OPEN_DRAIN – выход аналоговый PWM с открытым стоком.
Причем, перед использованием любых входов / выходов они обязательно должны быть явно описаны с помощью функции pinMode() (в Arduino для аналоговых входов и выходов этого не требовалось).
Есть несколько новых функций (togglePin(), toggleLED(), isButtonPressed(), waitForButtonPress()), несколько отсутствует (analogReference() – потому, что нет внутреннего ИОН, tone(), noTone(), shiftIn(), pulseIn() – эти, как я понимаю, отсутствуют временно). Часть функций работает несколько иначе, чем в Arduino.
В то же время иная, чем в Arduino архитектура контроллера, позволяет пользователю Maple использовать гораздо больше аппаратных ресурсов:
до 43 цифровых выходов (Arduino – до 20);
до 15 аналоговых PWM выходов с разрешением 16 бит(Arduino – до 6 при разрешении 8 бит);
до 15 аналоговых входов с разрешением 12 бит(Arduino – до 6 при разрешении до 10 бит);
до 4 таймеров;
Прерывания по любому выводу контроллера (Arduino – до 2);
Интерфейс SPI – до 2 (Arduino – 1);
Интерфейс I2C – до 2 (Arduino – 1);
Интерфейс USART – до 3 (Arduino – 1, и он используется для связи с компьютером);
В описании я не увидел аналоговых выходов, использующих DAC. Скорее всего, их не используют в проекте.
Библиотек для проекта Maple, в настоящее время, только три.
Из них LiquidCrystal полностью совместима с Arduino, Servo – совместима частично, а Wire (I2C) – пока в начальном состоянии и обеспечивает работу только программного интерфейса. Аппаратный интерфейс будет реализован в версии 0.1.0.
Остальные библиотеки (Ethernet и прочие) планируются, но когда будут – неизвестно.
На сайте отмечено, что работа платы проверена с Ethernet shield, WiFi Shield, MIDI shield, но библиотек для работы с ними пока нет, но будут.
Вообще, описание системы leaflabs.com/docs/ достаточно подробное и понятное и желающие могут с ним ознакомиться самостоятельно в полном объёме.

Как и Arduino-IDE, Maple-IDE устанавливается распаковкой архива в любое место на компьютере. Структура папок аналогична структуре папок Arduino.
При подключении платы OLIMEXINO-STM32 через разъем mini-USB, компьютер потребует указать путь к драйверу, который расположен в папке maple-ide\drivers\mapleDrv\.
После установки драйвера, в диспетчере устройств должен появиться порт Maple R3 (COMx). Этот порт указывается в Maple-IDE в меню Tools – Serial Port.
Тип платы в меню Tools – Board выбирается LeafLabs Maple rev3 to FLASH или LeafLabs Maple rev3 to RAM в зависимости от того, куда нужно загрузить скетч. Если во Flash- память, то первый, если в RAM – то второй. Отличия в том, что при выключении питания программа в RAM сотрется, а во Flash нет. Но запись в RAM происходит быстрее (так написано в описании, я не проверял) и не влияет на количество перепрограммирований Flash-памяти.

Работу платы OLIMEXINO-STM32 я пока проверил на примерах из IDE. Все компилируется и работает так же, как и в Arduino.
Также решил померить скорость работы по тесту Frolls we.easyelectronics.ru/Frolls/stm32vl-discovery-dryganie-nogoy-ispolzuya-standartnye-biblioteki.html и сравнить со скоростью работы Arduino.
За основу взял из примеров простейшие скетчи Blink, убрав задержку Delay(1000).

Turns on the built-in LED on for one second, then off for one second,
repeatedly.

Ported to Maple from the Arduino example 27 May 2011
By Marti Bolivar
*/

void setup() <
// Set up the built-in LED pin as an output:
pinMode(BOARD_LED_PIN, OUTPUT);
>

void loop() <
toggleLED(); // Turn the LED from off to on, or on to off
// delay(1000); // Wait for 1 second (1000 milliseconds)
>

Частота получилась:
для Maple – 815 кГц;
для Arduino – 120 кГц.
Результат достаточно близок к результату, полученному Frolls для случая с тактовой частотой 72 МГц и компиляции без оптимизации. Причем Maple выполняет такую программу почти в 7 раз быстрее, чем Arduino.

После этого захотелось проверить влияние математики.
Добавил в цикл суммирование целых чисел.

Turns on the built-in LED on for one second, then off for one second,
repeatedly.

Ported to Maple from the Arduino example 27 May 2011
By Marti Bolivar
*/
int A = 37;
int B = 12756;
int C;

void setup() <
// Set up the built-in LED pin as an output:
pinMode(BOARD_LED_PIN, OUTPUT);
>

void loop() <
toggleLED(); // Turn the LED from off to on, or on to off
C = A + B;
// delay(1000); // Wait for 1 second (1000 milliseconds)
>

Получил почти двукратное снижение частоты:
для Maple – 460 кГц;
для Arduino – 99 кГц.
Maple быстрее Arduino в 4,6 раза.

Изменил на суммирование чисел с плавающей точкой.

Turns on the built-in LED on for one second, then off for one second,
repeatedly.

Ported to Maple from the Arduino example 27 May 2011
By Marti Bolivar
*/
float A = 37;
float B = 12756;
float C;

void setup() <
// Set up the built-in LED pin as an output:
pinMode(BOARD_LED_PIN, OUTPUT);
>

void loop() <
toggleLED(); // Turn the LED from off to on, or on to off
C = A + B;
// delay(1000); // Wait for 1 second (1000 milliseconds)
>

Еще двукратное снижение частоты:
для Maple – 222 кГц;
для Arduino – 41,4 кГц.
Maple быстрее Arduino в 5,3 раза.

Таким образом, Maple целесообразно использовать тем, кому не хватает скорости или других аппаратных ресурсов Arduino.

Низкая скорость выполнения простейшей программы заставляет предположить, что компилятор при компиляции генерирует код с большим количеством лишних команд. На это указывает и тот факт, что в ассемблерном виде такая программа состоит всего из нескольких команд и при тактовой частоте контроллера 72 МГц частота переключения выводов должна быть выше 10 МГц.

И Arduino, и Maple предлагают пользователям простейшие системы проектирования с предустановленными параметрами компиляции и уже выполненной инициализацией основных узлов микроконтроллеров, позволяющей не разбираться во внутреннем устройстве и взаимодействии их узлов.
Преимущество — простота работы. Цена, которую приходится за это платить – скорость выполнения программы. И для ее увеличения может быть применен Maple.
А плата OLIMEXINO-STM32 добавит недостающие аппаратные ресурсы.

Источник

OLIMEXINO-STM32В¶

Overview¶

The OLIMEXINO-STM32 board is based on the STMicroelectronics STM32F103RB ARM Cortex-M3 CPU.

Fig. 122 OLIMEXINO-STM32 В¶

More information about the board can be found at the OLIMEXINO-STM32 website and OLIMEXINO-STM32 user manual. The ST STM32F103xB Datasheet contains the processor’s information and the datasheet.

Supported Features¶

The olimexino_stm32 board configuration supports the following hardware features:

nested vectored interrupt controller

Controller Area Network

Other hardware features are not supported by the Zephyr kernel.

Pin Mapping¶

olimexino stm32 front

Fig. 123 OLIMEXINO-STM32 connectors В¶

PWR_LED (red) = power

Push buttons¶

BUT = PC9 / TIM3CH4 / BOOT0

External Connectors¶

JTDO /TIM2_CH2 / PB3 / TRACESWO / SPI1_SCK

JTDI / TIM2_CH1_ETR / PA15 / SPI1_NSS

PA9 / USART1_TX / TIM1_CH2

PA10 / USART1_RX / TIM1_CH3

PB10 / I2C2_SCL / USART3_TX / TIM2_CH3

PB11 / I2C2_SDA / USART3_RX / TIM2_CH4

PA6 / SPI1_MISO / ADC12_IN6 / TIM3_CH1 / TIM1_BKIN

PA7 / SPI1_MOSI / ADC12_IN7 / TIM3_CH2 / TIM1_CH1N

PA5 / SPI1_SCK / ADC12_IN5

PB9 / TIM4_CH4 / I2C1_SDA / CANTX

PB0 / ADC12_IN8 / TIM3_CH3 / TIM1_CH2N

PB1 / ADC12_IN9 / TIM3_CH4 / TIM1_CH3N

PB10 / I2C2_SCL / USART3_TX / TIM2_CH3

PB11 / I2C2_SDA / USART3_RX / TIM2_CH4

PB12 / SPI2_NSS / I2C2_SMBAI / USART3_CK / TIM1_BKIN

PB13 / SPI2_SCK/ USART3_CTS / TIM1_CH1N

PB14 / SPI2_MISO / USART3_RTS / TIM1_CH2N

PB15 / SPI2_MOSI / TIM1_CH3N

Arduino Headers¶

PA3 / USART2_RX / ADC12_IN3 / TIM2_CH4

PA2 / USART2_TX / ADC12_IN2 / TIM2_CH3

PA0 / WKUP / USART2_CTS / ADC12_IN0 / TIM2_CH1

PA1 / USART2_RTS / ADC12_IN1 / TIM2_CH2

PB5 / I2C1_SMBAI / TIM3_CH2 / SPI1_MOSI

PB6 / I2C1_SCL / TIM4_CH1 / USART1_TX

PA8 / USART1_CK / TIM1_CH1 / MCO

PA9 / USART1_TX / TIM1_CH2

PA10 / USART1_RX / TIM1_CH3

PB7 / I2C1_SDA / TIM4_CH2 / USART1_RX

PA4 / SPI1_NSS / USART2_CK / ADC12_IN4

PA7 / SPI1_MOSI / ADC12_IN7 / TIM3_CH2 / TIM1_CH1N

PA6 / SPI1_MISO / ADC12_IN6 / TIM3_CH1 / TIM1_BKIN

PA5 / SPI1_SCK / ADC12_IN5

PB8 / TIM4_CH3 / I2C1_SCL / CANRX

System Clock¶

OLIMEXINO-STM32 has two external oscillators. The frequency of the slow clock is 32.768 kHz. The frequency of the main clock is 8 MHz. The processor can setup HSE to drive the master clock, which can be set as high as 72 MHz.

Serial Port¶

OLIMEXINO-STM32 board has up to 3 U(S)ARTs. The Zephyr console output is assigned to USART1. Default settings are 115200 8N1.

OLIMEXINO-STM32 board has up to 2 SPIs. The default SPI mapping for Zephyr is:

The OLIMEXINO-STM32 board supports two I2C devices. The default I2C mapping for Zephyr is:

OLIMEXINO-STM32 board has a USB 2.0 full-speed device interface available through its mini USB connector.

OLIMEXINO-STM32 board has a CAN interface with transceiver on board. CAN is accessible through a screw terminal.

Jumpers¶

The Zephyr kernel uses the OLIMEXINO-STM32 default jumper settings. Note that all jumpers on the board are SMD type. You will need to solder, unsolder, or cut them in order to reconfigure them.

The default jumper settings for the OLIMEXIMO-STM32E are:

Flashing Zephyr onto OLIMEXINO-STM32В¶

Flashing the Zephyr kernel onto OLIMEXINO-STM32 requires the stm32flash tool.

Building stm32flash command line tool¶

To build the stm32flash tool, follow the steps below:

Checkout the stm32flash tool’s code from the repository.

Build the stm32flash tool.

Flashing an Application to OLIMEXINO-STM32В¶

To upload an application to the OLIMEXINO-STM32 board a TTL(3.3V) serial adapter is required. This tutorial uses the Button sample application.

Connect the serial cable to the UEXT lines of the UART interface (pin #3=TX and pin #4=RX).

Power the OLIMEXINO-STM32 via the mini USB.

Reset the board while holding the button (BUT).

To build the application and flash it, enter:

Run your favorite terminal program to listen for output.

Press the Reset button and you should see the output of button application in your terminal. The state of the BUT button’s GPIO line is monitored and printed to the serial console. When the input button gets pressed, the interrupt handler prints information about this event along with its timestamp.

Make sure your terminal program is closed before flashing the binary image, or it will interfere with the flashing process.

© Copyright 2015-2021 Zephyr Project members and individual contributors. Last updated on Nov 11, 2021.

Источник

STM32F103RBT6 Development Breadboard STM32 Test Plate Minimum System Serial Download JLINK Simulation / PL2303 ECT-241243

241243 1472521 ECT 241243

Доброе время суток! Наигравшись с микроконтроллерами 8bit, я решил попробовать что нибудь покруче и посложнее. И я представить не мог насколько сложнее получится опробовать новое семейство микроконтроллеров когда заказывал плату разработки и отладки STM32F103RBT6. Подробности далее…

При заказе данной платы я руководствовался её как мне казалось небольшими размерами и минимальным количеством всяких разъёмчиков, кнопочек, светодиодиков, так как в последствии собирался использовать её в конечном устройстве. Но честно признаюсь вам я совершил ошибку решив начать знакомство с новым типом контроллеров выбрав именно эту плату. Но обо всем попорядку.
Плата мне пришла вот в такой вот комплектации.
8d899e
Прислали плату и колодку для самостоятельной впайки куда потребуется нежно упаковано в антистатический пакетик. Причём колодочка упакована рядом с платой и отделена от неё. Пакетик герметично запечатан изготовителем со всех сторон очень качественно. Предусмотрели даже вырезы с обоих сторон. На фото они отчётливо видны.
Ну чтож, давайте поскорее вскроем заветный пакетик и посмотрим что внутри.
59da06
ФОТО 1
e282fc
ФОТО 2
И шедшая в комплекте колодочка для пайки.
037d42
e3cf14
Опишу сначала колодочку, которая шла совместно с платой. Она имеет 2 ряда по 40 штырьков. Шаг стандартный 2,45 мм. Качество изготовления хорошее, штырьки вставлены плотно, ровно. Пластик куда вставлены штырьки отлит качественно, имеет возможность разделения в любом удобном месте, можно просто откусить бокорезами нужное количество штырьков. А вот количество немного недотягивает чтоб распаять все разъёмы. 2 разъёма по бокам имеют 2 ряда по 15 контактов, и так называемый порт TFT расположенный слева на первой фотографии имеет 2 по 18 контактов. В общем получаем 15+15+18=48, как видите для того чтоб впаять все разъёмы нам не хватает ещё 8 пар штырьков.
Теперь посмотрим повнимательнее на плату. На первый взгляд не всё так плохо как могло быть. Но это только на первый взгляд. Сама плата двухсторонняя, имеет размеры 88мм x 47мм имеет толщину стеклотекстолита 1,5мм. К сожалению плати имеет всего 2 крепёжных отверстия по диаметром по 3мм каждое и расположены они крайне неудачно на мой взгляд. Судя по всему используют их для крепления LCD дисплея поверх платы, но это только догадка. Плата имеет маску красного цвета и маркировку элементов белого цвета.
Немного остановлюсь на маркировке нашей платы. Со стороны микросхем (фото 1) маркировка нанесена не качественно. Краска размазана и с трудом можно понять что за символы нанесены. А вот на обратной стороне (фото 2) маркировка читается хорошо, там всё чётко и не смазано.
Опешу что имеется на плате. На стороне микросхема (фото 1) у нас есть сам микроконтроллер который никак не обозначен и имеет лишь белую точку обозначающую первый вывод. Рядом с контроллером есть надпись информирующая нас о том какой контроллер установлен у нас. Это STM32F103RBT6. Немного о качестве пайки данного контроллера: пайка оказаласть не самой плохой, ножки пропаяны все, слипшихся как это часто бывает нет.
3bce06
Слева от микроконтроллера расположены 2 кварцевых резонатора. Один маленький обозначен как Y1 ”часовой” на 32.768 KHz, второй побольше на 8 MHz обозначен как Y2 снизу и указана частота сверху.
8beafb
Справа от микроконтроллера у нас находится микросхема преобразователя интерфейсов PL-2303HX. Это микросхема у нас промаркирована как U2 и выполняет функцию преобразования USB интерфейса. Пайка также как и в случае с микроконтроллером хорошая.
56bf6f
В нижней левой части платы (фото 1) у нас расположены 3 кнопки. Промаркированы они как S2, S3, S4.
Забегая вперёд скажу что кнопка S2 никак больше не подписана в отличии от остальных. Но при позвонке платы и снятии схемы выяснилось что это кнопка сброса RESET микроконтроллера. Кнопка S3 имеет сверху надпись PD2 и означает что кнопка подключена к порту D2. Кнопка S4 Имеет надпись PA1 и подключается к порту A1.
eed274
В левом верхнем углу платы (фото 1) у нас расположен светодиод с маркировкой LED2 который при детальном изучении оказался подключённым через резистор R13 к порту PC13 микроконтроллера. Также там имеются 2 джампера которые определяют режим программирования микроконтроллера. Производитель заботливо промаркировал с какой стороны джампер установлен в логическую 1 а с какой в логический 0. Расположены они один над другим и обозначены как B1 (верхний на фото 1) и B0 (нижний на фото 1)
eb9509
В правой части платы (Фото 1) У нас расположен порт программирования и отладки микроконтроллера JTAG с обозначением треугольничком первой ножки. Разъём имеет 2×10 выводом и распаян по стандарту протокола JTAG.
Рядом с разъёмом JTAG имеется гнездо miniUSB которое промаркировано просто как USB. Данный разъём заводится непосредственно на микроконтроллер и позволяющий в дальнейшем реализовать программы умеющие работать с интерфейсом USB. Чуть ниже разъёма USB расположен стабилизатор напряжения на 3,3V служащий для питания нашего микроконтроллера и преобразователя интерфейсов. Промаркирован он как AMS117.
2f6d34
В нижней правой части платы мы имеем второй разъём miniUSB который промаркирован как USB_PL2303. Как видно из маркировки данный разъём заводится на преобразователь интерфейса PL-2303. Совсем рядом установлен на мой взгляд маленький и ненадёжный выключатель питания. Перещелкивается он с небольшим усилием и каждый раз щёлкая его боюсь сломать. С лева от разъёма имеются 3 контакта с надписями 3,3V, GND, 5V это соответственно выведены питания платы для подключения внешнего питания. Это единственные контакты предназначенные для подачи питания, никаких гнёзд для подключения питания кроме разъёмов miniUSB на плате больше нет. Эти контакты имеют слишком маленькую площадь и при частой пайке могут просто отвалиться. Сверху от контактов питания имеется второй светодиод LED1. Он на плате сигнализирует о наличии питания. Это стало ясно после снятия схемы платы.
c735a0
Также на плате имеются две не распаянные колодки куда заводятся все порты микроконтроллера, а тахже питания +3,3V и +5V. Расположены они по центру платы в верхней её части и нижней. Они имеют 2 ряда по 15 выводов. Все контакты имеют металлизацию и облужены. Диаметр всех отверстий 1 мм. Все контакты обоих разъёмы подписаны и разделены с своеобразной таблице.
99206f
95aa79
С лtвой стороны у нас имеется разъем для подключения TFT дисплеев. О том что это именно для дисплеев свидетельствует надпись TFT но с обратной стороны платы (смотрите фото 2), со стороны микросхем есть только невнятная маркировка которая порой вообще неразборчива. Разъём имеет 2 x 18 выводов.
0698f0
Вот я и закончил описания того что имеется на плате со стороны микроконтроллера, с обратной стороны всё намного скромнее, (Смотрите фото 2) и так начнем.
Первое что бросается в глаза это панелька для батарейки с маркировкой BAT и указанием напряжения чуть ниже 3V. Данная батарейка служить для поддержания таймера часов реального времени в моменты когда плата обесточена. К сожалению тип батарейки сказать так сразу не могу так как нет у меня её, да и не нужна она мне пока.
Также на этой стороне платы установлен ещё один кварцевый резонатор на 12 MHz промаркированный как Y3. Данный резонатор подключен к микросхеме PL-2303. Ну и всё теже 2 колодки с портами которые описаны выше, они с этой стороны также промаркированы как и с другой.
ed54cc
Отдельно отмечу два посадочных места под микросхемы памяти EEPROM 24C04 судя по маркировке на плате и FLASH W25X16 также судя по маркировке. Эти микросхемы можно в будущем установить что расширит возможности применения платы.
Отдельно улыбнуло зеркальная надпись по центру платы. Это маркировка микроконтроллера нашей платы. Но вот почему оно так перевёрнуто, этот секрет разгадать я не смог. Хотя возможно это такая шутка производителей, так как странный логотип непонятной шляпки с ножками и глазками и полное отсутствие какой бы то не было внятной надписи обозначающую модель платы или ревизию как это принято мне найти не удалось. В виду этого у меня возникла серьёзная проблема по изучению и освоению данного экземпляра отладочной платы.
Для написания даже простенькой программы нужно чётко знать что куда подключено и как это работает, а для этого нужна схема платы. На данную плату у меня кроме пакетика в которой её прислали больше ничего не было. Поиски на просторах интернета не к чему не привели, да и как искать если кроме маркировки установленного микроконтроллера на плате больше ничего нет. Самое близкое что удалось найти это схема похожей платы. Вот ссылка.
Потому было принято решение по проведению сложной и кропотливой работе о снятии схемы с платы и как потом выяснилось вовсе не зря.
48dfe5
Вот ссылка на проделанный мной труд. Полная схема в формате PDF, вдруг кому пригодится.

Первое что меня удивило это странное подключение выключателя питания. Он согласно схеме отключает питание только от портов USB и не как не задействован на клеммы питания рядом с ним. То есть для организации питания через эти клеммы без компьютера придётся предусмотреть свой выключатель питания. Дальше судя по схеме порты PD0 и PD1 разведены непосредствеено на частотозадающий кварцевый резонатор Y2 и при тактировании платы от этого резонатора использовать эти порты нельзя! Также порт PC14 и PC15 разведены уже на другой резонатор, часовой. При реализации таймера реального времени их тоже трогать нельзя, а дорожки создают дополнительную ёмкость что может привести к незначительному изменению частоты.
Также отмечу интересное расположение предохранителя F1. Он разведён между землёй портов USB и землёй платы. Видимо так нужно чтоб сохранить шины данных USB, в случае короткого замыкания. Вот пожалуй все моменты на которые стоит обратит внимание.
Дальше подключим нашу плату к компьютеру и посмотрим что да как. Берём кабель miniUSB и подключаем его в порт с пометкой USB_PL2303 загорается красненький светодиод LED1 и как и ожидалось нас просят установить драйвер. Если ничего не произошло после подключения просто включите переключатель на платке. У меня драйвера не оказалось, так как раньше я такие преобразователи к своему компьютеру не подключал, потому лезем в интернет и ищем.
Я нашёл вот тут.
C установкой драйверов думаю проблем быть не должно. В итоге получаем виртуальный Comm Port у меня это COM5.
Дальше нам потребуется утилита с помощью которой можно прошивать нашу плату.
Взять её можно с сайта производителя вот тут
Программу нужно будет установить.
Подробнее о процессе прошивки можно прочитать тут
Информации по этому вопросу в сети предостаточно.
Я же сделал всё как описано и заодно выяснил что шьется наша платка на скорости 115200, выше не хочет. Для начала я считал прошивку из нашего микроконтроллера дабы посмотреть что у нас там есть и есть ли что то. Открыв скачанную прошивку в HEX редакторе увидел что память микроконтроллера имеет какую то прошивку и далеко не пуста. Для того чтобы посмотреть что этот код делает отключаем питание либо вытащив USB кабель из платы либо отключив микропереключатель. Я стараюсь не трогать микропереключатель и отключаю её вынув кабель. Переключаем джампер B0 в положение 0 и подключаем кабель обратно. Сразу же видим как начинает весело моргать светодиод синего цвета LED2.
Для того чтобы попробовать что то сделать самому нужно изучить очень много информации. Вот только несколько ссылок которые могут пригодиться при освоении нашей платки.
Учебный курс по микроконтроллерам STM32.
Описание микроконтроллера установленного на нашей плате
Описание семейства микроконтроллеров STM32F10x на РУССКОМ языке. Отдельное спасибо автору за труды.
Это только малая часть того что нужно знать и нужно будет узнать когда будете преобретать данный товар.
В заключении хочу сказать что данная отладочная плата вполне подходит для использования в конечном устройстве и совсем не подходит для неопытных начинающих программистов микроконтроллеров.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • olgame exe ошибка приложения outlast
  • oletwice школьная форма для девочек официальный сайт