Это старая версия документа!
Щепа F042
Характеристики
- Микроконтроллер: STM32F042K6T6
- Ядро: ARM Cortex-M0
- Частота ядра: 48 MHz
- Флэш память : 32 Кбайт
- ОЗУ: 6 Кбайт
- Напряжение питания: 2.0 V - 3.6 V
- Таймеры (6)
- SPI/I2S (1)
- I2C (1)
- USART (2)
- 12-bit АЦП, 10 каналов (1)
- GPIO (20)
- RTC
- USB Device (Type C)
- Выход для подключения отладчика
- Пользовательская кнопка (можно использовать для перехода в режим загрузчика)
Описание
Совместимость по выходам с NUCLEO-F042K6, USB подключен к микроконтроллеру (GPIO: PA11/PA12) для работы в режиме USB Device или встроенного загрузчика DFU. Для перехода в режим DFU нужно включить питание платы либо активировать RESET с нажатой кнопкой SW1.
Arduino IDE
Для работы с платой в Arduino IDE нужно добавить ссылку для менеджера плат в меню Файл → Параметры в строку: Дополнительные ссылки для Менеджера плат:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
В менеджере плат установить библиотеку STM32 MCU based boards:
Выбрать режим загрузки скетча:
При необходимости подключить поддержку USB CDC - виртуальный com-порт:
Пример
//Светодиод на D13 #define LED 13 //Кнопка на D5 #define BUTTON 5 void setup() { //Подключение пользовательской кнопки для быстрой перезагрузки и входа в режим загрузчика (DFU) pinMode(BUTTON, INPUT); pinMode(LED, OUTPUT); // Запуск USB Device в режиме CDC (виртуальный COM-порт) SerialUSB.begin(); } bool led = false; int i = 0; void loop() { // проверка нажата ли кнопка if (digitalRead(BUTTON) == HIGH) { //перезагрузка микроконтроллера NVIC_SystemReset(); } if (led) { led = false; digitalWrite(LED, HIGH); } else { led = true; digitalWrite(LED, LOW); } delay(250); i++; Serial.print(i); }
PlatformIO VSCode
Для работы с платой в среде VSCode нужно установить расширение PlatformIO.
Создать новый проект, выбрать целевую плату и фреймворк:
В файле platformio.ini добавить строку upload_protocol = dfu для загрузки прошивки через USB, при необходимости подключить поддержку USB CDC - виртуальный com-порт добавив build_flags = -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC -D USBCON :
[env:nucleo_f042k6] platform = ststm32 board = nucleo_f042k6 framework = arduino upload_protocol = dfu build_flags = -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC -D USBCON
Пример
#include <Arduino.h> //Светодиод на D13 #define LED 13 //Кнопка на D5 #define BUTTON 5 void setup() { //Подключение пользовательской кнопки для быстрой перезагрузки и входа в режим загрузчика (DFU) pinMode(BUTTON, INPUT); pinMode(LED, OUTPUT); // Запуск USB Device в режиме CDC (виртуальный COM-порт) SerialUSB.begin(); } bool led = false; int i = 0; void loop() { // проверка нажата ли кнопка if (digitalRead(BUTTON) == HIGH) { //перезагрузка микроконтроллера NVIC_SystemReset(); } if (led) { led = false; digitalWrite(LED, HIGH); } else { led = true; digitalWrite(LED, LOW); } delay(250); i++; Serial.print(i); }



