En el caso de que los registros sean consecutivos, en este caso Porta A y B, el CCS permite crear lo siguiente:
	
	
	
		
Se crea un STRUCT con un registro de 16Bits.
Se crea un puntero de esa estructura que apunta a la dirección menos significativa, en este caso el Puerto A y listo, ya tenemos un tipo de dato nuevo que trabaja sobre los dos puertos A y B, siendo el puerto A el byte menos significativo y el Puerto B el Byte más significativo del nuevo registro creado de 16bits.
				
			
		Código:
	
	//Placa entrenadora PicEBasic (PIC16F88)
//Test puerto RS232, LCD, I/O
#include <16F88.h>
#device adc=10
#use delay(internal=8000000)
//#use delay (clock = 20000000) //Reloj a 20Mhz
//#FUSES HS         //Fast clock
#fuses NOMCLR
#FUSES PUT        //Power-up Timer
#FUSES BROWNOUT   //Brown-out reset 
#FUSES NOWDT      //No, Watchdog Timer 
#FUSES NOCPD      //No, Data EEPROM Memory Code Protection
#FUSES NOPROTECT  //No, (CP) Flash Program Memory Code Protection
#FUSES NOLVP      //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#BYTE PORTA = 0x05
#BYTE PORTB = 0x06
#BYTE TRISA = 0x85 
#BYTE TRISB = 0x86
#BYTE PIR1 = 0x0C
#Include "_FunctionesTmrBase.h"
#Include "DISPLAY 7SEGMENTOS 4 DIGITOS.h"
//#include "Flex_Lcd.c"
//#use rs232 (UART1, BAUD = 4800, PARITY=N, BITS=8, TIMEOUT=1)
#use fast_io (a)
#use fast_io (b)
//#use fast_io (c)
void main(){
   Setup_adc_ports(NO_ANALOGS);
   TRISA = 0b00000000;
   TRISB = 0b00000000;
   PORTB = 0b00000000;
   PORTA = 0b11010000;
   
   struct MyPort {
      Unsigned Int16 PORTAB;
   };
      
   struct MyPort *pPORTAB = &PORTA; //Apunta al puerto A, que será el Byte menos significativo del nuevo puerto unión Port A y B.
 
   while(true) {
          
      pPORTAB -> PORTAB = 0b1000000011111010; //Asigna valor al nuevo puerto. 
      
   }
}Se crea un STRUCT con un registro de 16Bits.
Se crea un puntero de esa estructura que apunta a la dirección menos significativa, en este caso el Puerto A y listo, ya tenemos un tipo de dato nuevo que trabaja sobre los dos puertos A y B, siendo el puerto A el byte menos significativo y el Puerto B el Byte más significativo del nuevo registro creado de 16bits.
			
				Última edición: 
			
		
	
								
								
									
	
								
							
							 
   
				 
						 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		