Hello.
I have a question about the GPIO settings of the QN9090.
According to the QN9090 datasheet, the default status after POR of PIO13 is set to High level, but how can I set it to Low level?
Ideally, the PIO13 pin should be kept at low level when power is turned on.
Kind regards.
Hi, @Jose7
I checked our datasheet, you are right, the default state after POR of PIO13 is s High level.
May I ask what is your use case for changing PIO13 to low level?
I am checking how to change it to low level.
Best regards,
Christine.
Hi, @Jose7
You can refer to Chapter 12: I/O Pin Configuration (IOCON) of UM11141 QN9090(T)/QN9030(T) User Manual
to configure the register PIO0_13 which is used for PIO13.
And the configuration in our SDK source code is: pin_mux.c
void BOARD_InitPins(void)
{
******
******
const uint32_t port0_pin13_config = (); //You can change according to your requirement.
/* PORT0 PIN13 (coords: 16) is configured as SWDIO */
IOCON_PinMuxSet(IOCON, 0U, 13U, port0_pin13_config);
******
******
}
Hope my answer is helpful for you.
Best regards,
Christine.
Hello.
Thank you for reply.
PIO13 remains low level from power-on until there is a command from the software. It never goes high level until then.
Will the above behavior be achieved if I set the register PIO0_13 used for PIO13?
Kind regards.
Hi, @Jose7
Thanks for your reply.
Yes, You can change it as I mentioned in previous comment according to your requirement.
And also I checked the datasheet of QN9090, It has an internal pull down resistance on this GPIO as shown in below screenshot.
Please have a try on your side and let me know whether have other queries.
Best regards,
Christine.
Hello.
Thank you for your reply.
I set an internal pull-down resistor by referring to the I/O Pin Configuration (IOCON).
I also added an external pull-down resistor. However, the target pin goes high for a moment just after power is turned on.
I need to keep the target pin at low level. Is there anything else I need to set? I set IOCON as follows:
gpio_pin_config_t timing_config = {
.pinDirection = kGPIO_DigitalOutput,
.outputLogic = 0U
};
GPIO_PinInit(GPIO, 0, 13, &timing_config);
const uint32_t port0_pin13_config = (
IOCON_FUNC0 |
IOCON_MODE_PULLDOWN |
IOCON_PIO_SLEW0_STANDARD |
IOCON_PIO_INV_DI |
IOCON_PIO_DIGITAL_EN |
IOCON_PIO_INPFILT_OFF |
IOCON_PIO_SLEW1_STANDARD |
IOCON_PIO_SSEL_DI);
IOCON_PinMuxSet(IOCON, 0U, 13U, port0_pin13_config);
Hi, @Jose7
Firstly, please let me apologize if below request is inconvenient to you.
This thread has no reply for more than one month, so the related SFDC case has been closed and could not be re-opened again. Without the SFDC case, it is very easy to neglect your updates.
Would you mind help to create a new case to discuss further?
Sorry for the inconvenience to you again.
Best regards,
Christine.