Guten Morgen zusammen, ich habe ein Quellcode vom pic10F202 so angepasst(_config und paar Zeilen), dass es auch auf einem PIC10F322 läuft. Nach paar Fehlermeldungen habe ich hinbekommen fehlerfrei zu builden. Wenn ich aber Debuggen möchte, habe ich ein Problem. Debugger-> Select tool-> "MPLAB SIM" wähle und mein Projekt simulieren möchte, stürzt der Programm nach paar Zeilen später ab, sodass ich das Programm neu Starten muss. Was könnte der Grund sein? Das Debuggen mit MPLAB SIM vom PIC10F202 hatte aber geklappt. Benutze MPLAB IDE v8.92 Freue mich schon auf alle Antworten.. Gruß
uC_anfängerin schrieb: > stürzt der Programm nach paar Zeilen später ab Welcher Programm? MPLAB, der Simulator oder was?
Volker S. schrieb: > Welcher Programm? MPLAB Ich kriege diese Fehlermeldung: MPLAB IDE funktioniert nicht mehr. Ein Problem hat die richtige Ausführung dieses Programms verhindert. Schließen Sie das Programm.
Hmmm, ich verwende die "alte" IDE eigentlich schon seit Jahren nicht mehr. Der 10F322 ist ein relativ neuer PIC. Wenn ich ein Projekt mit dem 322 in der alten IDE anlege, dann hat der Simulator auch nur einen gelben Punkt und "Beta Support". Das heißt, er ist noch nicht vollständig implementiert/getestet...
:
Bearbeitet durch User
Volker S. schrieb: > Punkt und "Beta Support". Das heißt, er ist noch nicht vollständig > implementiert/getestet... Ja, bei mir sieht das auch genauso aus wie bei dir. Also ist es nicht möglich zu debuggen?
uC_anfängerin schrieb: > Also ist es nicht möglich zu debuggen? Könnte funktionieren oder wie in deinem Fall eben auch nicht ;-) (((mit einem alten Code von mir funktioniert es z.B.)))
Volker S. schrieb: > Könnte funktionieren oder wie in deinem Fall eben auch nicht ;-) > (((mit einem alten Code von mir funktioniert es z.B.))) Okay :) Kann es aber sein, dass ich nicht richtig angepasst habe den Code? oder hängt das wirklich nur davon ab, dass der PIC zu neu ist für alte IDE?
Daß der Sim durch ein fehlerhaftes PIC-Programm abstürzt, ist unwahrscheinlich. Gerade bei dem kleinen PIC10... fallen die üblichen Verdächtigen, wie z.B. falsche Bank, weg. Probier mal, im Programm an geeigneter Stelle einen CLRWDT-Befehl einzufügen. Ich hatte das auch schonmal, daß der WDT offenbar im Sim nicht korrekt behandelt wurde und sich beim WDT-Timeout dann der Sim einfach verabschiedet hat, und das, obwohl der WDT im Config-Register gar nicht aktiviert war!
Thomas E. schrieb: > Probier mal, im Programm an geeigneter Stelle einen CLRWDT-Befehl > einzufügen. Ich habe bemerkt, dass das Programm immer an der Stelle, wo ich timer initialisiert habe -> Timer_Init abstürzt. Da habe ich den Befehl CLRWDT hinzugefügt, aber hat sich nicht geändert. Nachdem ich aber Timer_Init aus kommentiert habe, hat MPLAB nicht mehr abgestürzt. Ich denke da liegt das Problem.
Nimm doch einfach die aktuelle IDE. Wenn man schon Jahre lang mit der alten IDE gearbeitet hat, kann es durchaus sinnvoll sein, die auch noch so lange wie eben möglich zu nutzen. Als Neuanfänger halte ich das nicht für sinnvoll, weil man früher oder später vermutlich doch die neue braucht...
Wenn der Absturz immer an der gleichen Stelle und nicht sporadisch irgendwann auftritt, sollte es ja kein Problem sein, den Fehler einzugrenzen! Lass' den Sim halt Schritt für Schritt durch das Programm laufen und schau, bei welchem Befehl es genau passiert. Keiner hier weiß, welcher Code sich hinter Deiner Timer_Init Routine verbirgt (Du könntest Das Programm hier ja auch einfach mal posten, oder ist es geheim?).
Volker S. schrieb: > Wenn man schon Jahre lang mit der alten IDE gearbeitet hat, kann es > durchaus sinnvoll sein, die auch noch so lange wie eben möglich zu > nutzen. Eigentlich muss man beide verwenden: Für das, was in der MPLAB 8 noch nicht geht (z.B. neue PIC-Typen), nimmt man MPLAX-X, und für das, was in der neuen IDE nicht mehr geht (vernünftiges Debugging von ASM-Programmen) nimmt man MPLAB 8. Dumm nur, wenn man ASM-Programme für einen neuen PIC, der in MPLAB 8 noch nicht drin ist, komfortabel debuggen will...
Ich programmiere nur noch äußerst selten in Asssembler. Was ist das Problem mit MPLABX? Ist es wirklich Wert sich als Anfänger in zwei IDEs einzuarbeiten?
Volker S. schrieb: > Was ist das Problem mit MPLABX? hatte ich kürzlich hier mal zu geschrieben: Beitrag "Re: MPLAB Software Übertragung auf einen uC die PIC Familie" Volker S. schrieb: > Ist es wirklich Wert sich als Anfänger in zwei IDEs einzuarbeiten? Wahrscheinlich nicht - zumal ein Anfänger wohl typischerweise eher mit anderen Problemen zu kämpfen hat, als mit den oben genannten.
Servus, zumindest einen Punkt aus meinem oben verlinkten "MPLAB-X Bashing" muss ich revidieren! Mit der aktuellen Version kann man im Watch-Window tatsächlich den Variablen-Typ (8/16..-Bit/float usw.) einstellen! K.A., ob das neu ist oder ich mich nur zu blöd angetellt habe, als ich das zuletzt (vielleicht vor 1 Jahr?) versucht habe. Bin mir aber recht sicher, daß ich den naheliegenden Weg (mit der rechten Maustaste im Watch Window draufklicken) natürlich auch da schon probiert habe!
Thomas E. schrieb: > Mit der aktuellen Version kann man im Watch-Window > tatsächlich den Variablen-Typ (8/16..-Bit/float usw.) einstellen! Cool, habe ich auch noch nicht gesehen, bzw. noch nicht danach gesucht. Du meinst bestimmt "Display Value Column as" bzw. wenn man eine Adresse eingibt, dann auch noch "User defined size" (bei der fast aktuellen Version 3.55) <edit> In Bezug auf Trägheit, habe ich leider auch wenig Hoffnung :-( Für kleine Projekte ist das vermutlich nicht so auffällig und unter Linux scheint es mir auch etwas agiler als unter Windoof.
:
Bearbeitet durch User
Hallo nochmal, ich kann jetzt glücklicherweise Debuggen. An der stelle Timer_Init habe ich etwas den Code geändert und hat funktioniert. Der alte code: Timer_Init movlw 0C3H OPTION retlw 0 Der neue code: Timer_Init movlw B'000000011' movwf OPTION_REG retlw 0
Thomas E. schrieb: > sollte es ja kein Problem sein, den Fehler > einzugrenzen! Ja genau. So habe ich den Fehler entdeckt.
Volker S. schrieb: > Nimm doch einfach die aktuelle IDE. Da ich das nicht hobymässig mache, sondern ein Projekt ist, wurde mir die alte IDE heruntergeladen :/
Eine weitere Frage wäre, warum ich nicht gleichen Signal am Ausgang PIC10F322 bekomme wie bei PIC10F202? wie bei dem anderen PIC bekomme ich schon Impulse die mit verschiedenen Zeit abstände sind. Aber das Signal ist sehr schneller. Zwischen zwei Impulsen soll die abstand entweder 1ms oder 2ms sein bei mir ist es schon aber so 220ms(1 Kästchen=200ms. Was ich gesehen habe dass PIC10f202 Frequenz von 4 MHz hat und PIC10F322 16MHz. Bei dem alten code wurde Takt: 4Mz/4= 1usec eingestellt. Ich denke mein Signal ist 16 mal schneller? Wie kann ich das einstellen? Info vom Datenblatt: bit 7 Unimplemented: Read as ‘0’ bit 6-4 IRCF<2:0>: INTOSC (FOSC) Frequency Select bits 111 = 16 MHz 110 = 8 MHz (default value) 101 = 4 MHz 100 = 2 MHz 011 = 1 MHz 010 = 500 kHz 001 = 250 kHz 000 = 31 kHz (LFINTOSC) movwf OSCCON B'00110000' für 1Mhz habe ich so was geschrieben ist aber leider falsch. :/
> Da ich das nicht hobymässig mache, sondern ein Projekt ist, wurde mir > die alte IDE heruntergeladen :/ Am guten alten MPLAB gibt es nichts auszusetzen!!!!¹!!²!!!!!³!!!!! Solange Mann bei den WinzPICkels bleibt.
Klugscheisser schrieb: > Am guten alten MPLAB gibt es nichts auszusetzen! Na ja, dass es bei einem Fehler im Code abstürzt ist schon bisschen grenzwertig ;-) Aber jetzt scheint es ja zu laufen...
Klugscheisser schrieb: > movlw B'00110000' > movwf OSCCON Vielen Dank, da hat sich mein Signal aber nichts geändert. Wohl liegt das Problem wo anders.
uC_anfängerin schrieb: > Vielen Dank, da hat sich mein Signal aber nichts geändert. Wohl liegt > das Problem wo anders. Wo schaust du denn das Signal an? Real mit einem Oszilloskop, oder im Simulator?
Volker S. schrieb: > uC_anfängerin schrieb: >> Vielen Dank, da hat sich mein Signal aber nichts geändert. Wohl liegt >> das Problem wo anders. > > Wo schaust du denn das Signal an? > Real mit einem Oszilloskop, oder im Simulator? Ja, real mit einem Oszi. Ich denke die beiden Timern sind unterschiedlich aufgebaut und deswegen sieht das Signal anders aus? Noch bin ich beim ausprobieren, wenn ihr Vorschläge habt, bin sehr dankbar!
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.