pah, ich werde mikrocontroller aufgeben

Gast #194481
Lesenswert?

na siehste.. einfach den quellcode zum 100dersten mal durchgehen, die
pins zum 200mal kontrollieren und schon entdeckt man die fehler bei
denen man am besten den kopf gegen die wand schlagen möchte.
Ich habe gestern und heute in meiner schltung zwei solcher fehler
entdeckt und nun bin ich dabei diese zu beseitigen.
Dadurch zieht sich mein projekt zwar wieder etwas hin, aber es geht
vorran!
Gast #194484
Lesenswert?

Jeder auch nur halbwegs anständige C-Compiler gibt eine Warnung aus,
wenn er ein Konstrukt wie

  if (i = 0)

sieht. Wenn ein Compiler sowas nicht auf die Reihe bekommt, sollte man
über Alternativen nachdenken. Gibt es für den gewünschten Prozessor
keine, dann muss man halt auf Lint zurückgreifen und den Code
gelegentlich damit überprüfen.
Gast #194485
Lesenswert?

Naja es sind aber genau solche Fehler, welche einen zur weisglut treiben
können.
Noch ein beispiel in ASM:

  movwf  LcdDaten  ;W nach LcdDaten
  call   LcdBusy    ;solange warten wie Busy = 1
  movf   LcdDaten, w  ;LcdDaten nach W

>        BSF     STATUS, RP0          ; auf Bank 1 schalten
>   MOVLW  B'00000000'    ; RD7:0 auf output
>    MOVWF  TRISD
>        BCF     STATUS, RP0          ; auf Bank 0 schalten

        MOVWF   PORT_LCD        ;Daten auf den Port legen

Die Grundlegenden LCD Routinen habe ich mir aus einem Projekt mit einem
anderen µC rauskopiert. Da aber bei diesem Projekt die LCD
Datenleitungen nicht ausschließlich für das LCD gebraucht werden habe
ich dann die mit ">" markierten Befehle eingefügt um sicher zu gehen,
daß der LCD Port auch wirklich auf Output steht.
Tja ich habe den fehler wohl erst nach dem 20mal lesen entdeckt und
siehe da plötzlich geht alles völlig glatt :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren