Vorneweg: ich programmiere nicht (normalerweise) mit Arduino, aber da im Forum hier und auch ausserhalb des Forums angemerkt wurde, dass es doch "fein" wäre man könnte mein Bootloaderboard auch mit Arduino programmieren habe ich mich doch tatsächlich hingesetzt und einige Funktionen für Arduino in ihre sogenannten "Libraries" umgesetzt, was da heißt, ich habe da tatsächlich etwas im Arduino-Style umgesetzt. Um jetzt diese Libraries zu demonstrieren bietet es sich normalerweise an, diese über UART (in Arduino Serial.print, Serial.read etc.) anzusprechen. Das funktioniert aber (zumindest bei mir) nicht und befürchte, dass dieses am Core liegt (ich verwende 1.0.3). Allerdings könnte es auch sein, dass ich da grobe Fehler mache. Beholfen habe ich mir, dass ich Lesefunktionen dann über Registerzugriffe mache, um Funktionen demonstrieren zu können. Erste Frage: ist so etwas legitim in Arduino? Zweite Frage: kann das jemand in dem typischen Arduino-Style und mag seine Lösung hier mitteilen (damit ich nicht den Core durchkämmen muß)? Codes meiner Lösung zum Lesen von der UART Schnittstelle innerhalb eines Beispielprogramms für einen DS3231 RTC-Chip (damit ich dort eben die Uhrzeit stellen kann)
Habe deinen µC nicht! Aber die Funktion würde bei mir so, oder so ähnlich, aussehen:
1 | char uart_getchar() |
2 | {
|
3 | int c; |
4 | do
|
5 | {
|
6 | c = Serial.read() |
7 | }
|
8 | while (c < 0); |
9 | return c; |
10 | }
|
:
Bearbeitet durch User
... und genau das funktioniert mit CH32V003 nicht. So, oder so ähnlich war der erste Ansatz. Jetzt bin ich am ünerlegen, ob ich eine Klasse 'UART' anlegen soll, aber dann komm ich immer weiter weg von der typischen 'Arduino Optik' und ob das für andere dann zielführend ist?
Ralph S. schrieb: > ... und genau das funktioniert mit CH32V003 nicht. Das ist schade! Ralph S. schrieb: > befürchte, dass > dieses am Core liegt (ich verwende 1.0.3). Es gibt verschiedene cores für den µC.
:
Bearbeitet durch User
Arduino F. schrieb: > Ralph S. schrieb: >> befürchte, dass >> dieses am Core liegt (ich verwende 1.0.3). > Es gibt verschiedene cores für den µC. Ich finde im Netz nur 2 verschiedene Cores: https://github.com/AlexanderMandera/arduino-wch32v003 https://github.com/openwch/arduino_core_ch32 Ich verwende den von openwch, weil der von Alexander Mandera deutlich unausgereifter ist und einige Funktionen schlicht nicht implementiert hat.
Ich habe jetzt das im Anhang (auf die Schnelle) gemacht. Wie sehen diejenigen die 'uart_test2.ino' Datei, die mit Arduino hantieren?
Hmm... Arduino User würden erwarten, dass eine UART Klasse von Stream und damit auch von Print erbt.
Arduino F. schrieb: > Arduino User würden erwarten, dass eine UART Klasse von Stream und damit > auch von Print erbt. okay, dann schau ich mal, ob ich das print (welches ich so überhaupt gar nicht mag: Serial.print) ererben kann. Also noch ein bischen mehr in die Tiefe von Arduino gehen. Grundsätzlich finde ich ja printf um Längen flexibler... aber jetzt habe ich angefangen, jetzt will ich auch wissen wie das geht und was genehm ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.