Versión Completa : como setear un bit del puerto paralelo en C?????????
juliograna2
enero 29, 2006, 08:25
hola amigos, tengo un inconveniente quqe ojala pueda ser solucionado.......
resulta que estoy utilizando el bus de datos del poerto paralelo (8 bits) para dos propositos diferentes,los primeros 4 bits
tienen cierta funcion y los otros cuatro tienen otra totalmente diferente, entonces para mi es indispensable
manipular "individualmente" los bits de este bus, asi la instruccion outportb(puerto,dato) de dos.h no me funciona........
acaso no hay alguna funcion defininada que manipule individualmente los bits como la existente en visual basic que es
setportbit??????????, muchas gracias por su colaboracion..mi correo es itidriver@hotmail.com gracias de verada
Saurman
abril 6, 2006, 12:18
No entiendo muy bien la pregunta pero con el outport(puerto,dato) se utiliza para el envio de datos por los pines de salida (del 2 al 9) y dependiendo el dato se pueden enviar datos a los 8 pines al mismo tiempo
[WT]Pollux
abril 9, 2006, 11:21
hola amigos, tengo un inconveniente quqe ojala pueda ser solucionado.......
resulta que estoy utilizando el bus de datos del poerto paralelo (8 bits) para dos propositos diferentes,los primeros 4 bits
tienen cierta funcion y los otros cuatro tienen otra totalmente diferente, entonces para mi es indispensable
manipular "individualmente" los bits de este bus, asi la instruccion outportb(puerto,dato) de dos.h no me funciona........
acaso no hay alguna funcion defininada que manipule individualmente los bits como la existente en visual basic que es
setportbit??????????, muchas gracias por su colaboracion..mi correo es itidriver@hotmail.com gracias de verada
La verdad no recuerdo muy bien como es que esta distribuido el puerto, pero hagamos un ejemplo muy simple:
Supongamos que este grupo de asteriscos es el puerto:
* * * * * * * *
y que el bit menos significativo es el de la derecha. Si lo que quieres es activar el bit de color rojo, es decir, el bit numero 4 (Empezando en cero), debes mandar el numero 16, que es la cuarta potencia de dos. Asi, cada bit li podras activar enviando un numero entero que represente una potencia de dos y el exponente que le pongas al 2 es el bit que se va a activar.
Si son varios bits a la vez, se hace lo mismo, pero sumando todas las potencias de dos que activan los bits individualmente y se envia el numero resultante.
Suerte
hugofuentesmx
abril 10, 2006, 12:54
Bueno yo tambien en intentado manipularlos por separado pero no e conseguido ninguna funcion existente en las librerias que me permita hacer esto
Pero podria aconsejarte lo siguiente en alguna ocacion tube que mover sumultaneamente dos motores a pasos y los primeros 4 bits eran para uno y los restantes para el otro declare una variable global donde se sumaran los bits que mandaba al puerto y con ayuda de un par de funciones para cada motor modificaba la informacion de esta variable el resto te lo podras imaginar
vBulletin®, Copyright ©2000-2008, Jelsoft Enterprises Ltd.