Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| boards:sf042 [2024/05/16 21:40] – admin | boards:sf042 [2025/07/19 20:42] (текущий) – admin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Щепа F042 ====== | ====== Щепа F042 ====== | ||
| - | {{ : | + | {{ : |
| ===== Характеристики ===== | ===== Характеристики ===== | ||
| Строка 22: | Строка 22: | ||
| ===== Описание ===== | ===== Описание ===== | ||
| Совместимость по выходам с '' | Совместимость по выходам с '' | ||
| + | Для быстрого перехода в режим загрузчика можно активировать прерывание по выводу PB6(D5) (к нему подключена пользовательская кнопка) для этого нужно в функцию '' | ||
| + | <code C++> | ||
| + | pinMode(5, INPUT); | ||
| + | attachInterrupt(5, | ||
| + | </ | ||
| + | [[https:// | ||
| ===== Arduino IDE ===== | ===== Arduino IDE ===== | ||
| Для работы с платой в [[https:// | Для работы с платой в [[https:// | ||
| Строка 40: | Строка 45: | ||
| При необходимости подключить поддержку '' | При необходимости подключить поддержку '' | ||
| {{ : | {{ : | ||
| + | |||
| + | Для прошивки контроллера понадобится [[https:// | ||
| ==== Пример ==== | ==== Пример ==== | ||
| Строка 45: | Строка 52: | ||
| // | // | ||
| #define LED 13 | #define LED 13 | ||
| + | |||
| + | // | ||
| + | #define BUTTON 5 | ||
| void setup() { | void setup() { | ||
| - | //Поlключение пользовательской кнопки для бысnрой перезагрузки и входа в режим загрузчика (DFU) | + | //Подключение пользовательской кнопки для быстрой перезагрузки и входа в режим загрузчика (DFU) |
| - | | + | |
| - | __HAL_RCC_GPIOH_CLK_ENABLE(); | + | |
| - | // | + | |
| - | LL_GPIO_SetPinMode(GPIOH, | + | |
| | | ||
| pinMode(LED, | pinMode(LED, | ||
| Строка 62: | Строка 69: | ||
| void loop() { | void loop() { | ||
| // проверка нажата ли кнопка | // проверка нажата ли кнопка | ||
| - | if (LL_GPIO_IsInputPinSet(GPIOH, LL_GPIO_PIN_3)) { | + | if (digitalRead(BUTTON) == HIGH) { |
| // | // | ||
| NVIC_SystemReset(); | NVIC_SystemReset(); | ||
| Строка 78: | Строка 85: | ||
| Serial.print(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); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||