nachdem Ihr mir hier mit meinem Arduino und CAN geholfen habt, habe ich eine Neue Frage an euch.
Ich verzweifel gerade an meinem STM32F1 Blue Pill und dem RFID reader RC522.
ich habe mir, wie in allen Anleitungen beschrieben die Bibliothek MFRC522 installiert. Wenn ich die im Sketch includiere bekomme ich einen fehlermeldung.
Mein sxcetch:
1
#include<MFRC522.h>
2
3
#define SS_PIN PA4 // 10
4
#define RST_PIN PB0 // 9
5
6
MFRC522rfid(SS_PIN,RST_PIN);// Instance of the class
WARNUNG: Bibliothek MFRC522 behauptet auf avr, megaavr, STM32F1, teensy, esp8266, esp32, samd, atmelsam Architektur(en) ausgeführt werden zu können und ist möglicherweise inkompatibel mit Ihrem derzeitigen Board, welches auf stm32 Architektur(en) ausgeführt wird.
Sowie:
exit status 1
Fehler beim Kompilieren für das Board Generic STM32F1 series.
Als Board hab ich "Generic STM32F1 Series" eingestellt.
ich verstehe nicht warum die IDE eine STM32 Architektur ausgiebt obwohl ich STM32F1 eingestellt habe.
was völlig egal ist weil sowie das Buildsystem von Arduino genutzt wird. Da wird eher ein define fehlen oder in der Lib nicht das richtige abgefragt zu werden. Besser im Arduino Forum fragen.
Um die Warnung wegzubekommen das stm32 eventuell klein schreiben, scheint case sensitiv zu sein die Prüfung.
Mit der anderen Architektur wird jetzt eventuell ein neuerer Compiler verwendet der penibler ist. Der Pointervergleich > 0 wird angemeckert, diese Zeile mal auf != 0 oder != nullptr ändern.
Um die Warnung wegzubekommen das stm32 eventuell klein schreiben,
scheint case sensitiv zu sein die Prüfung.
Mit der anderen Architektur wird jetzt eventuell ein neuerer Compiler
verwendet der penibler ist. Der Pointervergleich > 0 wird angemeckert,
diese Zeile mal auf != 0 oder != nullptr ändern.
Hallo JoJos,
ich sag mal vielen Dank, nachdem ich beide Änderungen durchgeführt habe meckert der Compiler nicht mehr. den Rest muß ich noch testen.
Top da kann ich jetzt weitermachen. Ihr seit echt klasse!
Das wäre jetzt die Quick 'n Dirty Variante um mit dem Code weiterzukommen. Sauber ist dann einen Fork von der Lib zu machen und diese zu korrigieren.
Es geht ja wahrscheinlich um diese:
https://github.com/miguelbalboa/rfid
Die ist eingefroren und wird nicht weiterentwickelt. Aber es wird auf eine v2 verwiesen die noch lebt.
Da kann man einen Pull Request machen um die Änderungen da zu übernehmen. Die meisten scheinen die Lib ja mit AVR oder zu nutzen, wundert mich das stm32 da noch nicht angefragt wurde.
Jedenfalls ist die Lib im Interface Teil flexibel gebaut und verwendet ja auch die in Arduino überall vorhandene Wire Lib. Da sollten jetzt keine größeren Steine mehr im Weg liegen. Kann es am Smartphone gerade nicht selber testen, Wünsche schon mal maximale Erfolge.
und zunächst muß ich mich entschuldigen das ich mich erst jetzt melde. Ich war beruflich stark eingespannt.
nach den Tips habe ich die NFC soweit zum laufen gebracht, sprich ich kann die Seriennummer des Tags auslesen und weiterverarbeiten. Type auslesen geht auch (also PICC_getTypeName & PICC_READCardSerial).
Jetzt möchte ich aus beschreibbaren NFC tag, eben dieses Beschriebene auslesen.
Der Hintergrund dazu ist, das auf den Tags die Geschwindigkeitsstufe für Loks hinterlegt sind mit denen ich die Fahrspannung einstellen will.
Mir fehlt das Register aus dem ich das auslesen kann. Ich vermute der Befehl ist: (rfid.PICC_READxxxxx())
Verwende bitte zukünftig das code- oder pre-Tag, um alles, was nicht C ist, als Code zu kennzeichnen. Die Hervorhebung von Backslashes und anderen Sonderzeichen, wenn Du das c-Tag verwendest, stören die Lesbarkeit.