Pessoal, estou usando o MPLab onde, para habilitar uma interrupção qualquer usa-se "enable_interrupts(INT_XXX)". Preciso habilitar o Timer1, então neste caso ficaria "enable_interrupts(INT_TIMER1)". Isso funciona perfeitamente. Porém, com objetivo de tornar o código compatível com outros compiladores, estou tentando usar sempre os registradores diretamente para habilitar/setar/desabilitar as coisas. Neste meu caso a habilitação do Timer1 seria por meio do registrador T1CON (ENDEREÇO 10h) conforme mostra a figura anexa. Meu código fica mais ou menos assim:
Alguém sabe o motivo disso não funcionar com o registrador diretamente?
- Código: Selecionar todos
#include <16f73>
#include <...>...
#fuses HS, NOWDT
.
.
.
// Registrador em questão
#byte T1CON = 0x10
.
.
.
void main()
{
// Setando o bit de T1CON que DEVERIA habilitar o Timer1, mas não habilita
T1CON = 0x01;
// Se colocar isso abaixo, aí sim habilita o Timer1. Mas "T1CON = 0x01;" também deveria habilitar...
enable_interrupts(INT_TIMER1)
while (true) {
}
}
Você não está autorizado a ver ou baixar esse anexo.