Hallo, ich versuche gerade einen MSC1210 Mikrocontroller (8051 CPU) mit C51 zu programmieren. Ich möchte erstmal nur testen ob er überhaupt funkioniert. Ich verwende dazu folgende Befehle: sfr P1 = 0x90; void main(void) { unsigned int i; while(1) { i=1; P1=~P1; for (i=1;i<10000;i++); } } Das Ergebniss ist das nach dem download der compilerierten hex-Datei in den Controller der Port1 immer noch ständig auf high-Pegel ist. (genauso wie im unprogrammierten Zustand) Nach dem auslesen des Speichers merkt man aber das er beschrieben ist, also muss das laden der hex-Datei geklappt haben. Wo könnte der Fehler liegen? Wie kann ich am sichersten/einfachsten testen ob die Hardware überhaut funktioniert?
Matthias schrieb: ----------------- Wie kann ich am sichersten/einfachsten testen ob die Hardware überhaut funktioniert? ----------------- Das Portpin über einen Widerstand (irgendwas zwischen 47R und 470R) gegen Masse legen. Wenn er nicht auf 0V geht, ist er sehr wahrscheinlich defekt. Mal was anderes: Wie stellst du denn fest, ob der Port High oder Low ist? Deine Warteschleife von 1 bis 10000 dauert wahrscheinlich so rund 30 Millisekunden (größenordnungsmäßig, ich kenn die CPU net so genau). Das ist für ein Multimeter viel zu schnell, und auch eine LED siehst du da nicht flackern.
Standardfehler sind: - Quarz spinnt - kein Reset gemacht - EA nicht an +5V - HEX-Datei: Adreßbereich außerhalb des internen Flash Peter
Quarz ist in Ordnung, Resetschaltung haut auch hin, EA ist an +5V und den Portoin messe ich mit dem Oszillator, aber wie stelle ich fest ob der Adressbereich der hex Datei ausserhalb des internen Flash ist??? den MC habe ich so programmiert wie oben beschrieben da müsste er doch gehen?oder?
Laß das HEX-File in einem Simulator laufen, der zeigt Dir dann die Adresse jedes Befehls mit an. 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.