Página 1 de 1

UART ou RX8 com recepção de dados via ISR, Resolvido

MensagemEnviado: 17 Abr 2008 16:53
por chipselect
Gostaria de saber se existe alguma forma de criar, em linguagem C, uma rotina para atender a interrupção do módulo RX8 ou do RX do UART para que execute minha rotina e não a rotina da API do bixo.

Criei um handler no arquivo main.c como ISR, coloquei ela no boot.tpl, mas o PSOC Design continua botando a linha "ljmp _RX8_1_ISR" junto com a chamada à minha rotina, e isso tá dando pau no link.
----------------------------------------------------------------------------------
A minha função ISR no fonte em C ficaria parecido com isso (supondo que o projeto não usa MAC):

#pragma interrupt_handler UART1RxIsr
...
void UART1RxIsr(void) {
// lê e processa o byte recebido
}

----------------------------------------------------------------------------------
a linha da tabela de irq para o RX8 do boot.asm teria que ficar assim:

org 2Ch ;PSoC Block DCB03 Interrupt Vector
ljmp _UART1RxIsr
reti
----------------------------------------------------------------------------------
mas tá saindo assim:

org 2Ch ;PSoC Block DCB03 Interrupt Vector
ljmp _RX8_1_ISR
ljmp _UART1RxIsr
reti
----------------------------------------------------------------------------------
o PSOC Designer enxerido insiste em enfiar o _RX8_1_ISR

Onde eu configuro pra ele não por isso?

Resolvido - basta tirar a marca "`@INTERRUPT_XX`" do boot.tpl