Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Post History

66%
+2 −0
Q&A AD5941 GPIO2 cannot act as general-purpose output — any workaround without a board respin?

There may be workaround, potentially, although I haven't done it. Neither have I used the AD5941. The GPIO2 has an output function for synchronizing external device. Configure it for synchroniza...

posted 3mo ago by Nick Alexeev‭  ·  edited 3mo ago by Nick Alexeev‭

Answer
#3: Post edited by user avatar Nick Alexeev‭ · 2026-06-23T20:36:28Z (3 months ago)
  • There may be workaround, potentially, although I haven't done it. Neither have I used the AD5941.
  • The GPIO2 has an output function for synchronizing external device. Configure it for synchronization, then set the pin state of GPIO2 through the SYNCEXTDEVICE register. Control the state of GPIO0 and GPIO1 through the GP0OUT register.
  • *p.s.*
  • Perhaps they shouldn't have named the GPIO2 a GPIO in the datasheet.
  • These GPIO pins have muxed functions. Table 152 on p.124 in the datasheet describes which functions each pin can have. All of them can be a GPIO, except for the GPIO2. They should have called it something else, and not GPIO. They invited this slip.
  • What might be a better naming? SYNC0/GPIO0, SYNC1/GPIO2, SYNC2, SYNC3/GPIO3, etc.
  • There may be workaround, potentially, although I haven't done it. Neither have I used the AD5941.
  • The GPIO2 has an output function for synchronizing external device. Configure it for synchronization, then set the pin state of GPIO2 through the SYNCEXTDEVICE register. Control the state of GPIO0 and GPIO1 through the GP0OUT register.
  • *p.s.*
  • Perhaps they shouldn't have named the GPIO2 a GPIO in the datasheet.
  • These GPIO pins have muxed functions. Table 152 on p.124 in the datasheet describes which functions each pin can have. All of them can be a GPIO, except for the GPIO2. They should have called it something else, and not GPIO. They invited this slip.
  • What might be a better naming? SYNC0/GPIO0, SYNC1/GPIO1, SYNC2, SYNC3/GPIO3, etc.
#2: Post edited by user avatar Nick Alexeev‭ · 2026-06-23T16:03:25Z (3 months ago)
  • There may be workaround, potentially, although I haven't done it. Neither have I used the AD5941.
  • The GPIO2 has an output function for synchronizing external device. Configure it for synchronization, then set the pin state of GPIO2 through the SYNCEXTDEVICE register. Control the state of GPIO0 and GPIO1 through the GP0OUT register. (Or through the corresponding HAL library functions.)
  • *p.s.*
  • Perhaps they shouldn't have named the GPIO2 a GPIO in the datasheet.
  • These GPIO pins have muxed functions. Table 152 on p.124 in the datasheet describes which functions each pin can have. All of them can be a GPIO, except for the GPIO2. They should have called it something else, and not GPIO. They invited this slip.
  • What might be a better naming? SYNC0/GPIO0, SYNC1/GPIO2, SYNC2, SYNC3/GPIO3, etc.
  • There may be workaround, potentially, although I haven't done it. Neither have I used the AD5941.
  • The GPIO2 has an output function for synchronizing external device. Configure it for synchronization, then set the pin state of GPIO2 through the SYNCEXTDEVICE register. Control the state of GPIO0 and GPIO1 through the GP0OUT register.
  • *p.s.*
  • Perhaps they shouldn't have named the GPIO2 a GPIO in the datasheet.
  • These GPIO pins have muxed functions. Table 152 on p.124 in the datasheet describes which functions each pin can have. All of them can be a GPIO, except for the GPIO2. They should have called it something else, and not GPIO. They invited this slip.
  • What might be a better naming? SYNC0/GPIO0, SYNC1/GPIO2, SYNC2, SYNC3/GPIO3, etc.
#1: Initial revision by user avatar Nick Alexeev‭ · 2026-06-23T15:32:53Z (3 months ago)
There may be workaround, potentially, although I haven't done it.  Neither have I used the AD5941.

The GPIO2 has an output function for synchronizing external device.  Configure it for synchronization, then set the pin state of GPIO2 through the SYNCEXTDEVICE register.  Control the state of GPIO0 and GPIO1 through the GP0OUT register.  (Or through the corresponding HAL library functions.)

*p.s.*  
Perhaps they shouldn't have named the GPIO2 a GPIO in the datasheet.

These GPIO pins have muxed functions. Table 152 on p.124 in the datasheet describes which functions each pin can have. All of them can be a GPIO, except for the GPIO2. They should have called it something else, and not GPIO. They invited this slip.

What might be a better naming?  SYNC0/GPIO0, SYNC1/GPIO2, SYNC2, SYNC3/GPIO3, etc.