andronikus Posted October 29, 2006 at 01:18 PM Report #60742 Posted October 29, 2006 at 01:18 PM Boas, (A utilizar PIC18F258 e Hi-TIDE) Pretendo gerar um sinal PWM com um periodo de 20ms. A ideia é utilizar um Timer (TIMER0) para fazer a contagem do tempo.... A interrupçao deste TIMER deve estar activa. Na rotina de serviço à interrupção deve ser colocado o pino RB0 a "1" ou a "0" conforme o estado anterior deste pino. void interrupt isr(void) { if(RA0 == 0) RA0 = 1; else RA0 = 0; TMR0IF = 0; } O meu main é este: void main(void) { INTCON = 0b11100000; TMR0IP = 0; TMR0L = 195; // Valor de contagem do TIMER T0CON = 0b11000111; // Byte de configuração while(1); } Mas parece que isto não está a funcionar.... Agradeço opiniões cumps
Psicopunk Posted November 29, 2006 at 12:36 PM Report #67555 Posted November 29, 2006 at 12:36 PM estas a usar algum IDE para programar? estive a ver os registos e parece-me estar bem. Alguns dão para observar as interrupçoes a acontecer e o estado dos bits de registos e é mais fácil fazer o debug. tenta incializar o TMR0IF a 0 no main; e alem de k TMR0IF nao devia estar td junto?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now