Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| boards:sf042 [2024/05/16 18:53] – admin | boards:sf042 [2025/07/19 20:42] (текущий) – admin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Щепа F042 ====== | ====== Щепа F042 ====== | ||
| - | {{ : | + | {{ : |
| + | |||
| + | ===== Характеристики ===== | ||
| + | * Микроконтроллер: | ||
| + | * Ядро: ARM Cortex-M0 | ||
| + | * Частота ядра: 48 MHz | ||
| + | * Флэш память : 32 Кбайт | ||
| + | * ОЗУ: 6 Кбайт | ||
| + | * Напряжение питания: | ||
| + | * Таймеры (6) | ||
| + | * SPI/I2S (1) | ||
| + | * I2C (1) | ||
| + | * USART (2) | ||
| + | * 12-bit АЦП, 10 каналов (1) | ||
| + | * GPIO (20) | ||
| + | * RTC | ||
| + | * USB Device (Type C) | ||
| + | * Выход для подключения отладчика | ||
| + | * Пользовательская кнопка (можно использовать для перехода в режим загрузчика) | ||
| + | |||
| + | ===== Описание ===== | ||
| + | Совместимость по выходам с '' | ||
| + | Для быстрого перехода в режим загрузчика можно активировать прерывание по выводу PB6(D5) (к нему подключена пользовательская кнопка) для этого нужно в функцию '' | ||
| + | <code C++> | ||
| + | pinMode(5, INPUT); | ||
| + | attachInterrupt(5, | ||
| + | </ | ||
| + | [[https:// | ||
| + | ===== Arduino IDE ===== | ||
| + | Для работы с платой в [[https:// | ||
| + | < | ||
| + | {{ : | ||
| + | |||
| + | В менеджере плат установить библиотеку '' | ||
| + | {{ : | ||
| + | |||
| + | Выбрать целевую плату: | ||
| + | {{ : | ||
| + | {{ : | ||
| + | |||
| + | Выбрать режим загрузки скетча: | ||
| + | {{ : | ||
| + | |||
| + | При необходимости подключить поддержку '' | ||
| + | {{ : | ||
| + | |||
| + | Для прошивки контроллера понадобится [[https:// | ||
| + | |||
| + | ==== Пример ==== | ||
| + | <code C++> | ||
| + | // | ||
| + | #define LED 13 | ||
| + | |||
| + | // | ||
| + | #define BUTTON 5 | ||
| + | |||
| + | void setup() { | ||
| + | // | ||
| + | pinMode(BUTTON, | ||
| + | |||
| + | pinMode(LED, | ||
| + | // Запуск 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, | ||
| + | } else { | ||
| + | led = true; | ||
| + | digitalWrite(LED, | ||
| + | } | ||
| + | delay(250); | ||
| + | i++; | ||
| + | Serial.print(i); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | ===== PlatformIO VSCode ===== | ||
| + | Для работы с платой в среде [[https:// | ||
| + | Создать новый проект, | ||
| + | {{ : | ||
| + | |||
| + | В файле '' | ||
| + | <code ini> | ||
| + | [env: | ||
| + | platform = ststm32 | ||
| + | board = nucleo_f042k6 | ||
| + | framework = arduino | ||
| + | upload_protocol = dfu | ||
| + | build_flags = | ||
| + | -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC | ||
| + | -D USBCON | ||
| + | </ | ||
| + | |||
| + | ==== Пример ==== | ||
| + | <code C++> | ||
| + | #include < | ||
| + | |||
| + | // | ||
| + | #define LED 13 | ||
| + | |||
| + | // | ||
| + | #define BUTTON 5 | ||
| + | |||
| + | void setup() { | ||
| + | // | ||
| + | pinMode(BUTTON, | ||
| + | |||
| + | pinMode(LED, | ||
| + | // Запуск 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, | ||
| + | } else { | ||
| + | led = true; | ||
| + | digitalWrite(LED, | ||
| + | } | ||
| + | delay(250); | ||
| + | i++; | ||
| + | Serial.print(i); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||