SEBAS22:
Inicialmente te comento que la instruccion serin2 recibe realmente bytes
por tratarse justamente de un protocolo serie y los 8 bits que componen
un byte lo almacena en una variable que le definas, asi que vos deberias
mandar 8 byte con los correspondientes bit de parada,paridad inicio,etc.
Esto es lo que hace cualquier terminal de comunicaciones.-
Ahora,si tu idea es luego procesar esos 2 bytes (16 bits),para calcular
un checksum, teniendolo en 2 variable distintas aritmeticamente los podes
sumar.-
Tenes que tener en cuenta que lo que recibe serin queda almacenado
en un equivalente ascii del valor.-
Te mando un pequeño ejemplo:
dato var word ;dato tendra 16 bits
a var byte ;1er valor a recibir
b var byte ;2do valor a recibir
cheksum var byte ;el checksum
inicio:
serin2 PORTA.1,188,[ a, b];si mandas los valores los almacena en a y b
cheksum= a+ b ;saca el checksum
dato.highbyte=a ;almacena el byte de a en la parte alta del word dato
dato.lowbyte=b ;almavena el byte de b en la parte baja del word dato
serout2 porta.0,188,[bin cheksum,"-",bin16 dato,13,10]; te muestra el
;valor de checksum
;y los bits de dato
goto inicio ;espera 2 nuevos bytes
Espero que entiendas la rutinita
Jorge