Reseta loop till en 16F628 krets ?
-
- Inlägg: 2
- Blev medlem: 3 april 2007, 18:06:43
- Ort: Stockholm
Reseta loop till en 16F628 krets ?
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
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
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.
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.
-
- Inlägg: 2
- Blev medlem: 3 april 2007, 18:06:43
- Ort: Stockholm
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
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
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.
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.