tag 标签: HPM5300

相关帖子
相关博文
  • 热度 3
    2024-1-13 13:33
    297 次阅读|
    0 个评论
    1. `hpm_stat_t init_common_config(adc16_conversion_mode_t conv_mode){`:定义一个名为`init_common_config`的函数,接收一个`adc16_conversion_mode_t`类型的参数`conv_mode`,返回类型为`hpm_stat_t`。 2. `adc16_config_t cfg;`:声明一个名为`cfg`的`adc16_config_t`类型变量。 3. `/* initialize an ADC instance */`:注释说明正在初始化一个ADC实例。 4. `adc16_get_default_config(&cfg);`:调用`adc16_get_default_config`函数获取默认配置,并将结果存储在`cfg`变量中。 5. `cfg.res = adc16_res_16_bits;`:设置`cfg`变量的分辨率为16位。 6. `cfg.conv_mode = conv_mode;`:设置`cfg`变量的转换模式为传入的`conv_mode`参数。 7. `cfg.adc_clk_div = adc16_clock_divider_4;`:设置`cfg`变量的ADC时钟分频器为4。 8. `cfg.sel_sync_ahb = (clk_adc_src_ahb0 == clock_get_source(BOARD_APP_ADC16_CLK_NAME)) ? true : false;`:判断`clk_adc_src_ahb0`是否等于`BOARD_APP_ADC16_CLK_NAME`,如果相等则将`cfg.sel_sync_ahb`设置为`true`,否则设置为`false`。 9. `if (cfg.conv_mode == adc16_conv_mode_sequence || cfg.conv_mode == adc16_conv_mode_preemption) { cfg.adc_ahb_en = true; }`:判断`cfg.conv_mode`是否等于`adc16_conv_mode_sequence`或`adc16_conv_mode_preemption`,如果满足条件则将`cfg.adc_ahb_en`设置为`true`。 10. `/* adc16 initialization */`:注释说明正在进行ADC初始化。 11. `if (adc16_init(BOARD_APP_ADC16_BASE, &cfg) == status_success) {`:调用`adc16_init`函数进行ADC初始化,传入`BOARD_APP_ADC16_BASE`和`&cfg`作为参数。如果初始化成功,执行下一行代码。 12. `/* enable irq */`:注释说明正在启用中断。 13. `intc_m_enable_irq_with_priority(BOARD_APP_ADC16_IRQn, 1);`:调用`intc_m_enable_irq_with_priority`函数启用中断,传入`BOARD_APP_ADC16_IRQn`和优先级1作为参数。 14. `return status_success;`:返回初始化成功的状态。 15. `} else {`:如果初始化失败,执行下一行代码。 16. `printf("%s initialization failed!\n", BOARD_APP_ADC16_NAME);`:打印错误信息,提示ADC初始化失败。 17. `return status_fail;`:返回初始化失败的状态。
相关资源
  • 所需E币: 5
    时间: 2024-2-7 13:23
    大小: 5.2MB
    上传者: 丙丁先生
    HPM5300EVKREVC.pdfEVK通常指的是评估套件(EvaluationKit)。REVC可能是版本号或者修订号。这个PDF文件可能包含了该评估套件的详细信息,如硬件规格,软件信息,使用方法等
  • 所需E币: 5
    时间: 2024-1-13 18:44
    大小: 966.25KB
    上传者: 丙丁先生
    HPM5300,产品,介绍,数据手册,用户手册"alt=""/>