Soy nuevo en C y mi experiencia ha sido en PicBasic, la pregunta es
En PicBasic o en Basic existen los Alias. Es decir que puedo acceder
A cualquier punto de la variable en cualquier momento por ejemplo
Tengo la siguiente sub-rutina en Basic que puede leer un DipSwitch
Y almacena el contenido en variable < dipswt >, cuando los puertos están
Organizados en grupo de 4, 8, 2 no hay problema. Pero cuando están dispersos
En el puerto o en diferente puertos el caso es diferentes.
Read_sw:
dipswt=0 ‘ Limpia el contenido de la variable
dipswt.0=PORTA.2 ‘Almacena el contenido del PORTA.2 en dipswt.0
dipswt.1=PORTA.1 ‘Almacena el contenido del PORTA.1 en dipswt.1
dipswt.2=PORTA.4 ‘Almacena el contenido del PORTA.4 en dipswt.2
debug dipswt ‘ Imprime el valor total almacenado en < dipswt >
return
En C se me ocurre lo siguiente:
int Read_sw ( ) {
Int dipswt;
dipswt = 0;
bit_clear(dipswt,0);
if (input(PIN_A2))
bit_set(dipswt,0);
bit_clear(dipswt,1);
if (input(PIN_A1))
bit_set(dipswt,1);
bit_clear(dipswt,2);
if (input(PIN_A4))
bit_set(dipswt,1);
return (dipswt);
}
Sin embargo me resisto a creer en esto debe de existir un mejor método de asignación.
Estoy estudiando las estructuras y las uniones pero aun me cuesta comprender, menos aun los punteros.