PIC16LF chipreset bei gets() ccsc

OP #1257804
Hallo,

Ich sitze grade dabei einen PIC16LF726 zu programmieren.

dabei benutze ich eine serielle Schnittstelle (Softwareschnittstelle) 
welche ich folgendermaßen initialisiert habe:
#use rs232(STREAM=GPRS, BAUD=57600 ,  XMIT=PIN_C4,RCV=PIN_C3)

ich benutze dazu ein externes 20 MHz Crystal. Der uC läuft auch perfekt 
Aber sobald ich ein gets() oder getc() aufrufe startet sich der IC 
automatisch neu. Mit RESTART_CAUSE() hab ich herausgefunden, dass der 
Grund dafür MCLR_FROM_RUN ist. Ich habe auch schon mit FUSES NOMCLR 
versucht diese Neustarts zu unterdrücken aber ohne erfolg. Das komische 
ist auch, dass wenn ich den RCV Pin von C3 auf B3 wechsele es kein 
Problem gibt wobei beide normale I/O Ports sind. C3 kann lediglich auch 
als SCL/SCK Pin für den i2c Bus genommen werden.

Das Problem ist, dass ich die Platine schon geätzt habe und eine neue zu 
entwerfen/ätzen/bestücken ne ziemliche Plackerei wäre.

Ich benutze als Programmer den ICD_U40

Hat jemand von euch ne Idee wo der Fehler liegen könnte. Google konnte 
mir nur bedingt helfen indem ich ein paar NOPs in die Gets() Funktion 
einsetze aber ich komm an den Quellcode von gets() nicht ran.

Ich wäre für jede Hilfe sehr dankbar

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.