Para realizar la comunicación serial entre dos pics se usará la función serin para el caso de datos de recepción y serout para el caso de transmisión.
La sintaxis de la función serin es:
Serin pin, velocidad, variable
La sintaxis de la función serout es:
Serout pin, velocidad, [variable]
En PBP es necesario incluir la librería modedefs.bas cuando se realiza comunicación serial.
El programa para el micro transmisor es:
include "modedefs.bas" trisb=0 portb=0 serout portb.0,T2400,["A"] end |
El programa para el micro receptor es:
include "modedefs.bas" entrada var byte trisb=1 serin portb.0,T2400,entrada end |
La velocidad T2400 significa: 2400 baudios en valores sin invertir (True).
La siguiente figura muestra el resultado de la simulación de este programa:
Es necesario establecer la velocidad de envío del virtual terminal a 2400.
Mejorando un poco el programa, se enviará una palabra y luego una secuencia de números. Modificamos el programa de transmisión de la siguiente manera:
include "modedefs.bas" n var byte trisb=0 portb=0 serout portb.0,T2400,["INICIO"] pause 500 for n=1 to 10 serout portb.0,T2400,[#n] pause 500 next serout portb.0,T2400,["FIN"] end |
Para el programa de recepción se añade un LCD para mostrar los datos recibidos por el micro de recepción:
include "modedefs.bas" entrada var byte |
El resultado de estos programas lo muestra la siguiente figura:
No response to “COMUNICACIÓN SERIAL PIC A PIC”
Publicar un comentario