Tengo un problema y espero que podáis echarme una mano. Llevo dos días buscando alguna solución por foros y páginas relacionadas pero no consigo nada.
El tema es el siguiente: Estoy haciendo un proyecto con una PIC16F628A, pero por necesidad de más memoria he decidido cambiar a una PIC18F26K22. Una vez hecha la migración todo funciona correctamente menos la rutina de tratamiento de interrupción RDA. No se que puede ser. He buscado por todos sitios algo parecido pero no encuentro nada.
Esta es la cabecera para la PIC16F628A:
La cabecera para la PIC18F26K22 es la siguiente:
Si alguien me puede guiar, se lo agradecería mucho!
El tema es el siguiente: Estoy haciendo un proyecto con una PIC16F628A, pero por necesidad de más memoria he decidido cambiar a una PIC18F26K22. Una vez hecha la migración todo funciona correctamente menos la rutina de tratamiento de interrupción RDA. No se que puede ser. He buscado por todos sitios algo parecido pero no encuentro nada.
Esta es la cabecera para la PIC16F628A:
Código:
#include <16F628a.h>
#include <crc.c>
#fuses NOWDT,INTRC_IO, NOPUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD
#use delay(clock=4000000, RESTART_WDT)
#use RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_B2,RCV=PIN_B1)
#byte PORTB = 0X06
#byte PORTA = 0X05
#byte RCSTA = 0X18
#byte TXSTA = 0X98
#byte PIR1 = 0X0C
#byte INTCON = 0X0B
#define ENABLE_RX RCSTA = 0b10010000
#define DISABLE_RX RCSTA = 0b10000000
La cabecera para la PIC18F26K22 es la siguiente:
Código:
#include <18F26k22.h>
#include <crc.c>
#fuses NOWDT,INTRC_IO, NOPUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD
#use delay(clock=4000000, RESTART_WDT)
#use RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_C6,RCV=PIN_C7)
#byte PORTC = 0XF82
#byte PORTB = 0XF81
#byte PORTA = 0XF80
#byte RCSTA1 = 0XFAB
#byte TXSTA1 = 0XFAC
#byte PIR1 = 0XF9E
#byte INTCON = 0XFF2
#define ENABLE_RX RCSTA1 = 0b10010000
#define DISABLE_RX RCSTA1 = 0b10000000
Si alguien me puede guiar, se lo agradecería mucho!