Your application may require connecting several outputs together on a single I/O line. In this case, you should use the Open Drain feature to avoid the situation when different outputs set different signal levels on the line. To avoid hardware damage all interconnected outputs should be in open drain mode.
In open drain mode, pin cannot output high level (logical 1) on the line. It can either output low level (logical 0) or be in high-impedance state (logically disconnected). In high-impedance, pin does not affect the signal level on the line. A pull-up resistor pulls the line to high voltage level when all outputs are in high-impedance.
The Open Drain Mode can be enabled/disabled on each output pin individually. To activate this feature, use the DlnGpioPinOpendrainEnable() function. To disable it, use the DlnGpioPinOpendrainDisable() function. If a pin is not assigned to the GPIO module, your settings are saved in the internal memory and will be applied when you assign the pin to the GPIO module.
By default, the Open Drain Mode is disabled on all pins.
Use the following GPIO Interface functions to control and monitor the Open Drain Mode:
- DlnGpioPinOpendrainEnable()
Enables the Open Drain mode on a pin.
- DlnGpioPinOpendrainDisable()
Disables the Open Drain mode on a pin.
- DlnGpioPinOpendrainIsEnabled()
Determines whether the Open Drain mode in enabled on a pin.