Topic

FAQ
Login Register
reset时保持GPIO状态不变
Jun 03, 2023 16:41

/

A

/A

使用的是8258_mesh工程。

现在在程序中的某处需要reset,但在reset的时候希望某些GPIO保持其状态不变。

使用watch dog和mesh_start_reboot();方式,在reset的时候都会使GPIO的状态变化。

请问下有什么方式可以实现在reset的时候其GPIO的状态保持不变?


3 replies
TL_Soyo Jun 05, 2023 11:45
0
/A

你好,

  软件reboot可以配置芯片的上下拉电阻控制电平,以保持IO电平基本不变。

youngbo830 [Author] Jun 05, 2023 15:13
0
/A

你好,

在调用mesh_start_reboot()之前,我做了如下设置(同时设置了上拉和下拉,当然也进行了其他的上下拉配置尝试),但都不能使输出在复位期间保持为高电平,是因为我配置不正确吗?请问下需要怎样配置上下拉,才能使IO口在复位期间保持在高电平状态呢?

gpio_setup_up_down_resistor(GPIO_PB1, PM_PIN_PULLUP_10K);

gpio_setup_up_down_resistor(GPIO_PB1, PM_PIN_PULLDOWN_100K);

TL_Soyo Jun 05, 2023 16:13
0
/A

若需要高电平,在复位之前单独调用一次gpio_setup_up_down_resistor(GPIO_PB1, PM_PIN_PULLUP_10K);即可,复位成功后再将该引脚配置为输出高。