switch-case problem dsPIC
Postat: 21 februari 2011, 22:15:38
Hej!
Har problem med switch-case. Har case1,2,3,4,5.
Sekvensen av cases skall startas av att en bit på en inport går hög en så kallad kontroll bit.
Om den är hög så kör man case1 när den är färdig körs case2 när den är färdig körs case3
och när den är färdig körs case4 men om kontrollbiten fortfarande är hög så ska man
stanna i case4 så länge som den är hög och det kan vara hur länge som helst.
Om den däremot går låg så går case5 igång och sen är sekvensen av cases färdig.
Nu kan det hända att kontrollbiten går låg före den nått case 4, detta kan
hända i case 1,2 eller 3 om så sker så hoppar man direkt till case5.
Om kontroll biten skulle gå hög igen så upprepas sekvensen igen.
Har all kod uppe för alla cases och kan stega igenom dem via en räknare som
går via switch och på så vis emulerar sekvensen för att kolla att varje case
funkar som de ska.
Frågan är således hur får man denna sekvens att utföras enligt ovan med bara en bit som går hög?
Som jag förstått det så måste man ha en slags återmatning från varje case som signalerar
case byte men hur sammanför man det med en tidsoberoende kontrollbit?
Har försökt hitta info om detta på nätet så mycket jag bara kan men har inte haft turen
att hitta nått som jag kan ta lärdom ifrån för att implementera denna kontrollbit.
Har problem med switch-case. Har case1,2,3,4,5.
Sekvensen av cases skall startas av att en bit på en inport går hög en så kallad kontroll bit.
Om den är hög så kör man case1 när den är färdig körs case2 när den är färdig körs case3
och när den är färdig körs case4 men om kontrollbiten fortfarande är hög så ska man
stanna i case4 så länge som den är hög och det kan vara hur länge som helst.
Om den däremot går låg så går case5 igång och sen är sekvensen av cases färdig.
Nu kan det hända att kontrollbiten går låg före den nått case 4, detta kan
hända i case 1,2 eller 3 om så sker så hoppar man direkt till case5.
Om kontroll biten skulle gå hög igen så upprepas sekvensen igen.
Har all kod uppe för alla cases och kan stega igenom dem via en räknare som
går via switch och på så vis emulerar sekvensen för att kolla att varje case
funkar som de ska.
Frågan är således hur får man denna sekvens att utföras enligt ovan med bara en bit som går hög?
Som jag förstått det så måste man ha en slags återmatning från varje case som signalerar
case byte men hur sammanför man det med en tidsoberoende kontrollbit?
Har försökt hitta info om detta på nätet så mycket jag bara kan men har inte haft turen
att hitta nått som jag kan ta lärdom ifrån för att implementera denna kontrollbit.