Anoniem
goeiendag, goeiendag.
Ben hier bezig met een jal projectje.
nou heb ik LCD display eraan. (na weken knooien heb ik het voor elkaar) nu heb ik ook 3 knopjes. omhoog, set en omlaag.
nu heb ik een teller. 0 tot 20 met 0.1 stapjes. dus bijvoorbeeld 15,6 nou is het probleem, omhoog wil wel dus van 0 tot 20 wil wel, hij gaat bij 20 ook automatisch weer naar 0 en begint over nieuw. dat werkt. als ik op bv: 15,6 sta dan kan ik met de omlaag knop wel naar 15,0 lopen maar dan gaat hij inplaats van naar 14,9 naar 16,0 en dat is de bedoeling niet. ik moet met 2 variabelen werken dus potin en potin1 moeten blijven bestaan.(potin1 zijn de tienden en potin zijn de helen) de knoppen staan aangegeven met down en up. wat doe ik verkeerd. hieronder een stuk van de code:
if down then potin1 = potin1 - 1 end if
if up then potin1 = potin1 + 1 end if
if potin1 > 9 then potin1 = 0 potin = potin + 1 end if
if potin1 < 0 then potin1 = 9 potin = potin - 1 end if
if potin < 0 then potin = 20 end if
if potin > 20 then potin = 0 end if
Ik heb vroeger geprogrammeerd maar ik ken geen "JAL"
Logisch gezien heb ik geen fout kunnen vinden.
Het is dus mogelijk dat JAL geen negatieve getallen kent en dat blijkt uit de uitvoering van uw programma. Immers eentje aftrekken van 0 geeft 255 zodat dan het statement potin>9 uitgevoerd wordt.
Ik weet niet tot hoeveel u wil tellen, maar ik doe een poging van 0 tot 19,9 met een genestelde "IF".
If UP
If potin1=9 and potin=19 then potin1=potin=0 endif endif
If potin1=9 and potin<19 then potin1=0 potin=potin+1 endif endif
potin1=potin1+1
endif
If Down
If potin1=0 and potin=0 then potin1=9 potin=19 endif endif
If potin1=0 and potin>0 then potin1=9 potin=potin-1 endif endif
potin1=potin1-1
endif
Voor de perfectie kunnen de twee regels:
"endif" en "If down"
vervangen worden door: "else"
Anoniem
bedankt, ga het morgen proberen. maar had nog een vraag, jal kent zo geen negatieve getallen maar ook geen 0,5 getallen of 0.5 getallen. Is er een variable die dat wel kan? ik heb nu een var byte. een var bit kan ook niet. is er een manier om wel naar een halve te kunnen en naar een min getal?
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 20 maart 2003 23:25:49 schreef Demuys Emile:
Ik heb vroeger geprogrammeerd maar ik ken geen "JAL"
...
Het is dus mogelijk dat JAL geen negatieve getallen kent en dat blijkt uit de uitvoering van uw programma.
Voor iemand die Jal niet echt kent vind ik de analyse knap. Voor de OP: de 'and' in Jal is de '&'. Voor het weergeven van negatieve en fractionele getallen: coderen. Neem bijvoorbeeld een byte variabele (veel keuze heb je niet), spreek af dat je voor nul de waarde 100 neemt, en voor iedere 1 erbij 2 bij de waarder optelt. Er zijn natuurlijk veel andere coderingen, bv een bit om het teken aan te geven.
Anoniem
het gaat bij mij om een PLL. dus de 16f84 moet een pll ic aansturen met i2c. en ik kan dus niet zomaar zeggen dat ik overal 100 bijop tel. dan zou ik later moeten delen door honderd en dan rond hij af op helen. maar ik ben al wel achter mijn telling. ipv potin < 0 heb ik nu potin > 250 en dat werkt.
ajoo