Closed sufzoli closed 1 year ago
Hi Zoltan,
this is intended usage.
GPIB uses so called open drain logic. This is very similar to I2C.
The instrument has internal pullup resistors (or current sources) on the GPIB bus pins. The GPIB device but also the instrument pulls the lines LOW to create a 0 on the bus. A HIGH is created by putting the GPIO pin direction to input, which creates a tristate and allows the mentioned pullup resistor to create a high level.
By defining a bus like this you can be sure to never have conflicts, i.e. one side driving a HIGH, while another side puts the pin LOW again.
Success with your creation!
Best regards,
Kai
closing.
Hi,
I'm trying to adapt your code for my own board design (https://gitlab.com/measurementcontrol/gpibinterfacehardware/-/tree/V2.0). I see that you are writing data to the DDRx registers and not to the PORTx registers (gpib.c). According to the internet sources the DDRx is the data direction register (In/Out) and the PORTx is the data out register. What I miss here?
Thank you, Zoltan