Writing to the Port Data Register of a Hardware Digital Output Pin in PSoC® 1 – KBA89343

Version: **

 

Question: Consider a PSoC® 1 GPIO pin that is connected as an output of a digital block. If some value is written to this digital output pin’s Port Data register, will this pin be forced to the value written in the Port Data register?

 

Answer:

No, the value written to the Port Data register of a GPIO pin that is connected as the output of a digital block in PSoC 1 would not affect the state of the GPIO pin. As highlighted in the screenshot of the “GPIO digital output path” (Figure 1), the pin is driven directly from the global output bus instead of Port Data register when the “BYP” bit is “high” (the “BYP” bit is set high when a connection is made from a global output bus to a GPIO pin).

Figure 1. PSoC 1 GPIO Pin’s Output Path

Also, note that if the I2C is enabled for a GPIO (applicable only for GPIO pins that have I2C capability), then neither the state of global output bus nor the value of the Port Data register has an effect on the state of the pin.