Sida 1 av 1

Reseta loop till en 16F628 krets ?

Postat: 3 april 2007, 18:13:57
av Nollställd
Hej!

Just nu kör vi tex en switch case sats som gör att en diod blinkar på olika sätt beroende på vilket läge en switch har.
Men när man switchar fram och tillbaka så är den någonstans i loopen istället för att börja från början varje gång.

Frågan är hur man kan få den att börja från början efter varje switch man gör, finns det något kommando eller kan man styra på något annat sätt ?

//Två stycken Nollställda noviser

Postat: 3 april 2007, 19:01:02
av v-g
Gör loopen mindre eller kör med interupt.

Postat: 3 april 2007, 19:05:09
av Icecap
Man kan göra programmet så att det gör rätt.

Att den väljer och sedan påbörjar en programsnudd som består av "lång tid" med en massa blinkningar betyder att ni har vald fel programmeringsteknik!

Ska den reagerar "omedelbart" få ni se till att antingen lägga in en kodsnudd som kollar brytaren ofta ELLER göra om hela sekvensen.

Jag brukar göra liknande med att ha en sekvensräknare som jag stegar upp och sedan kan man ha en rutin som känner av att brytaren bytar läge, om den gör det är det extremt enkelt att nolla sekvensräknaren och välja den ANDRA sekvensen.

Om sekvenserna består av olika data (lys x ms, släck y ms osv) kan man göra det vid att läsa en av 2 tabeller och utföra de instruktioner som finns där, alltså ett par tabeller som innehåller data som tolkas: lys i x ms/släck i y ms och när detta är utfört är det bara att stega till nästa steg och innan denna stegning kollar man brytaren, jämför med förra position och nollar sekvensräknaren vid behov.

Postat: 3 april 2007, 20:10:10
av Nollställd
ok, tack för svar. Men tyvärr är vi väldigt nybörjare på detta... så att hänga med på det där när det gäller att skriva koden är ju inte så lätt.

vi håller på och försöker göra ett litet trafikljus med 3 dioder och en switch.

tanken är att den ena dioden skall lysa helt i ena läget på switchen för att sedan switcha över och då skall diod 2 börja lysa någon sekund och sedan skall första och andra dioden slockna och 3 skall börja lysa.

Mvh Johan

Postat: 3 april 2007, 21:22:02
av Icecap
Men är det inte så att ett trafikljus faktisk SKA fullföra sin sekvens när den väl är startat?

Och sedan när den är i det läge kan den avkänna brytaren och återgå i en given sekvens, också den fast och tydlig.

Så när den väl har påbörjat en bytesekvens ska den sekvens utföras helt oberoende av brytarens ställning under tiden.

Postat: 3 april 2007, 23:43:06
av Micke_s
Nja, trafikljus går direkt till gult blinkande vid fel.

Postat: 4 april 2007, 06:59:41
av Icecap
Jag ser ingenstans att brytaren betyder "Fel".....

Kanske något som Nollställd har glömt att skriva något om?

Postat: 4 april 2007, 10:11:40
av sodjan
VAR ÄR *KODEN* ???