Okej. Då förstår jag varför det inte fungerade. Ibland kommer pulserna med kortare intervall än 0,5 sekunder. behöver jag då en 16-bitars variabel på overflow räknaren? Om det går snabbare än 0,5s så används väl inte overflow variabeln? Då borde det väl inte ha någon betydelse?
mvh Joakim
Sökningen fann 18 träffar
- 1 april 2009, 07:58:38
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
- 31 mars 2009, 20:46:33
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Hej. I interruptrutinen ingår följande. För att få det korrekta värdet måste man väl multiplicera overflow med timertiden det tar för ett overflow? Är informationen från ccp registren binärt eller måste man räkna om de för att kunna lägga till overflow? Pulse_Now.BY[0] = CCPR1L; Pulse_Now.BY[1] = CC...
- 5 mars 2009, 12:34:01
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Hej!
Tack än en gång. Nu verkar det som att det fungerar och jag ska ta och skriva en medelvärdesalgoritm.
Det verkar alltså som det fungerar nu, värdena är stabila och positiva i rätt storlek. Men vad gör egentligen det du skrev med (WORD) innan?
Tack Mvh
Joakim
Tack än en gång. Nu verkar det som att det fungerar och jag ska ta och skriva en medelvärdesalgoritm.
Det verkar alltså som det fungerar nu, värdena är stabila och positiva i rätt storlek. Men vad gör egentligen det du skrev med (WORD) innan?
Tack Mvh
Joakim
- 3 mars 2009, 16:56:11
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Okej. Men då skall jag alltså försöka skriva ut till LCD:n utan att använda den färdiga funktionen " LongToStr()"? För det är väl den som förstör allt antar jag? För att lösa detta tänkte jag att det kanske går att använda en pekare för att göra en egen omvandling från long till char. Men ...
- 25 februari 2009, 15:32:10
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Hej.
Okej, det var tråkigt att höra. Men tack för din förklaring.
Finns det något annat sätt att få det att fungera utan att behöva göra om allt? Det känns som att det är väldigt nära att allt ska fungera nu så det hade varit trevligt om någon kunde förklara hur man kan lösa detta?
Mvh Joakim
Okej, det var tråkigt att höra. Men tack för din förklaring.
Finns det något annat sätt att få det att fungera utan att behöva göra om allt? Det känns som att det är väldigt nära att allt ska fungera nu så det hade varit trevligt om någon kunde förklara hur man kan lösa detta?
Mvh Joakim
- 18 februari 2009, 11:43:48
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Hej. Tack för ditt svar och din beskrivning ännu en gång :tumupp: Jag har funderat lite på hur det fungerar med overflow räknaren eftersom jag ibland får negativa värden. Så jag provade ett möjligt scenario med papper och penna för att se om jag kunde få ett negativt värde. Om jag inte har tänkt hel...
- 17 februari 2009, 13:27:23
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
okej. Tack för din snabba beskrivning. Då förstår jag nog lite bättre.
Men spelar det någon roll om CCPR1L kommer före CCPR1H? Borde det inte vara tvärt om?
Men spelar det någon roll om CCPR1L kommer före CCPR1H? Borde det inte vara tvärt om?
Mvh JoakimPulse_Now.BY[0] = CCPR1L;
Pulse_Now.BY[1] = CCPR1H;
Pulse_Now.BY[2] = Overflow;
- 17 februari 2009, 12:58:44
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Hej. Nu fungerar det med att den skriver ut och uppdaterar värden på LCD:n. Det konstiga är att den skriver ut minustal ibland. Det hade varit grymt om du kunde förklara hur detta fungerar? På vilket sätt får den den ihop overflow så att tiden blir rätt? Pulse_Now.BY[0] = CCPR1L; Pulse_Now.BY[1] = C...
- 16 februari 2009, 12:18:52
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Hej. Tack för ditt inlägg och ditt fina program. Jag har gjort om det så det passar med min PIC och LCD :tumupp: Jag är lite osäker på hur jag räknar ut hur ofta det blir overflow? I ditt fall skrev du 7 när du har en intern 4MHz klocka? Vad gör CMCON? Edit. På min PIC finns det CM2CON1 som är assoc...
- 12 februari 2009, 14:01:14
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Hej. Jag får ursäkta mig. Jag är som sagt nybörjare och har lite svårt med programmeringen. Något jag inte förstår är hur man gör en ISR? Det sista du skrev kan jag inte riktigt sätta mig in i och förstå. Är det såhär man ska göra? while(1) { while (!PIR1.CCP1IF){} Time_Now.Byte[1] = CCPR1H; Time_No...
- 7 februari 2009, 11:15:39
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Men om nu problemet är att timern går runt och man ska räkna antalet overflow. Jag tror inte riktigt jag förstår hur ni menar. Men är det typ såhär eller är jag helt fel ute? while(1) { while (!PIR1.CCP1IF){} Time_Now.Byte[1] = CCPR1H; Time_Now.Byte[0] = CCPR1L; PIR1.CCP1IF = 0; Period = Time_Now.Wo...
- 4 februari 2009, 18:36:02
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Hej. Nu har jag provat med en LED som du sa. Jag har nu kommit fram till att programmet stannar i "while (!PIR1.CCP1IF){}" efter att den har gått ett varv. Den kör inte vidare. :( Så nu undrar jag hur detta kan vara möjligt? Finns det ingen som har haft det här problemet tidigare eller vet...
- 1 februari 2009, 20:31:43
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Okej. Jag vet att det inte sker någon uppdatering eftersom det alltid står samma värde på LCDn. Det är bara när tungelementet går förbi för första gången som den får ett värde, sedan händer något konstigt. Här är hela programmet så som du skrev förut Icecap. Men det fungerar som det gjorde innan. Ba...
- 1 februari 2009, 19:12:51
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Okej. Men hur gör jag då för att vara säker på att nolla den flaggan? Kan man inte nolla adressvärdet så att man är säker på att kompilatorn gör rätt?
MHV Joakim.
MHV Joakim.
- 1 februari 2009, 18:16:16
- Kategori: Allmän Elektronik
- Tråd: Enkel hastighetsmätare (programmeringsproblem)
- Svar: 37
- Visningar: 3672
Re: Enkel hastighetsmätare (programmeringsproblem)
Hej.
Jag har nu provat det som du skrev Icecap. Koden fungerar fint men resultatet blir likadant som tidigare. Jag får fram ett värde men ingen uppdatering sker. Jag får bara fram ett värde varje gång och programmet kommer inte vidare. Kan detta bero på overflow?
MVH Joakim
Jag har nu provat det som du skrev Icecap. Koden fungerar fint men resultatet blir likadant som tidigare. Jag får fram ett värde men ingen uppdatering sker. Jag får bara fram ett värde varje gång och programmet kommer inte vidare. Kan detta bero på overflow?
MVH Joakim
