Delayrutinen stämmer inte i verkligheten..

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Jodå, koden förstår jag.

Säkert ?
Jag tolkade ditt *första* inlägg som att du trodde att delay_50ms
anropades *1* gång mellan varje tecken, och inte *12* gånger !?

Och det var så vitt jag förstår inget fel i hur du satte breakpoints,
du fick ju rätt tid för delay_50ms.
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Inlägg av RasmusB »

Hmm. :)

En grej jag kan tipsa om för att slippa göra om liknande misstag är att rita ett flödesschema för programmet innan man börjar skriva koden. Lätt att röra ihop vilka rutiner som ska göra vad när koden växer och språket är nytt... :)
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

sodjan:
"Och det var så vitt jag förstår inget fel i hur du satte breakpoints,
du fick ju rätt tid för delay_50ms."


Nja, jag stegade igenom koden tills jag kom till första anropet av delay_50ms. Då flyttade jag ner markören till bsf E (dvs raden under anropet) och valde "Run to Cursor".

Felet var att jag inte tänkte på att jag kör med 4bitars kommunikation till displayen och därför anropar lcd_skriv två gånger för tecknen och två gånger för positionen. Det blir helt enkelt lite oöverskådligt att ha överblick på 400 rader kod på en 17"-skärm. :) Det är förresten därför som jag försökte (och lyckades) få igång en skrivare i en annan tråd. Jag brukar nämligen skriva ut koden för att få bättre överblick. :)


RasmusB:
Bra tips. När jag körde Basic så klarade jag att hålla det i huvudet, men nu kan det vara värt att testa.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Yepp - har man ingen superhjärna så MÅSTE man dokumenter, skriva flödessheman och så vidare...

EDIT: OT-Min felaktiga delay berodde bara på att jag räknade fel.....blandar man Hex och decimalt i samma uträkning så blir det FEL !!! :wacko:
Skriv svar