Domanda

Ho appena finito la mia classe di microprocessori al college solo poche settimane fa, abbiamo programmato in assemblea solo. Abbiamo imparato una discreta quantità (IMHO) su interrupt.

Ecco la mia domanda: io sono la programmazione in C usando il compilatore HiTech per il 16F684, nella sezione scheda tecnica discutere gli interrupt ( PIC 16F684 Scheda Sezione 12.4) si dice che il programma andrà al 0x0004 vettore di interrupt. Utilizzando l'assemblea nella mia classe di microprocessori avremmo semplicemente impostare una dichiarazione .org indicando che l'indirizzo e scrivere l'assemblaggio necessaria di seguito in modo che quando si verifica l'interruzione sarebbe saltare lì e correre. Posso capire che in assemblaggio, ma quando programmo in C non credo ho controllo su dove parti di programma sono posti in memoria, che presenta un problema. Non posso capire come posizionare comandi al interrupt in C.

Per favore fatemi sapere se ho bisogno di chiarire!

È stato utile?

Soluzione

Questa FAQ Microchip ha alcune informazioni su come utilizzare gli interrupt in HiTech C .

Altri suggerimenti

HiTech C estende il linguaggio C con il tipo di funzione interrupt:

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

Si dovrebbe ottenere il manuale del compilatore. Credo che il manuale per il Pic-Lite è gratuito per il download, almeno lo era quando ho scaricato la mia copia po 'di tempo nel 2001.

Dovrete scavare nella documentazione di HiTech, ma spesso i compilatori hanno parole chiave speciali per definire funzioni di interrupt. Il compilatore, o il sistema runtime, deve fare i conti con una funzione chiamata da un interrupt appositamente: Oltre alla configurazione del vettore, il compilatore (o sistema runtime) deve conservare tutti i registri. Potrebbe non avere a che fare per un normale non interrupt, funzione.

Il manuale sarà il vostro amico.

Il CCS compilatore per PIC utilizza # int_ * direttive del compilatore o 'attributi' sulle funzioni di gestione interrupt per i vari interrupt fonti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top