外设
DAC
DAC 驱动程序已经过重新设计(参考 DAC API 参考),以统一接口并扩展 DAC 外设的使用。建议使用更新后的驱动 API,但用户仍然可以通过包含路径 driver/dac.h
使用原有驱动。然而默认情况下,在文件中包含 driver/dac.h
会引发构建警告,例如 The legacy DAC driver is deprecated, please use 'driver/dac_oneshot.h', 'driver/dac_cosine.h' or 'driver/dac_continuous.h' instead
。可通过 Kconfig 选项 CONFIG_DAC_SUPPRESS_DEPRECATE_WARN 关闭该警告。
主要概念和使用方法上的更新如下所示:
主要概念更新
用于识别硬件通道的
dac_channel_t
已从用户空间被删除,更新后通道索引起始为0
,请使用 DAC_CHAN_0 和 DAC_CHAN_1 代替原来的索引。在新驱动中可通过dac_channel_mask_t
删除 DAC 通道。这些通道可以被分配到同一个通道组中,由dac_channels_handle_t
表示。dac_cw_scale_t
更新为dac_cosine_atten_t
,以区分原有驱动程序和新驱动程序。dac_cw_phase_t
更新为dac_cosine_phase_t
,更新后,枚举值即为相位角。dac_cw_config_t
更新为dac_cosine_config_t
,但删除了en_ch
字段,因为该字段应在分配通道组时被指定。
dac_digi_convert_mode_t
已被删除。驱动程序现在可以通过调用dac_channels_write_continuously()
或dac_channels_write_cyclically()
以不同方式传输 DMA 数据。dac_digi_config_t
更新为dac_continuous_config_t
。
主要使用方法更新
dac_pad_get_io_num
已被删除。dac_output_voltage
更新为dac_oneshot_output_voltage()
。dac_output_enable
已被删除,单次采样模式下在分配通道后启用。dac_output_disable
已被删除,单次采样模式下在删除通道前被禁用。dac_cw_generator_enable
更新为dac_cosine_start()
。dac_cw_generator_disable
更新为dac_cosine_stop()
。dac_cw_generator_config
更新为dac_cosine_new_channel()
。
dac_digi_init
和dac_digi_controller_config
合并为dac_continuous_new_channels()
。dac_digi_deinit
更新为dac_continuous_del_channels()
。dac_digi_start
、dac_digi_fifo_reset
和dac_digi_reset
合并为dac_continuous_enable()
。dac_digi_stop
更新为dac_continuous_disable()
。
GPSPI
不再支持以下函数。从 ESP-IDF v5.1 版本起,GPSPI 时钟源可配置。
spi_get_actual_clock
已废弃,更新为spi_device_get_actual_freq()
。
LEDC
soc_periph_ledc_clk_src_legacy_t::LEDC_USE_RTC8M_CLK
已废弃,更新为LEDC_USE_RC_FAST_CLK
。