Pergunta

Acabei de terminar minha classe Microprocessadores na faculdade apenas algumas semanas atrás, não temos programado em assembly somente. Nós aprendemos uma quantidade razoável (IMHO) sobre interrupções.

Aqui está a minha pergunta: Eu estou programando em C usando o HiTech Compiler para o 16F684, na seção folha de dados discutir as interrupções ( PIC 16F684 Datasheet Seção 12.4) diz que o programa irá para o vetor de interrupção 0x0004. Usando a montagem na minha classe microprocessadores nós simplesmente configurar um apontar declaração .org para esse endereço e escrever o necessário montagem abaixo para que quando a interrupção ocorre seria saltar lá e correr. Eu posso descobrir isso na montagem, mas quando eu programar em C Eu não acredito que eu tenho controle sobre onde as partes do programa são colocadas na memória, que apresenta um problema. Eu não consigo descobrir como comandos lugar na interrupção em C.

Por favor, deixe-me saber se eu preciso esclarecer!

Foi útil?

Solução

Este FAQ por Microchip tem alguma informação sobre o uso de interrupções sob HiTech C .

Outras dicas

HiTech C estende-se a linguagem C com o tipo de função interrupt:

void interrupt my_interrupt_handler (void) {
    handle_interrupts_here();
}

Você realmente deve obter o manual para o compilador. Eu acredito que o manual para o Pic-lite é gratuito para download, pelo menos era quando eu baixei minha cópia de algum tempo em 2001.

Você vai ter que cavar a documentação HiTech, mas muitas vezes compiladores ter palavras-chave especiais para definir funções de interrupção. O compilador, ou o sistema de execução, tem de lidar com uma função chamada por uma interrupção especialmente: Além de configurar o vetor, o compilador (ou sistema de execução) tem para preservar todos os registros. Pode não tem que fazer isso para um não-interrupção, função normal,.

O manual será seu amigo.

O CCS compilador para PICs usos # int_ * diretivas de compilador ou 'atributos' sobre funções de manipulação de interrupção para os vários interrupção fontes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top