Archiwum kategorii: arduino

ST-LINK V2 + STM32F103C8T6 + CLion

Z reguły zaczynając przygodę z Arduino pierwszą metodą debugowania jaką się wybiera jest wrzucanie do terminala stanów za pomocą funkcji „Serial.print”.
Bardziej efektywne jest użycie debugera.
Poniżej przykład jak to osiągnąć w systemie MacOS z wykorzystaniem PlatformIO oraz JetBrains CLion na urządzeniu STM32 F103C8T6 podłączonym za pośrednictwem ST-LINK V2.

Czytaj dalej ST-LINK V2 + STM32F103C8T6 + CLion

Programowanie ESP8266 w środowisku Arduino IDE

Moduł WiFi ESP8266 ESP-01. Test płytki ESP-01 z wykorzystanie Arduino IDE.
Przed podłączeniem do USB pin GPIO0 musi być podłączony do GND a pin CH_PD do VCC. W takiej konfiguracji moduł uruchamia się w trybie programowania i czeka na wgrywanie programu. Po zainstalowaniu oprogramowania moduł jest ponownie uruchomiony w trybie programu. Rozłączenie i ponowne podłączenie płytki do zasilania wymaga uprzedniego rozłączenia GPIO0 od GND żeby moduł nie przeszedł ponownie w tryb programowania.
Czytaj dalej Programowanie ESP8266 w środowisku Arduino IDE

Arduino STM32F103. Problem z funkcją createChar

Problem z funkcją createChar obiektu LiquidCrystal w bibliotece "LiquidCrystal.h".
Po w graniu prostego przykładu ze strony arduino.cc, funkcja createChar powinna umożliwiać definiowanie własnych znaków.
Test wykonałem z wykorzystaniem płytki STM32 F103 i wyświetlacza LCD 1604.

Aby problem rozwiązać należy zastąpić w pliku LiquidCrystal.cpp biblioteki wartość 100 na 40 w linii 309 jak poniżej.

303 void LiquidCrystal::pulseEnable(void) {
304   digitalWrite(_enable_pin, LOW);
305   delayMicroseconds(1);
306   digitalWrite(_enable_pin, HIGH);
307   delayMicroseconds(1);    // enable pulse must be >450ns
308   digitalWrite(_enable_pin, LOW);
309   delayMicroseconds(40);   // commands need > 37us to settle
310 }

Biblioteka
STM32F1xx/GD32F1xx boards by stm32duino wersja 2018.4.1
– nowsze wersje odmawiały współpracy