No tengo mucho tiempo programando en ccs habia programado anteriormente en picbasic y me he encontrado con un problema al momento de querer cambiar los pines especificados por el pic16f877a para tx y rx que que serian el pin c6 y c7, he querido cambiarlos por otro por ejemplo para tx el pin d0 y rx el pin d1 pero como uso esta interrupción "enable_interrupts(int_rda)" creo que ese el problema que no me deja asignar otros pines para comunicación serial ya que si asigno otros pines difentes a los especificados por el pic el programa no funciona en el pic, no se si se pueda modificar o agregar algo en el código para poder utilizar cualquier pin como entrada o salida de datos por puerto serial no se si me pudieran ayudar de favor para saber que tengo que corregir en el código. El programa lo que hace es leer los números tecleados por el usuario y eso hace que el puerto b encienda diferentes led en código binario si por ejemplo se teclea 2 se prende el pin b1, dejo el código que estoy realizando:
Código:
#include <16F873A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,NOPUT,NOBROWNOUT,NOCPD,NODEBUG,NOWRT
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_d0, rcv=pin_d1, bits=8, parity=N)
#use standard_io(B)
int valor;
#int_rda
void serial_isr()
{
valor=getc();
}
void main()
{
enable_interrupts(global);
enable_interrupts(int_rda);
for( ;; )
{
output_b(valor);
}
}
Última edición: