Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2015, 14:34
Avatar de ElenaJuarez
ElenaJuarez
 
Fecha de Ingreso: febrero-2015
Ubicación: Buenos Aires
Mensajes: 8
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Duda sobre puertos y uniones en C

Hola hola, buenas tardes. Tengo una duda con respecto a el ingreso de datos por puertos. En general, en los programas, al ingresar información por un puerto, se cuenta con el bit de sincronismo para validar los datos y otro de fin.

por ejemplo, ingreso los siguientes datos

|__|__ |__|__|__|__|__|__|__|__|__|__|__|__|__|__|
________________________________________S __ F

Cada cuadradito seria un bit, f seria el bit menos significativo. La verdad que me costo hacer los cuadrados pero creo que no sirven mucho .
Mi duda es la siguiente, si tengo el siguiente fragmento :

Código C:
Ver original
  1. struct placa{
  2. int f:1;
  3. int s:1;
  4. int n:4;
  5. int tension:10;
  6. };
  7.  
  8. union UN{
  9. struct placa pl;
  10. int vector[2];
  11. }
  12.  
  13.  
  14. void main()
  15. {
  16. union UN ;
  17.  
  18. ioperm(0x200,2,1);
  19.  
  20. U.vector[0]=inb(0x200);
  21. U.vector[1]=inb(0x201);


Para comparar el bit de sincronismo (int s:1) tengo que preguntar por U.vector[0] o por U.vector[1] ? O sea mi duda es como se almacenan los datos al ingresar por los puertos? Si quiero comparar por ejemplo el bit fin tendría que hacer U.vector[0]&0x01 o U.vector[1]&0x01.

Espero que se entienda, porque la verdad si yo leo esto creo que no yo lo entendería. Gracias