Habe mit Erfolg einiges mit Tiny- und Mega-AVRs gebaut. DCF, Frequenzzähler auch mit Reziprokzählung, ... Um mal nicht so sehr mit RAM knappsen zu müssen, sind mir die Teensy-3.6-Boards aufgefallen: 256 KB-RAM klingen gut. Ich bin ja auch bereit, mich mit Standard-Libraries, statt eigener ASM-Pfriemeleien zu begnügen - das sollte durch die höhere Taktrate entschärft sein. Aber in die Doku zur Erstellung eigener Programme finde ich keinen Zugang: - Welcher µC-Port ist mit welchem Anschluss-Pin verbunden? - Welchen µC-Port (Anschluss-Pin) habe ich besetzt, wenn ich Funktionen der Standard-Libraries (z.B. LCD-Display) benutze? - Es gibt die Anschlüsse RX1 und TX1, aber komischerweise nur Libraries für Software-UARTS? Hat hier schon mal jemand was eigenständig auf Teensy gebaut und hat meine Einsteigerprobleme überwunden?
NoTeen schrieb: > eigener ASM-Pfriemeleien zu begnügen - das sollte durch > die höhere Taktrate entschärft sein. Wer heute noch in Assembler programmiert, dem ist nicht mehr zu helfen....
Auf der Seite von PJRC ist doch Alles erklärt was man zum Einstieg wissen muss. Wenn man die Arduino Umgebung benutzt muss man nicht wissen welcher Pin am Controller mit welchem Pin auf dem Board verbunden ist, man benutzt die Arduinonummern. Es gibt aber auch komplette Schaltunterlagen für die Dinger, falls man es trotzdem wissen möchte.
NoTeen schrieb: > - Es gibt die Anschlüsse RX1 und TX1, aber komischerweise > nur Libraries für Software-UARTS? Eigentlich ist es genau anders rum. Teensy 3.6 hat 6 Hardware Serial Schnittstellen. In deinem Code verwendest du die mit Serial1 (RX1/TX1), Serial2 (RX2/TX2), Serial3 usw. Serial (ohne Index) ist die USB Schnittstelle.
1 | Serial3.begin(9600); |
2 | Serial3.println("Hallo"); |
Dies funktioniert ohne weiteres einbinden von Libraries. Wenn du dir die ausgedruckte Pin Karte anschaust (hättest eine mit dem Teensy bekommen müssen) dann ist z.B. RX1 mehrmals vorhanden. Der Bezeichner mit der schwarzen Schriftfarbe ist der Standardpin. Die grauen sind die alternativen Pins. Umschalten kannst du mit Serial1.setRX(21). Software Serial kann auf dem Teensy 3.X nur eingeschränkt verwendet werden. Es ist hier nur ein Wrapper für die bestehenden Hardware Serial Schnittstellen. Durch die Verwendung von Software Serial gewinnst du keine zusätzliche Schnittstelle. Das Ziel war, dass Libraries die SoftwareSerial verwenden einfach eingesetzt werden können. Auf Teensy 3.2 konnte man mit AltSoftSerial noch eine zusätzliche emulierte Schnittstelle erhalten. Status für Teensy 3.6 weiss ich nicht. Der Entwickler von Teensy vertritt die Philosophie "Der Code ist meine Dokumentation". Der Sourcecode ist kaum kommentiert und die Webseite (pjrc.com) ist ein Gemisch aus (spärlichen) Informationen für Teensy 2 (mit ATMEL AVR mcu) und Teensy 3.X (NXP ARM mcu). Das Forum enthält ebenfalls viele Informationen - leider sehr verstreut und die Suchfunktion ist schlecht.
@ kll (Gast) Danke. - Du liest ja noch die Frage, bevor du antwortest! Manche scheinen hier nur noch Stichworte zu scannen, um den Fragensteller umgehend für blöd zu erklären... Deinen Tipp für die Serial-Nutzung werde ich mal bald probieren! Es geht eben nicht um den kindischen ASM-Hochsprachen-Streit, sondern um die Übersicht, welche anderen HW-Ressourcen ich blockiere, wenn ich eine HW-Komponente nutze. Bei RX1/TX1 sind z.B. zwei "Touch-Pins" nicht mehr nutzbar. Intern hat man vielleicht auch einen Timer/Counter "besetzt". Muss man bei Teensy-Entwicklungen nacheinander gewünschte HW-Funktionen dem Programms zufügen, bis man Konflikte merkt? Und sich dann einen anderen Weg suchen? Klingt erst mal abschreckend!
Die Frage was man wie wo anschließen kann lässt sich bei dem Teensy, wie auch bei allen anderen Arduino-Boards mit einer simplen Google-Bildersuche, in deinem Fall nach "Teensy 3.6 Pinout", klären. Das führt z.B. zu angehängtem Diagramm. Wenn ich das richtig interpretiere, dann sind die Bezeichner in Großbuchstaben die Standardeinstellung und die Bezeichner in Kleinbuchstaben können alternativ dorthin gemappt werden. Inwieweit das in den Libraries implementiert ist weiß ich nicht. Das es Überschneidungen gibt ist für heutige ARM-Controller ganz normal. Da steckt eben einfach mehr Peripherie drin als man an den Pins insgesamt raushauen kann, noch dazu wenn die Anzahl der Pins auf ein Drittel vom Ursprünglichen reduziert wird, wie im Falle des Teensy.
Wer sich nicht von der Arduino-Umgebung bevormunden lassen will, kann die Teensies auch "bare metal" programmieren. Alles was es dazu braucht, ist hier: http://kevincuzner.com/2014/12/12/teensy-3-1-bare-metal-writing-a-usb-driver/ ganz gut beschrieben. Dazu noch die richtigen Kinetis-Manuals und Arduino kann in die Tonne.
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.