2023-08-19 03:57 PM
Hey!
I'm using the STM32G030F6Px, physical Pin 15 is home of PB0, PB1, PB2, PA8. How do you select which GPIO is connected to the pin? This is explained in the reference manual regarding PA11/PA9, set with the PA11_RMP bit in SYSCFG_CFGR1.
There is no equivalent for the PB* pins
2023-08-19 04:31 PM - edited 2023-08-19 04:35 PM
All of those pins are always connected to that pin. You can only effectively use one at a time.
2023-08-19 11:46 PM
... except PA11/PA12 (remappable as PA9/PA10), which has historical reasons (taken over from from the 'F0 which were the first STM32 in this package).
I am just explaining the status quo. I don't like the "bonded together" lazy approach either.
JW
2023-08-19 11:48 PM
It seems like a joke, multiplexing GPIO pins. Now all that's left is to put a serial bus on each GPIO and have to use a demultiplexer IC :clown_face:.
2023-08-20 02:02 PM
As already explained: Several pads are bonded to a single pin, as if you would short separate pins together externally.
But it is still possible to use several pads simultaneously(!) as long as at any one time at most one is an output (or if all outputs are configured as open drain, one could even mimic a wired-or). Probably the are not that many use cases for that, but at times it might be useful. PA11/PA9 is a different matter, though, there you can use only one of both.
2023-08-20 02:55 PM
It's done due to the limited output count. Putting several pins together gives more flexibility in being able to use more peripherals, as peripherals are only available on specific pins.