Guten Morgen, ich arbeite zur zeit an einem kleineren Projekt und soll mit Hilfe eines XE164-Controllers eine Kommunikation mittels RS232 ermöglichen. Dabei sollen mittels HyperTerminal o.ä. Befehle zum Controller gesandt und vom Controller gewisse Daten zum PC zurück geschickt werden. Die Hardware ist vorhanden und funktionsfähig! Da ich bisher noch keine Erfahrungen mit Infineon-Controllern sammeln konnte, hoffe ich auf einige nützliche Tipps eurerseits. Danke.
Hallo Jens, nimm dir das kostenlose Initialisierungstool Dave und richte dir damit den gewünschten USIC-Kanal auf UART (heißt bei Infineon ASC) ein. Dort kannst du auch das Interruptverhalten bestimmen und einfache Senderoutinen erzeugen lassen. Auf den Starterkit-CDs sind typischerweise auch Beispiel mit UART-Nutzung dabei (z.B. Hello World an ein Terminal senden). Gruß Carsten
Hallo Jens, auf der Übersichtsseite (http://www.infineon.com/cms/en/product/channel.html?channel=db3a30432313ff5e012336d24448636e&tab=2) des Controllers sind auch zwei Hans-on Trainings. Die beschreiben dir Schritt für Schritt was Du machen sollst. Eines davon ist auch noch für UART (ASC-Link). Schaus Dir mal an, das dürfte weiterhelfen. Gruß Tannenzäpfle
So, heute habe ich mal wieder ein wenig Zeit gefunden, mich mit dem XE164 zu beschäftigen. Danke eurer Hilfe und dem "U0C0_ASC_vSendData"-Befehl kann ich nun Daten zum HyperTerminal schicken. Jetzt will ich ein ankommenes Datenpaket (vom Hyperterminal) zerlegen und auswerten. D.h. ich will ankommende Daten in festgelegten Variablen kopieren und diese auswerten. Habt ihr sowas schon mal gemacht? Oder habt ihr bessere Ideen?
Also wenn Du schon das Makro ASC_vSendata gefunden hast, dann ist ja der Weg zum ASC_uwGetData auch nicht mehr weit. Wie gesagt, eine Schritt für Schritt Anleitung gibt es auch beim bereits erwähnten Hands-on training ASC-Link.
So, mein Projekt mit dem XE164 geht gut vorran und ich kann mittels RS232 Befehle zum µC schicken und Daten empfangen. Jetzt zu meinem neuen Problem: Ich will mit Hilfe eines Befehls (via RS232) den Controller reseten bzw. in einen Boot-Modus versetzen. Kennt ihr euch mit sowas aus?
Was möchtest Du denn machen? Nur Reset oder aber Reset+Bootstraploader anschmeissen? Und wenn Reset was für einer, ein HW Reset (also ein Power On Reset) oder ein SW Reset (bei Infineon gibt es den dafür schicken Namen "Application Reset"). Gruß Tannenzäpfle
Grüße Rothaus Bier, ich möchte einen HW-Reset realisieren und zusätzlich den Bootstraploader anwerfen. Hast du damit Erfahrung?
Ich wäre mir da nicht so sicher ob ein Power on Reset + BSL funktioniert. Hintergrund ist der, dass Du bei einem _PORST sämtliche Register auf Default Wert setzt. Und genau darin liegt das eigentliche Problem. Denn um einen BSL zu starten, kannst Du entweder Deine HWCFG Pins am Port 10 so einstellen, dass der gewünschte BSL Modus nach einem _PORST angefahren wird. Das würde jedoch heissen, dass Du nach einem bestimmten UART Datum/Befehl Deine HWCFG Pins Manuell (und mit Manuell meine ich wirklich HÄNDISCH) einstellen müsstest und anschliessend ein _PORST auslösst. Kann ja nicht wirklich die Zielführung sein, oder??? Also ich weiss nicht was Du vor hast, aber logischer scheint mir doch, dass Du nach dem besagten UART Befehl dann den Baustein nochmal neu hochfahren lässt OHNE dabei händisch die HWCFG Pins ändern zu müssen. Ist das so?
Hallo Jens, ich habe so etrwas schon mal mit dem C167 gemacht. Problem damals war das ich in einer bestehenden Hardware ohne umstecken von Jumpern oder Reset Taste drücken von außen über RS232 Software in das internen Flash schreiben mußte. Da ich keine Ahnung vom Flash programmieren hatte, habe ich folgendes gemacht : 1. Eigene Funktion (BootStrapLoader())schreiben die den Bootstraploader per Software simuliert (warte auf 00 über RS232 dann Prozessorkennung senden, die nächsten 32 Byte über RS232 empfangen und diese dann als Funktion abarbeiten). 2. Damit ich den Prozessor in den simulierten Bootstraploeder Mode bekoome, habe ich ein Befehl definiert der über die serielle Schnittstelle empfangen wird. Der Befehl hat dann die Funktion BootStrapLoader() ins internen RAM kopiert und von dort aus gestartet. 3. Den Rest hat dann ein DOS Tool von Siemens erledigt über das man per Bootstrap Loader HEX Files flaschen konnte. Beim XE müsste das doch so ähnlich möglichs sein. Gruß Peter
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.