Sida 2 av 2
Postat: 12 juli 2007, 16:15:38
av thompa89
Config i sjävla koden eller programmet?
Postat: 12 juli 2007, 16:29:35
av sodjan
Det får du kolla själv (som har verktyget framför dig).
Eller vänta till någon som kör PicBasic "hör av sig"...
I assembler sätter man alltid config bitarna med __CONFIG
direktivet, men i andra miljöer envisas man ibland med att
ha det någonstans bland menyerna. Som sagt, du får kolla
i ditt verktyg var man gör det. Det finns väl dokumentation ?
En anledning att börja PICs med verktyg som alla kan...

Postat: 12 juli 2007, 20:18:57
av thompa89
Har fått det funka nu!
Nu blir det lite mer avancerade program
Kod: Markera allt
@ device pic16F648A, hs_osc, wdt_on, mclr_on, lvp_off, protect_off
DEFINE OSC 20
loop: high portb.1
pause 500
low portb.1
pause 500
goto loop
end
Postat: 12 juli 2007, 20:41:46
av sodjan
> Har fått det funka nu!
Jaha ???
Och vad var det då ??
Om du ska fortsätta att få svar, så får du nog också
tala om vad det var för fel, annars är det ingen
som orkar svara i fortsättningen. Dessutom bidrar
du ju inte alls till forumet med lösningen på ditt problem.
Slutligen, det är ganska osannolikt att du vill ha WDT_ON...
Postat: 12 juli 2007, 21:05:17
av thompa89
Hmm ...??
Ville bara säga att det funka
Sen postade jag koden som funkade.
Varför ska man inte ha WDT_ON?
Postat: 12 juli 2007, 21:42:07
av v-g
Det är watchdog timern. När den "slår runt" så går den till interupt vilket du inte önskar just nu.
Postat: 13 juli 2007, 00:14:37
av bengt-re
nej. Wdt kan nog vänta. Ett problem med högnivåspråken är att man inte vet om kompilatorn genererar clrwdt eller ej. Och om svaret är ja, när?
Postat: 13 juli 2007, 00:58:40
av sodjan
> Ville bara säga att det funka...
Visst bra, men för mig som har föreslagit olika lösningar är det
väldigt intressant att få veta *varför* det funkar.
> Sen postade jag koden som funkade.
Visst, jättebra, men *varför* funkar den nu ?
Det måste väl vara *någon* skillnad mot tidigare i koden ?
Vad har du ändrat ?
> När den [WDT] "slår runt" så går den till interupt...
Nej nej, den gör **RESET** (och sätter en flagga så att man vet att det var ett WDT-reset).
Hur som helst, stäng av WDT, speciellt om du inte varför den är på.
Postat: 13 juli 2007, 08:42:57
av Pjoms
> "Visst, jättebra, men *varför* funkar den nu ?
Det måste väl vara *någon* skillnad mot tidigare i koden ?
Vad har du ändrat ?"
I den fungerande koden har han ju satt ett antal bitar. Jag skulle gissa på att 'hs_osc' var vad som fattades för att få den att snurra igång.
Postat: 13 juli 2007, 11:05:11
av thompa89
sodjan skrev:
Vad har du ändrat ?
Ganla koden..
Kod: Markera allt
loop: high portb.1
pause 500
low portb.1
pause 500
goto loop
end
Nya fungerande koden..
Kod: Markera allt
@ device pic16F648A, hs_osc, wdt_off, mclr_on, lvp_off, protect_off
DEFINE OSC 20
loop: high portb.1
pause 500
low portb.1
pause 500
goto loop
end
Alltstå, jag har lagt till det här..
Kod: Markera allt
@ device pic16F648A, hs_osc, wdt_off, mclr_on, lvp_off, protect_off
DEFINE OSC 20
Postat: 13 juli 2007, 11:15:39
av sodjan
OK, då är det klart.

Du hade alltså helt missat device och config inställningar.
Det borde vara det första som manualen tar upp...

Konstigt att du kunde bygga koden alls utan felmeddelanden
utan "device" angivet...
Postat: 13 juli 2007, 11:26:26
av Pjoms
Jag kör PIcbasic Pro, och använder MPLAB som miljö. Där gäller att om man inte anger device och/eller config i koden så används dom inställningar som finns under menyn "Configure".
Jag har för mig att första gången man kompilerar utan att config-bitarna är satta i koden så får man en varning. Kör man vidare efter detta "vet man vad man gör"...kanske...
