#include <16f873a.h> //pic a utilizar
#fuses HS,NOWDT,NOPROTECT,PUT,NOLVP,NOBROWNOUT //ordenes para el programador
#use delay (clock=20000000) //clock=20Mhz
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7, stream=Modem)
#use rs232(baud=9600, xmit=PIN_B1, rcv=PIN_B0, stream=Modulo)
#include <stdio.h>
char Cad,Cad2;
#int_rda
void serial_isr() {
if(kbhit()) { //Esto es para que no se te cuelgue el pic
Cad=fgetc(modem);
fputc(fgetc(),modem);
}
}
#int_EXT
void ext_isr() {
if(kbhit()) { //Esto es para que no se te cuelgue el pic
Cad2=fgetc(Modulo);
fputc(fgetc(),modulo);
}
}
void main()
{
ext_int_edge(H_TO_L);
enable_interrupts(int_ext);
enable_interrupts(int_rda);
enable_interrupts(global);
port_b_pullups(TRUE);
output_low(PIN_C0);
output_low(PIN_C1);
while(TRUE){
fprintf (modem,"hola a uno");
fprintf (modulo,"hola a uno");
if(cad==0x03){
output_high(PIN_C0);
}
else if(cad==0x04){
output_low(PIN_C0);
}
if(cad2==0x01){
output_high(PIN_C1);
}
else if(cad2==0x02){
output_low(PIN_C1);
}
}}
La que va en el pin RB0 y RB1 debes colocarle que es por softwarete refieres que tengo que ponerle al #USE el FORCE_SW ??
ésta comunicación serial no dispone de la función kbhit()esta es solo a la generada por soft osea la de #int_EXT o te refieres a ambas comunicaciones ??
hola suky, antes de todo, gracias por estar siempre aclarando las dudas.
te comento que no te entiendo la parte que dices:
sukyCitarLa que va en el pin RB0 y RB1 debes colocarle que es por softwarete refieres que tengo que ponerle al #USE el FORCE_SW ??
lo otro donde dices:
suky:Citarésta comunicación serial no dispone de la función kbhit()esta es solo a la generada por soft osea la de #int_EXT o te refieres a ambas comunicaciones ??
eso gracias de antemano
stream is the stream id assigned to an available RS232 port. If the stream parameter is not included, the function uses the primary stream used by getc().
Hola.
La funcion kbhit() si se puede usar con la USART por software, lo que hay que colocar es el STREAM obligatoriamente para que el compilador recurra a la USART correcta.Citarstream is the stream id assigned to an available RS232 port. If the stream parameter is not included, the function uses the primary stream used by getc().
Saludos