请问在ESP-IDF编程逻辑中,注册完的功能需要卸载后修改还是说直接原函数覆盖

Moderator: ESP_ZT

wangshuoran
Posts: 37
Joined: Fri Dec 24, 2021 12:40 pm

请问在ESP-IDF编程逻辑中,注册完的功能需要卸载后修改还是说直接原函数覆盖

Postby wangshuoran » Thu Apr 07, 2022 6:26 am

比如说这个函数:esp_err_t esp_wifi_set_ps(wifi_ps_type_t type);还有I2C的,GPIO的,他们是不是底层都符合一个逻辑?

ESP_morris
Posts: 290
Joined: Wed Sep 05, 2018 6:23 am

Re: 请问在ESP-IDF编程逻辑中,注册完的功能需要卸载后修改还是说直接原函数覆盖

Postby ESP_morris » Thu Apr 07, 2022 9:37 am

一般来说,如果这个函数会做资源申请的事情,比如

Code: Select all

i2c_driver_install
那么idf中会提供一个函数去做资源释放,比如

Code: Select all

i2c_driver_delete

wangshuoran
Posts: 37
Joined: Fri Dec 24, 2021 12:40 pm

Re: 请问在ESP-IDF编程逻辑中,注册完的功能需要卸载后修改还是说直接原函数覆盖

Postby wangshuoran » Fri Apr 08, 2022 3:03 am

你好,很高兴收到你的回复,你说的我理解,所有例程都是这样写的。我想问的就是说,我一个注册函数反复执行时,第二次的执行会取代第一次的执行结果吗?

你说的这个情况更像是这个功能我们不使用了,释放资源的情况中使用。但是我仅仅更改一个值,释放再重新申请势必会增加资源的消耗。

所以,如果你能直接回答我的问题,我非常感谢!

ESP_morris
Posts: 290
Joined: Wed Sep 05, 2018 6:23 am

Re: 请问在ESP-IDF编程逻辑中,注册完的功能需要卸载后修改还是说直接原函数覆盖

Postby ESP_morris » Fri Apr 08, 2022 5:55 am

如果是运行时配置某些参数,是会允许覆盖之前的参数的。比如你要频繁修改PWM频率,总不能要求先uninstall 驱动再重新来一遍。

Who is online

Users browsing this forum: No registered users and 9 guests