Hallo zusammen, habe mir das Buch von Günter Spanner ( Praxiskurs AVR-XMEGA-Mikrocontroller Mit C von Anfang an ) zugelegt, da für mich als Hobbylöter nichts gegen die ATxmegas spricht ;-). Besitze ebenfalls das darin beschriebene Evaluation Kit XMEGA-A3BU XPLANED. Im Buch ist beschrieben ( Seite 49 ), dass nach dem Einstecken des USB-Kabels über einen ( eingeschalteten ) PC die Grüne LED aufleuchten sollte. Habe bereits das erste Board deswegen zurückgeschickt. Leider jetzt wieder den gleichen Zustand. Das PortD5-Bit ( Pin31 ) des µC ( Power_LED ) ist auch auf low, was diesen Zustand hervorbringt. Problem ist halt, das der Atmel-ICE nicht auf das Board zugreifen kann, da die Target Voltage als *0,0V* angezeigt wird. An J3 sind 4,87V ( Pin9 gegen 10 ) und an J1 3,30V ( Pin9 gegen 10 ) vorhanden. Das Menü im Display kann wunderbar bedient werden. Was ist nun das Problem ? Den Schaltplan ( XMEGA-A3BU Xplained schematics ) und noch weitere Dinge gibt es hier : https://www.microchip.com/webdoc/xmegaa3buxplained/xmegaa3buxplained.XMEGA-A3BU_Xplained.GS.Tools_and_documentation.html Bernd_Stein
:
Bearbeitet durch User
Bernd S. schrieb: > Problem ist halt, das der Atmel-ICE nicht auf das Board zugreifen > kann, da die Target Voltage als *0,0V* angezeigt wird. Musst du die richtige Verbindung / den richtigen Adapter wählen. Das muss sicher funktionieren. Sowohl PDI als auch JTAG. Bernd S. schrieb: > Was ist nun das Problem ? Dass du keinen Durchblick hast und wir noch weniger da wir nicht alles genau sehen was du hast und machst. Dazu müsstest du mehr beschreiben. Bernd S. schrieb: > Im Buch ist beschrieben ( Seite 49 ), dass nach dem Einstecken des > USB-Kabels über einen ( eingeschalteten ) PC die Grüne LED aufleuchten > sollte. Für USB brauchst du aber sicherlich einen Treiber der irgendwo her kommen muss. Dann musst du den USB Port im Atmel Studio auch noch selektieren. Prüfe im Device Manager (Windows) ob dein USB Port sichtbar ist wenn du dein XPLained Board angeschlossen hast.
Hast du ein anderes USB Kabel und einen anderen USB Anschluss am PC versucht?
Versuch es doch mal mit dem JTAG-Adapter: Because JTAG TDO and PDI DATA are connected on the PCB for this kit, JTAG must be disabled on the device in order to use PDI. The reason for this is that when JTAG is enabled it will enable a pull-up internally on TDO which interferes with the PDI initialization sequence. Mit PDI wird das im Ursprungszustand wohl nichts ...
Hat das Board denn wirklich keine Versorgungsspannung?
Danke für eure bisherigen Vorschläge. Update gerade ATMEL-STUDIO 7.0. Hab gerade nur eine USB-Spannungsversorgung angeschlossen und an J3, 4,90V gemessen. Das sollte eigentlich reichen, um die grüne LED zum leuchten zu bringen. Der hier nachfolgend beschriebene Jumper war immer gesteckt. Suche jetzt trotzdemhalber mal was, was 5,00V bringt. " XMEGA-A3BU Xplained Hardware Users Guide Connecting the kit USB power supply Connect a USB cable between the board and a PC *or a USB power supply to power the kit.* When power is applied the power/status LED will light up in green (unless the application software turns the LED off). Warning Do not power the board without having the jumper next to the USB connector or an amperemeter mounted. Otherwise, the device may be damaged. " Bernd_Stein
4,9V sind schon Ok. Laut Schaltplan werden beide LEDs durch I/O Pins vom Mikrocontroller angesteuert. Wenn die nicht an gehen kann das durchaus am Programm (bzw. an nicht vorhandenen Programm) liegen. > Mit PDI wird das im Ursprungszustand wohl nichts ... Da bin ich unsicher. Ich hatte bisher nur mit einer Sorte Xmega Boards zu tun, und die habe ich alle nur über PDI angesprochen (ich besitze gar keinen JTAG Adapter).
Der Mikrocontroller hat ja 3,3V Versorgung, prüfe die mal. An den 5 kleinen Kondensatoren rund um den Chip müssten die 3,3V zu messen sein. 1 unten 1 rechts 2 oben 1 links Mehr als Stromversorgung braucht der Chip eigentlich nicht, um über PDI ansprechbar zu sein. PDI CLK ist zugleich die Reset Leitung. Mein Programmieradapter meckert mit einer eindeutigen Meldung, wenn diese Leitung kurzgeschlossen oder zu hoch belastet wird. Du könntest mal LEDs (+1k Vorwiderstand) an die PDI Leitungen hängen, um zu sehen, ob da überhaupt eine Kommunikation stattfindet. Oder besser noch einen Logic Analyzer oder Oszilloskop, falls du so etwas besitzt. Bist du sicher, dass die PDI Schnittstelle deines Programmieradapter nicht defekt ist?
Stefanus F. schrieb: > 4,9V sind schon Ok. > Das denke ich auch. Habe aber trotzdem nun eine andere USB-Spannungsversorgung genommen und das LCD-Backlight ausgeschaltet, was mir die gewünschenten 5,00V bringt. Möchte ungern auf 5,1V gehen. Mess jetzt erstmal in der Schaltung, ob diesmal nicht wirklich ein Hardwaredefekt vorliegt. " When power is applied the power/status LED will light up in green (unless the application software turns the LED off). " Bernd_Stein
Das stimmt, die LED müsste an gehen, solange der entsprechende I/O Pin nicht absichtlich auf Low geschaltet wird. Das kann an fehlender Spannungsversorgung des µC liegen oder dass doch schon ein Programm installiert ist. Dann müsste die LED aber wenigstens während des Reset leuchten. Kannst du ja mal ausprobieren.
Stefanus F. schrieb: > Das kann an fehlender > Spannungsversorgung des µC liegen oder dass doch schon ein Programm > installiert ist. Dann müsste die LED aber wenigstens während des Reset > leuchten. Kannst du ja mal ausprobieren. > Habe nun wieder nur die PC-USB-Verbindung aufgesteckt, welche 4,80V bringt. Also Pin31, wodurch die LED eingeschaltet werden würde liegt auf 0,6V im 200mV-Bereich des DMM. Der µC sieht perfekt verlötet aus, so das ich mir die Masse von J3 Pin9 geholt habe. Die Vcc-Pins 15,25,35,45 und 53 weisen alle 3,30V auf. Am JTAG bzw. PDI Steckerpfosten messe ich auch die 3,30V ( Vcc ) gegen die beiden GND dieses Steckerpfostens. Wieso meinst du das bei einem Reset die LED angehen würde ? Es kommt doch sicherlich auf das Programm an. Bei einem Reset sind die Ausgänge doch bestimmt als hochohmige Eingänge geschaltet, so wie man es von den Tinys und Megas her kennt. Seltsam ? Habe am JTAG/PDI Steckerposten J301 Pin6 über einen 4k7 mit Pin2 verbunden, also den Reset erzeugt und nun leuchtet tatsächlich die LED in grün und das LCD-Backlight ging aus, aber Enter, Back usw. ist noch zu lesen. Ah, der 1MOhm Pullup am NMOS-FET läßt diesen durchschalten. Alles klar. So und nun ? Bernd_Stein
Hi >Also Pin31, wodurch die LED eingeschaltet werden würde liegt auf 0,6V im >200mV-Bereich des DMM. Wie stellst 600mV im 200mV-Bereich des DMM fest? MfG Spess
> Wieso meinst du das bei einem Reset die LED angehen würde ? Weil der I/O Pin dann hochohmig ist (sofern der µC nicht defekt oder Stromlos ist) und der 1M Ohm Pull-Up Widerstand den MOSFET vor der LED eisnchaltet. 0,6V sind seltsam. Es müsste entweder annähernd 0V oder 3,3V sein. Es sei denn, der µC steuert den Pin mit einem pulsierendem Signal an. Kannst du das prüfen? Durch den 4,7k Ohm Widerstand konntest du bestätigen, dass der Reset Pin funktioniert. Wenn du das Kabel deines Programmieradapters entfernst, leuchtet die LED dann auch (wenigestens einmal kurz beim Einstecken des USB kabels)?
spess53 schrieb: > Wie stellst 600mV im 200mV-Bereich des DMM fest? > Da hat mal wieder jemand genau aufgepasst ;-). Ich denke du weißt, das es nur 0,6mV also annähernd 0V sind. Stefanus F. schrieb: > Wenn du das Kabel deines Programmieradapters entfernst, > leuchtet die LED dann auch (wenigestens einmal kurz beim Einstecken des > USB kabels)? > Hab den Fehler gefunden. Es war der 10 auf 6 auf 10pin Adapter ( 1 ). Adapter ( 2 ) ging nicht, da der USB-Stecker ( 3 ) störte. Die grüne LED des ATMEL-ICE ( 4 ) geht an, wenn die Versorgungsspannung der Zielplatine in Ordung ist. Wie man sieht ist die grüne LED auf dem Board trotzdem nicht an. So was macht einen Anfänger natürlich ganz schon zu schaffen, wenn die Beschreibung, was eigentlich passiert, fehlerhaft ist. Danke an alle die hier mitgewirkt haben, diesmal war kein Troll dabei :-). Bernd_Stein
>Ich denke du weißt, das es nur 0,6mV also annähernd 0V sind.
Hmm, es hätte genausogut auch 600mV in einem anderen Meßbereich sein
können. Oder 60mV.
Also wenn es 6mV sind, dann wurde dieser Pin mit Sicherheit absichtlich
auf Low geschaltet. Wenn es kein ungewollter Kurzschluss war, dann wohl
das Programm auf dem µC.
Durch einen Reset beendest du das Programm, dann müsste der Pin auf High
gehen.
Wie bekomme ich die Template für das XMEGA-A3BU XPLAINED geladen bzw. installiert, so wie es im Videobild ( Templates ) gezeigt ist ? Bei mir sieht es eben so aus, wie im Bild ( NewProject_Templates ). Bernd_Stein
Bernd S. schrieb: > Wie bekomme ich die Template für das XMEGA-A3BU XPLAINED geladen bzw. > installiert, so wie es im Videobild ( Templates ) gezeigt ist ? Frag doch mal den Autor des Buches - der sollte es ja wissen.
Dieter F. schrieb: > Frag doch mal den Autor des Buches - der sollte es ja wissen. > Hey, warum fängst du jetzt an zu trollen ? Bernd_Stein
Bernd S. schrieb: > Hey, warum fängst du jetzt an zu trollen ? Was ist daran Trollerei? Wenn der Buchautor etwas beschreibt, was so aber nicht klappt, dann ist der tatsächlich für Deine Fragen zuständig. Du hast ihm immerhin Geld für das Buch bezahlt. Ansonsten scheinst Du eine andere Version des Atmel Studio zu verwenden, oder Du hast es anders installiert als der Autor, denn bei Dir gibt es unter "Templates" keine "Atmelboards".
Bernd S. schrieb: > Hey, warum fängst du jetzt an zu trollen ? Man sollte nie von sich auf andere schliessen :-) Ich kenne weder das Buch noch den Autor und nur der kann die Frage beantworten.
Das im rechten Fenster ist ein ASF Board Projekt, links hast du ein C Executable Projekt gewählt. Das ist der falsche Startpunkt, wenn du Board Templates verwenden möchtest.
Rufus Τ. F. schrieb: > Ansonsten scheinst Du eine andere Version des Atmel Studio zu verwenden, > oder Du hast es anders installiert als der Autor, denn bei Dir gibt es > unter "Templates" keine "Atmelboards". > Ja, so ist es. Da das Buch ( wie meistens ) etwas älter ist ( 1.Auflage 2015 ) wird dort das ATMEL STUDIO 6.2 verwendet. Ich dachte nun, das man in der Version 7.0.1645 bestimmt so etwas auch nachträglich einbinden kann. Habe nämlich das Programm auf Seite 106 ( Integer ) abgetippt, aber kriege es nicht fehlerfrei Compiliert und dachte es liegt evtl. daran. Wenn ich die vorgefertigte Datei benutze geht es. Habe also die selbstgetippte Datei unter src mit eingefügt ( K11S106_Integer.C ) und mit der rechten Maustaste => Compile. main.C ist die Orginale Datei. Bernd_Stein
Thosch schrieb: > Das im rechten Fenster ist ein ASF Board Projekt, links hast du ein C > Executable Projekt gewählt. Das ist der falsche Startpunkt, wenn du > Board Templates verwenden möchtest. > Oh, hat mir der Buchautor geschrieben ? Scherz bei Seite. Danke !!! Also, File => New => Project. Dort GCC C ASF Board Projekt doppelklicken. Select By Board anwählen und XMEGA-A3BU Xplained-ATxmega256A3Bu auswählen & OK-Botton klicken. Bernd_Stein
:
Bearbeitet durch User
Sollte auch mit Studio 7 gehen, siehe angehängte Screenshots: Im New Project Dialog (wie bereits oben erwähnt) "GCC C ASF Board Project" wählen. -> NICHT "GCC C Executable Project" Dann kommt der Board Selection Dialog, hier kann man entweder nach Controller-Typ (By Device) auswählen und bekommt dann unten die Boards angezeigt, oder man wählt bereits oben nach Board-Typ aus (By Board) kann dann noch entweder alle oder nur bestimmte Boards filtern lassen (z.B. Atmel-Boards) und wählt dann aus der langen Liste sein Board. Es gibt also alles, es ist in den Menüs nur ein klein wenig anders gruppiert. Wirklich schwierig fand ich das jetzt nicht zu finden. Im ASF-Wizard kann man dann benötigte Driver, Components und Services hinzufügen, das sind die Bestandteile des ASF. Im Project-Tree kann man auch einfach Source-Dateien aus anderen Quellen hinzufügen...
Bernd S. schrieb: > Oh, hat mir der Buchautor geschrieben ? Nö das war ich; nur ein Studio7-User, der hin und wieder was mit XMegas macht und auch ein XPlained Board hat :)
Thorsten S. schrieb: > Beitrag "Re: Praxiskurs AVR-XMEGA-Mikrocontroller. Mit C von Anfang an. ( Buch von Günter Spanner )" > Danke für die bebilderte Ausführung dessen, was ich versuchte in Worte zu fassen. Bin in dem Buch auf der Seite 134 / Kapitel 14.11 ( Verständnisfragen und Praxisübungen ). Es geht um Kontrollstrukturen, also Verzweigungen, Schleifen und Sprünge. Die if-Verzweigung, die else-Verzweigung, die else if-Verzweigung, der Ternäre Operator, die switch-Verzweigung, die while-Schleife, die do ... while-Schleife, die for-Schleife, die verschachtelte for-Schleife, die komplexe for-Schleife und der Abruch von Schleifen mittels break oder continue. Jetzt kommt folgende Aufgabe : " Ändern Sie die Schleifenindices und die Anzahl der Durchläufe in den Beispielprogrammen. Skizzieren Sie zunächst, welche Ausgaben Sie erwarten und vergleichen Sie diese dann mit der tatsächlichen Ausgabe auf dem LCD-Display ! ". Sind Schleifenindices nicht das gleiche wie die Anzahl der Durchläufe ? Bernd_Stein
Die Anzahl der Durchläufe ergibt sich aus dem Startwert, der Schrittweite und dem Endwert des Index (Zähler).
Bernd S. schrieb: > Bin in dem Buch auf der Seite 134 / Kapitel 14.11 ( Verständnisfragen > und Praxisübungen ). Möglicherweise ist es hilfreich, wenn Du das zugehörige Kapitel liest und aufarbeitest :-)
Stefanus F. schrieb: > Die Anzahl der Durchläufe ergibt sich aus dem Startwert, der > Schrittweite und dem Endwert des Index (Zähler). > Müsst ihr immer diese verdeckten Hinweise geben ? Das hätte mir schneller weitergeholfen : " Der Begriff Index kommt aus dem Lateinischen, daher lautet die Mehrzahl „Indices“ oder nach den neuen Dudenempfehlungen „Indizes“ – nicht Indexe! " Dieter F. schrieb: > Möglicherweise ist es hilfreich, wenn Du das zugehörige Kapitel liest > und aufarbeitest :-) > Wenn ich nicht gelesen hätte, dass du Ahnung von der Materie hast, hätte ich nur wie auch schon andere geschrieben: " Bleib mit deinem Gequake im Busch ". Natürlich habe ich vorher schon die ganzen Kapitel nochmals durchgelesen und der Satz auf Seite 126 : " Häufig wird die Zähl-Variable beginnend mit dem Buchstaben i ( für index ) bezeichnet. ", trägt leider nur zur Verwirrung bei. " Ändern Sie die Schleifenindices und die Anzahl der Durchläufe ... " Für mich ergeben ja gerade die Indices die Anzahl der Durchläufe. Wahrscheinlich meint er wohl, wie Stefan Frings es andeutet, damit die Schrittweite. Dieter F. schrieb: > Frag doch mal den Autor des Buches - der sollte es ja wissen. > Der wird anscheinend vom Elektorverlag so abgeschirmt, das dies direkt nicht möglich ist. Oder hast du seine eMail-Adresse ? ;-) Selbst Jürgen D. Hennig habe ich am 19ten hier über das Forum angeschrieben und bisher noch keine Antwort bekommen. Denkst du Autoren haben nichts besseres zu tun, als auf die tausende von eMails zu reagieren ? Auch sie sind keine Götter und machen Fehler oder schreiben nicht für jeden verständlich. Also lass doch bitte in Zukunft solche Antworten. Bernd_Stein
Hallo zusammen, viele sind der Meinung, dass man die Programmiersprache C, erstmal für die PC-Programmierung lernen sollte und dann erst die Feinheiten, die bei der Mikrocontrollerprogrammierung ( Bei mir ATMEL / Microchip AVR8 ) zu beachten sind, dazulernen. Dieses, leider ältere Buch, soll für Anfänger gut geeignet sein. C: Programmieren von Anfang an Taschenbuch – 1. Dezember 1999 von Helmut Erlenkötter https://www.amazon.de/C-Programmieren-Anfang-Helmut-Erlenk%C3%B6tter/dp/3499600749/ref=sr_1_1?crid=3JHN49N5L2YMQ&keywords=c+von+anfang+an&qid=1646925569&sprefix=c+von%2Caps%2C82&sr=8-1 Nur welche kostenlose IDE bzw. Compiler sollte ich benutzen, den ich auch später für die uC-Programmierung nutzen kann ? Bernd_Stein
:
Bearbeitet durch User
Bernd S. schrieb: > Nur welche kostenlose IDE bzw. Compiler sollte ich benutzen, den ich > auch später für die uC-Programmierung nutzen kann ? Zum Beispiel Qt Creator. Am Besten bindet man sich nicht allzu sehr an eine bestimmte IDE, weil alle paar Jahre eine andere "bessere" heraus kommt. Schreibe deine Projekte so, dass man sie ganz ohne IDE im Terminalfenster compilieren kann. Die IDE dient dann mehr oder weniger nur als besserer Texteditor.
Stefan ⛄ F. schrieb: > Zum Beispiel Qt Creator. > Hm - wieso finde ich wiedermal nur Video's wo mit Qt Creator in C++ programmiert wird und nicht, wie ich es möchte, in C ? https://www.youtube.com/watch?v=DrIjfTDgzAU https://www.youtube.com/watch?v=QxzdZwBg1HI Bernd_Stein
Bernd S. schrieb: > Hm - wieso finde ich wiedermal nur Video's wo mit Qt Creator in C++ > programmiert wird und nicht, wie ich es möchte, in C ? Vielleicht, weil man dafür kein Video braucht. Neue Projekt -> Projekt ohne Qt -> Reine C Anwendung Build-System auswählen: cmake Kit-Auswahl: Desktop (da könntest du den avr-gcc für Mikrocontroller hinzufügen) Dann bekommst du dies generiert:
1 | #include <stdio.h> |
2 | |
3 | int main() |
4 | {
|
5 | printf("Hello World!\n"); |
6 | return 0; |
7 | }
|
Du musst du nur noch mit Leben füllen. Ab da geht es mit jedem beliebigen Lehrbuch oder Tutorial weiter. Für die IDE gibt es auch jede Menge Anleitungen Online, die werden dir gleich beim Start unter die Nase gerieben.
Beitrag #7000209 wurde von einem Moderator gelöscht.
Dort steht, wie du ein "Kit" für AVR Mikrocontroller hinzufügst: http://stefanfrings.de/avr_tools/index.html#ide http://stefanfrings.de/avr_tools/index.html#qtcreator
Beitrag #7000227 wurde von einem Moderator gelöscht.
Hallo Stefan, vielen Dank für deine Hilfe. Irgendwie hab ich auf der offiziellen Seite von Qt den Download von Qt Creator nicht gefunden und bin dann aber auf der Heise HP fündig geworden. Ich mag solche Sachen mit Registrieren, Passwörtern, ... nicht, deshalb hab ich zu *Code::Blocks* gewechselt ( Code Blocks Windows64bit ( including compiler)). https://www.youtube.com/watch?v=x-pQT7bAP80&list=PLt_1e8h-E5LaqzAWnnJDGsVas4M_0hSPI https://www.fosshub.com/Code-Blocks.html?dwl=codeblocks-20.03-setup.exe https://www.qt.io/product Bernd_Stein
:
Bearbeitet durch User
Bernd S. schrieb: > Irgendwie hab ich auf der offiziellen Seite von Qt den Download von Qt > Creator nicht gefunden https://www.qt.io/download-qt-installer > Ich mag solche Sachen mit Registrieren, Passwörtern, ... nicht Sei froh dass das Produkt kostenlos ist.
Bernd S. schrieb: > Ich mag solche Sachen mit Registrieren, Passwörtern, ... nicht, Nimm msys2, da gibts Qt ohne Registrierung. Oliver
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.