Page 1 of 1

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

Posted: Thu Apr 07, 2022 6:26 am
by wangshuoran
比如说这个函数:esp_err_t esp_wifi_set_ps(wifi_ps_type_t type);还有I2C的,GPIO的,他们是不是底层都符合一个逻辑?

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

Posted: Thu Apr 07, 2022 9:37 am
by ESP_morris
一般来说,如果这个函数会做资源申请的事情,比如

Code: Select all

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

Code: Select all

i2c_driver_delete

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

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

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

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

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

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