Tips voor in de toekomst!

In de loop van de tijd ga je herkenen dat je eigenlijk dubbele code hebt, en ook, en dat is nog het belangrijste, dubbel werk hebt om het te onderhouden.

Tevens, en in dit geval zal het niet zeveel uitmaken, maar als je programma flink wat groter wordt, zal je code met de dubbele code, meer geheugen in beslag nemen.

Stel je zelf vragen. .Wat ga je doen als er de volgende keer je drie, vijf of tien vragen over je PCB krijgt?
Of je maakt een vooruit/ achteruit knoppen om tussen je 3 of meer keuzen heen weer wilt lopen. Denk maar aan tijd instelling of op je printer.

Ik bedoel, als je iets maakt, probeer het op verschillende manieren te benaderen. Zal je heel veel van leren.
Succes.

Zal ik zeker onthouden !
Dankuwel iedereen voor jullie hulp

nu loop ik weer op iets ..


WHILE 1 = 1
    PRINT AT 1,3, "Kleine PCB ?"
    Print at 2,3, "Druk op  1"
    
 
    FOR i = 1 TO 100
        DELAYMS tijd2 / 100
        IF Knop1 = uit THEN GOTO Klein
        
        If Knop2 = uit then goto groot
        
    NEXT i
 
    CLS
    PRINT AT 1,4, "Grote PCB ?"
    Print at 2,4, "Druk op 2"
    
 
    FOR i = 1 TO 100
        DELAYMS tijd2 / 100
        IF Knop1 = uit THEN GOTO klein
        
        If Knop2 = uit then goto groot
     
    NEXT i    
WEND
 
klein:

CLS
PRINT AT 1,1, "Tijd.."
Print at 2,1, "Doorgaan?"

groot:

CLS
print at 1,1, "hallo"

dus nu zou ik 2 verschillende knoppen willen maar hij kiest altijd voor "groot"

[Bericht gewijzigd door Henry S. op (85%)]

Je code sprint nu netjes naar klein, maar gaat vervolgens gewoon vrolijk verder bij groot. Je tekst "Tijd..." wordt zo snel weer overschreven dat je hem niet ziet. De oplossing is om op het einde een label te plaatsten en daar heen te springen:


klein:

CLS
PRINT AT 1,1, "Tijd.."
Print at 2,1, "Doorgaan?"
GOTO einde

groot:

CLS
print at 1,1, "hallo"

einde:

DANKU !!!

idd hij leesde dus gewoon het programma van kop tot teen en voerde het gewoon uit
had dit ook al gelezen op picbasic maar heb er gewoon niet aan gedacht
Nogmaals Danku :D

Weet er perongeluk iemand de volledige versie van Proton IDE ? want heb nu de Lite versie en kan maar maximum 50 regeltjes schrijven :(

[Bericht gewijzigd door Henry S. op (27%)]

Die zul je moeten kopen ! http://www.crownhill.co.uk/level3.php?cat=1

of : http://www.voti.nl/winkel/p/PIC-ProtonPlus.html

[Bericht gewijzigd door Shiptronic op (19%)]

Op 5 augustus 2012 22:28:18 schreef Kjell95:
en kan maar maximum 50 regeltjes schrijven :(

Misschien kan dit je een dag verder helpen, wat dubbele code eruit. Code schrijven is een uitdaging en zeker met een max van 50 regels. ;-)



DIM i as BYTE
aantVragen = 2
start: 

WHILE knop1 = knop2
    FOR i = 1 TO tijd2 * aantVragen
        SELECT i
            CASE tijd2               
                PRINT AT 1,3, "Kleine PCB ?"
                Print at 2,3, "Druk op  1"
            CASE (2 * tijd2)
                PRINT AT 1,4, "Grote PCB ?"
                Print at 2,4, "Druk op 2"
            CASE ELSE
                DELAYMS 1
        ENDSELECT
    NEXT i
WEND
CLS
IF Knop1 = uit THEN
    PRINT AT 1,1, "Tijd.."
    Print at 2,1, "Doorgaan?"
else if Knop2 = uit 
    print at 1,1, "hallo"
else GOTO Start
endif

@Shiptronic : pff zo duur :p
@ Lord Anubis : hhe das al een heel stuk eraf :p dankje

Op 5 augustus 2012 22:20:31 schreef Kjell95:
Weet er perongeluk iemand de volledige versie van Proton IDE ?

Lees dit eens!

Op 6 augustus 2012 20:46:58 schreef Kjell95:
@Shiptronic : pff zo duur :p

Er zijn genoeg alternatieven: Swordfish, JAL, Amicus etc...

Henry , ik vraag toch niet voor een crack of dergelijke?

Je vroeg naar de bekende weg...
Dit had je waarschijnlijk al gelezen.

Op 6 augustus 2012 20:46:58 schreef Kjell95:
@Shiptronic : pff zo duur :p

Af en toe goedkoper bij Vraag en Aanbod. Je kunt ook voor zo'n myamicus bordje gaan (of dezelfde PIC gebruiken als die daar op zit), dat is flink goedkoper.

BASIC is wel goed om mee te leren programmeren omdat het zo makkelijk is. Later kun je alsnog overgaan op een andere taal, basisprincipes zijn toch gelijk (hoe maak je lussen?, wat is nette code en wat absoluut niet? Hoe werkt de hardware van mijn microcontroller? Dat soort dingen zijn taalonafhankelijk)

Voila heb het aangeschaft :)

nu had ik nog een vraag

weet iemand of je 2 pic16F628A 's kan linken met elkaar zodat ze al 1 werken?
of mss een alternatief dat ik zelf ook nog kan programeren?
ik heb namelijk ingangen te weinig .. :(

Alvast bedankt

Als 1 zullen ze nooit gaan werken, je kunt ze wel serieel koppelen, zodat de ene weet wat de andere doet...
Je kunt er ook een i/o extender (bijv. MCP23017) aan hangen, of nog beter, een geschikte pic met meer i/o kiezen.

hmm spijtig :(

en hoe kan ik dan best zo'n pic naar mijn wensen uitkiezen ? of moet ik gewoon kijken bij voti dat hij het gewenste aantal ingangen en uitgangen heeft?

In de Microchip Product Selector kun je opgeven wat je zoekt, en dan rollen daar wat chips uit... ;)

Of gebruik een schuifregister of I/O extender. Om daar nu weer een hele 2e PIC tegenaan te gooien is overkill...

maar is het mogelijk om gewoon met een A poort een schakelaar aantesluiten?
want ik zit nu met 2 schakelaartjes en een Lcd scherpmje en mijn B poorten zijn al direct op :(

Ja hoor, je moet alleen externe pullups/pulldowns aansluiten.
Kijk wel even in de datasheet welke je allemaal als input kan gebruiken.

Oke super heb er 1tje gevonden !

MAAR ! ik heb nu een probleem ..

mijn bumbleBee zegt als ik wil downloaden naar de Pic: "Connected target device does not match selected target Returned ID code : 0x3FFF "

kan iemand mij helpen :'(

Waarschijnlijk een draadje los, pb6, pb7 of mclr...

Dacht ik ook maar dat is het niet heb heel het schema opnieuw gemaakt op mijn breadboard maar nog steeds geen vordering :(

Gevonden :D
er zat een pinnetje scheef op de rs232 ingang van mijn pc !

uhm, dan zou ik eerder verwachten dat je helemaal geen communicatie hebt met de programmer...

Jha hehe :) toch was het zo maar nu is alles terug recht dus is wel goed denkik :)