cancel
Showing results for 
Search instead for 
Did you mean: 

How do the GPIOs actually work?

turboscrew
Senior III

That question started bothering me when I was struggling with TLE493D that started interrupting using the i2c clock line.

It looked like the i2c in the F429 was gone bananas and keeping the i2c stuck (busy).

I was thinking of feeding the i2c the clock pulses and maybe end condition by writing to the GPIO data registers (bit banging), but would that be seen by the i2c? It's not clear from the pictures in the reference manual.

It looks (in the pictures) like at least a pin acts as a pin for alternate function, GPIO input and analog input at the same time. And I can read back (GPIO input) the GPIO output pin state.

Maybe I can even use ADC to measure the pin's GPIO output voltage? Or get a GPIO input while also measuring the input signal voltage with ADC?

I guess, though, that only one "party" can drive the pin output at a time?

Oh, and I'm talking about these pictures: https://bluetechs.files.wordpress.com/2013/12/115.png

1 ACCEPTED SOLUTION

Accepted Solutions

Yes, inputs buffered in way you read. In Analogue Input mode the Schmitt trigger is disabled.​

Gating allows for OD or PP drive, High-Z and signal/control muxed so peripheral controls in AF mode.​

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..

View solution in original post

2 REPLIES 2

Yes, inputs buffered in way you read. In Analogue Input mode the Schmitt trigger is disabled.​

Gating allows for OD or PP drive, High-Z and signal/control muxed so peripheral controls in AF mode.​

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..

Yes, I remember something about Schmitt trigger affecting the input impedance if it wasn't turned off. If it's off, then, I guess, the inputs for alternate function and GPIO input are disabled? But enabling the Schmitt trigger doesn't disable the analogue input - just makes it a bit less accurate?