PIC18F - Oppdatering CCPR1 unngå uventede avbrudd

A

atferrari

Guest
Micro familien 18F Module CCP1 i sammenligne modus mot TMR1 i timer -modus. Innstilling: "toggle utgang pin (RC2) på match" tilstand. Min søknad laster for tiden alternativt CCPR1H: L med HALF_T1 og HALF_T2 og starter TMR1. (Det fungerer OK sånn). Prøver å følge hyppig råd mottas, for å la TMR1 kjøre alene og legge den neste verdien til CCPR1H: L, her er mitt spørsmål: Hvordan legge til de lave og høye byte av neste HALF_Tx, uten å risikere å få en uønsket kamp før begge er lagt til? I ekstreme tilfeller kan dette faktisk ville skje i min søknad. Testet. For andre innstillinger vet jeg hvordan du gjør det (endre CCP1M0) men ingen for "veksle på match". Enhver endring av en enkelt bit fra CCP1M3: CCP1M0 ville gå inn i en uønsket tilstand, så jeg forkastet det. Jeg synes dette problemet nevnt annet sted, men ingen løsning forklarte for denne saken. Jeg ønsker å beholde den "toggle på kampen setting".!: Hjelp verdsatt.
 
Hei, Hvis du får en fyrstikk og vippebryter RC Du kan også generere et avbrudd på samme tid og endre verdien i avbruddet rutine. Dette fungerer siden timeren vil bli klarert til på en kamp tilstand, og koden er rask nok til å oppdatere eller endre sammenligne verdien før den når en ny verdi. Best er å oppdatere den nye CCPR1, følg skrive orden forklart i dataarket, tror den første lave delen etterfulgt av høye delen. hilsen Paul.
 
Hola Paul, Det er ingen reccomended for å oppdatere CCP registre. Derfor mitt spørsmål. Det er TMR1 som har en reccomended sekvens som gjelder ikke her.
 
Hei, spiller det ingen rolle om du oppdaterer den i en interrupt rutine rett etter timeren gjorde få en reset!. Jeg gjør det samme, og det fungerer perfekt, første jeg oppdatere lave delen etterfulgt av høye delen. Paul.
 
Oppdatering på den måten, avhengig av verdiene, kan gjøre at vi får en kamp før jeg har tid til å oppdatere den høye delen. Det er akkurat det jeg ønsker å unngå. Manuell anbefaler ikke noen spesiell rekkefølge. Jeg skulle ønske det var mulig!
 
Hei, tror jeg du ikke forstår hva jeg mener!. Du trenger bare 2us etter avbruddet å oppdatere sammenligningsområdet registrer deg!. Avbruddet genereres av sammenlikne seg!. Du bør ikke begynne å oppdatere CCPR1 akkurat sånn!.
 

Welcome to EDABoard.com

Sponsor

Back
Top