Hi MrBean! Thanks!
Yes, that´s the strange thing. I expected pull-up´s on the GPIO´s (although not necessary in my circuit as the GPIO´s are driven by totem-pole outputs from 8 x HT9170´s multiplexed in time).
I´ve attached an image of the circuit to be clear, but it works as follow:
When a HT9170 has an valid DTMF digit, it sets the DV output, which "tend" to set the respective OE throug a resistor. The OE lines are tied to other GPIO port (DD) that are commonly grounded.
When I want to see if a particular HT9170 has a valid digit, I put the correspondent OE line in input mode, allowing OE to set in case of DV, driving the data lines (port UA). This was tested and the data lines are asserted normally.
When the HT9170´s are not driving the data lines I see that UA[3:2] are pulled high as expected, but UA[1:0] are weakly pulled down. This and the fact that I only read 1´s in PORTUAP/SETUA[1:0] probably indicates that UA[1:0] are not configured as GPIO´s even with PUAPAR and DDRUA correctly set.
![]()