Shock Media

Navigatie

10 interrupt pinnen nodig - PIC

Forum > Schoolvragen > 10 interrupt pinnen nodig - PIC << Vorige | 1 | 2 | 3
Naam Bericht
ThieuV

Pic wordt geprogrammeert in C
flipflop

quote:
Op 15 augustus 2008 12:05:33 schreef ThieuV:
..om de 100ms een puls met duty-cycle van 50%. Dus is de frequentie 5Hz zeker? Ben aan het twijfelen, formule is 1/T = F dus 1/0.2.

Misschien bedoel je het anders dan je het schrijft, maar elke 100ms een puls is bij mij nog altijd 10Hz. 1/0.1=10
Als je bedoeld dat het signaal elke 100ms toggled (omklapt), dan heb je gelijk. Maar dan heb je weer niet elke 100ms een puls, maar een flank.
if (rst='1') then d <= '1' elsif (clk'event and clk='1') then d <= data end if;
ThieuV

Wel om de 100ms een puls van ongeveer 100ms dus is dat dan 0.2 voor 1 periode?

Hoe kan ik zorgen dat ik in C 2 keer in die 5hz controleer of het een 1 of 0 is? Dacht aan een gewone for-lus?
bprosman

Ik zou t met een interrupt routine doen die om de x milliseconden door een timer getriggerd wordt.

Groeten, Bram
De jongere generatie loopt veel te vaak zijn PIC achterna.
Videomodulator
Golden Member

quote:
Op 15 augustus 2008 17:24:19 schreef BobbyT:
[...]

Weet zo even niet wat g/pulse betekent maar ik zie bij de maximale flow iets anders staan. 0.5692 L/min. Daardoor is je maximale pulsfrequentie een heel stuk lager, wat de polling ten goede komt.

Of ik doe iets verkeerds..
Klopt helemaal, ik heb idd misrekend (dacht dat het per seconde was). Dat wil zeggen dat je maximale frequentie 60 keer lager ligt, dus 17Hz ipv 1kHz,
tussen 2 keer pollen heb je dan 60 keer meer tijd en dus instructies, dus in de vorige berekening (klok op 48MHz) heb je dan 6000*60 = 360000 instructies.
Voor een µC is dat een eeuwigheid, dat ding zal uit zijn neus zitten eten tot de volgende puls passeert.

Nu ik dit zie, laat ze maar allemaal gelijktijdig lopen, je PIC zal met gemak mee kunnen als je polling gebruikt.
[Bericht gewijzigd door Videomodulator op 16 augustus 2008 12:27:38]
AKA Naftebakje @Tweakers.net --- Zonder dwarsliggers geen spoor
flipflop

quote:
Op 16 augustus 2008 10:15:52 schreef ThieuV:
Wel om de 100ms een puls van ongeveer 100ms dus is dat dan 0.2 voor 1 periode?

Dan is je periode dus 200ms, 5 Hz inderdaad.

Ook in C zul je een main loop hebben. Je zult moeten weten hoe snel die loop is (moet je toch al om te weten of je toetsen vaak genoeg gescanned worden, of je display ge-update). Ik schat in dat dat vele malen sneller zal zijn dan 100ms zodat je het pollen gewoon in de main loop kunt doen. Maar het kan ook in een timer-isr zoals gezegd.
if (rst='1') then d <= '1' elsif (clk'event and clk='1') then d <= data end if;
ThieuV

Halo, iedereen wij zijn nu begonnen aan ons eindwerk maar we zouden wel willen dat alles te gelijk kan lopen.

De mogelijkheden zijn tot nu toe denk ik:
Iedere sensor een flipflop die wordt gereset als hij verwerkt wordt.

Iedere sensor een pic

Pollen?
Henry S.
Moderator

Try before you die: Het is onderdeel van een eindwerk om alle opties te onderzoeken.
Windhoos helemaal zat? Een ATX-voeding is geen labvoeding!
ThieuV

Maar ja is het mogelijk om nog te pollen? Dat is eigenlijk nog mijn vraag?
Babylon

Nee, dat is de vraag van je leraar. Moet je toch zelf wel kunnen bedenken, hoe moeilijk is dat om na te rekenen?
[Bericht gewijzigd door Babylon op 4 september 2008 22:09:07]
Heeft ook een Website. Nu doet ie het weer!
Videomodulator
Golden Member

quote:
Op 16 augustus 2008 12:27:15 schreef Videomodulator:
[...]Nu ik dit zie, laat ze maar allemaal gelijktijdig lopen, je PIC zal met gemak mee kunnen als je polling gebruikt.
quote:
Op 4 september 2008 21:10:01 schreef ThieuV:
Maar ja is het mogelijk om nog te pollen? Dat is eigenlijk nog mijn vraag?
Kijk eens wat ik berekend heb, reken het na. Maak daarna je programma voor 1 soort drank bedienen, en tel hoeveel instructies de drank-tel-en-doseer loop is (ik schat 200 à 300 instucties) en leg dat naast hoeveel instructies je hebt in een seconde, dan weet je of pollen al dan niet lukt (uitkomst is al bekend). Als het lukt, breid dan je routine uit naar alle dranken gelijktijdig bedienen, en hertel de lengte van je routine, dan zie je dat dat haalbaar is.

De berekeningen kan je best meteen uitschrijven, het is een perfect begin van je verslag.
AKA Naftebakje @Tweakers.net --- Zonder dwarsliggers geen spoor
Zoeken in topic << Vorige | 1 | 2 | 3