Hallo zusammen, ich habe einen Mikrocontroller bekommen und will damit jetzt eine putchar (printf) Ausgabe darüber machen, da ich leider sehr neu im Bereich Mikrocontroller bin, geht es jetzt erst einmal um das Verständnis. Das bedeutet, ich habe ein Board mit 78 I/O Ports, wie überträgt man damit genau Signale? Das Board habe ich: https://www.st.com/content/ccc/resource/technical/document/user_manual/98/2e/fa/4b/e0/82/43/b7/DM00105823.pdf/files/DM00105823.pdf/jcr:content/translations/en.DM00105823.pdf Ich möchte jetzt gerne verstehen, wie man über die I/O Pins Signale, bzw. in diesem Fall Chars überträgt. Vielen Dank für die Verständnis Erklärungen.
ich nehme mal an Du willst nicht die UART Leitung verwenden ? sondern einen I/O pin ??? oder sogar mehrere I/O Pins ?
Raphael K. schrieb: > und will damit jetzt eine > putchar (printf) Ausgabe darüber machen Warum bloß !!! wollen alle Neulinge als Allererstes auf ihrem noch unbekannten Controller mit printf und Konsorten loslegen? Guck zu allererst ins Manual - genauer in das zum Chip gehörige Datenblatt UND in das Familien-Referenzmanual. Zuerst schaust du dir die Kapitel zur Pin-Einrichtung an, um zu lernen, was für periphere Cores man auf welche Pins legen kann, also wo z.B. UART1 herausschauen kann. Dann lerne, die Einstellunge der Pins zu verstehen, also WIE man z.B. UART1 auf die betreffenden Pins legt. Dann lies dir das Kapitel über die dich interessierenden Peripheriecores durch, also z.B. über den UART1 und lerne, wie man ihn zweckdienlichermaßen richtig aufsetzt. Also Baudrate, Datenformat, Parität usw., aber auch, auf welche Zustände hin er einen Interrupt erzeugen soll. Hinweis: bei allen STM32 sind m.W. die Interrupts für TXleer und RXvoll pegelgetriggert und nicht flankengetriggert. Dann konzipierst du dir einen Lowlevel-Treiber, der aus deinen sonstigen Programmteilen gelieferte Zeichen zwischenpuffert und interruptgesteuert über den UART1 sendet. Und den probierst du erstmal OHNE irgendwelches printf-Gerappel mit einer einfachen Zeichenfolge aus, die du z.B. 1x pro Sekunde sendest. So herum. Fange erstmal mit dem Fundament an und nicht mit dem Dachdecker. W.S.
Raphael K. schrieb: > ich habe ein Board mit 78 I/O Ports Wenn es ein Nucleo-64 ist, bedeutet das, dass der Mikrocontroller auf dem Board 64 Pins hat. Welcher Controller genau das ist, steht auf dem Board, die verlinkte Doku ist allgemein. 78 IOs hast Du wahrscheinlich dann nicht. Magst Du Dir nicht vielleicht erstmal einen einfachen Arduino zulegen? Damit sollte der Einstieg und das printf einfacher sein.
Peter schrieb: > Raphael K. schrieb: >> ich habe ein Board mit 78 I/O Ports > > Wenn es ein Nucleo-64 ist, bedeutet das, dass der Mikrocontroller auf > dem Board 64 Pins hat. Welcher Controller genau das ist, steht auf dem > Board, die verlinkte Doku ist allgemein. 78 IOs hast Du wahrscheinlich > dann nicht. > > Magst Du Dir nicht vielleicht erstmal einen einfachen Arduino zulegen? > Damit sollte der Einstieg und das printf einfacher sein. auch wenn man ein nucleo board geschenkt bekommen hat lohnt es sich 6.- Euro für einen Arduino-Uno-Board auszugeben. Aber als Anfänger vielleicht den gesockelten.
Welcher Mikrocontroller sitzt auf den Board? Falls seine Nummer mit STM32F1 beginnt, werden dich meine Notizen weiter bringen: http://stefanfrings.de/stm32/index.html
Raphael K. schrieb: > Ich möchte jetzt gerne verstehen, wie man über die I/O Pins Signale, > bzw. in diesem Fall Chars überträgt. Wohin willst du die denn übertragen?
Es läuft wohl darauf hinaus, irgendeine serielle Übertragung per Software zu implementieren. Das kann sehr einfach bis komplex realisiert werden. Allerdings tut man das normalerweise nur im Notfall, z.B. wenn der µC zu wenig Schnittstellen hat. Aber gerade die STM32 Controller haben reichlich Schnittstellen. Ich würde dem TO raten, dieses Board erst einmal so zu verwenden, wie es vom Chip Hersteller vorgesehen ist. Irgendwelche trickreichen Zweckentfremdungen sind nichts für Anfänger. > Fange erstmal mit dem Fundament an und nicht mit dem Dachdecker. Ja
Vor dem selber-programmieren einer wie auch immer gearteten seriellen Schnittstelle solltest du wissen, welches Protokoll du implementieren möchtest und wie es funktioniert. Einfach irgend eins zu implementieren ist sinnlos. Welches soll es denn sein?
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.