导航

    Freqchip开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 最新
    1. 主页
    2. always123
    A
    • 继续与 always123 聊天
    • 开始与 always123 的新会话
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 主题
    • 帖子
    • 最佳
    • 群组

    always123

    @always123

    0
    声望
    11
    帖子
    1464
    资料浏览
    0
    粉丝
    0
    关注
    注册时间 最后登录

    always123 关注

    always123 发布的帖子

    • 系统状态寄存器0xc8表示什么意思呢? 有相关的描述信息吗?

      uint32_t system_status;
      system_status = ool_read32(PMU_REG_SYSTEM_STATUS);

      void system_power_off(bool aldo_bypass)
      系统关机函数,调用该函数将系统至于关机状态,关机状态下用户可以配置按键唤醒或者各种 PMU 中断唤醒。从关
      机状态下醒来,系统状态寄存器(PMU 寄存器 0x9F)值为 0xc6

      0x000080c8,0xc8表示什么意思呢? 系统状态寄存器有相关的描述信息吗?

      发布在 FR801xH
      A
      always123
    • FR8012 如何进行定时器计数复位,我想做个定时器延时。

      FR8012 如何进行定时器计数复位,我想做个定时器延时。

      发布在 FR801xH
      A
      always123
    • RE: FR801X,PWM配置单次运行,后面怎么再次启动单次运行呢?

      0_1663926671206_be06b824-08e0-47aa-b8ad-f628b695de66-image.png 0_1663926739980_864151cf-7a99-46a1-8f44-4e7b0b4014bd-image.png
      后面我调用 pwm_start_once 这个函数,不能再次单次运行。试了调用之前先关闭 pwm_stop_once 也不行。

      发布在 FR801xH
      A
      always123
    • RE: FR801x,PWM配置极性的结构体描述是有误吗?

      @刘流鎏 在 FR801x,PWM配置极性的结构体描述是有误吗? 中说:
      好的,谢谢

      发布在 FR801xH
      A
      always123
    • FR801X,PWM配置单次运行,后面怎么再次启动单次运行呢?

      FR801X,PWM配置单次运行,后面怎么再次启动单次运行呢?

      发布在 FR801xH
      A
      always123
    • FR801x,PWM配置极性的结构体描述是有误吗?

      0_1663837890165_333d0215-6650-4c33-b6e0-4626926e7f0f-image.png 0_1663837971096_6e0e1f5a-04e1-439d-93b2-97b3579ed9c6-image.png

      发布在 FR801xH
      A
      always123
    • RE: FR801X adc两个测量通道怎么使用?下面这种方式对吗?调整LDO为3.3v了。

      @刘流鎏 ok, 非常感谢

      发布在 FR801xH
      A
      always123
    • RE: FR801X adc两个测量通道怎么使用?下面这种方式对吗?调整LDO为3.3v了。

      @刘流鎏 谢谢。但是我加入 co_delay_100us(100); 还是有些问题,我用一个通道进行测量是准确的,用两个通道测量结果就是不准确的。
      我搭建了一个分压电路,产生1.97v和0.59v,供给两个通道。使用两个通道进行测量结果是:
      ref_vol: 2904, result: 551mV, vol_PD4: 1562.601563mV
      ref_vol: 2904, result: 247mV, vol_PD5: 700.476563mV
      (我将LDO调回2.9v,并配置使用PD4,PD5)

      发布在 FR801xH
      A
      always123
    • RE: FR801X adc两个测量通道怎么使用?下面这种方式对吗?调整LDO为3.3v了。

      @刘流鎏 在 FR801X adc两个测量通道怎么使用?下面这种方式对吗?调整LDO为3.3v了。 中说:
      谢谢。但是我加入 co_delay_100us(100); 还是有些问题,我用一个通道进行测量是准确的,用两个通道测量结果就是不准确的。
      我搭建了一个分压电路,产生1.97v和0.59v,供给两个通道。使用两个通道进行测量结果是:
      ref_vol: 2904, result: 551mV, vol_PD4: 1562.601563mV
      ref_vol: 2904, result: 247mV, vol_PD5: 700.476563mV
      (我将LDO调回2.9v,并配置使用PD4,PD5)

      发布在 FR801xH
      A
      always123
    • FR801X adc两个测量通道怎么使用?下面这种方式对吗?调整LDO为3.3v了。

      struct adc_cfg_t cfg;

      // uint16_t result_PD4;
      uint16_t result_PD5=0;
      // uint16_t result_PD6;
      uint16_t result_PD7=0;
      // uint16_t ref_vol_get = 0;
      // uint16_t ref_vol_2900 = 2900;
      uint16_t ref_vol_3300 = 3300;
      // float vbat_vol_PD4;
      float vbat_vol_PD5=0;
      // float vbat_vol_PD6;
      float vbat_vol_PD7=0;
      
      memset((void *)&cfg, 0, sizeof(cfg));
      cfg.src = ADC_TRANS_SOURCE_PAD;
      cfg.ref_sel = ADC_REFERENCE_AVDD; // (2904mV 2.9V)
      cfg.channels = 0x0A;              // 可以四个通道同时使能0x0f
      cfg.route.pad_to_sample = 1;
      cfg.clk_sel = ADC_SAMPLE_CLK_24M_DIV13;
      cfg.clk_div = 0x3f;
      adc_init(&cfg);
      adc_enable(NULL, NULL, 0); //  以中断方式返回结果    还有一种回调方式,需要设置回调函数
      // adc_get_result(ADC_TRANS_SOURCE_PAD, 0x01, &result_PD4); // PD4
      adc_get_result(ADC_TRANS_SOURCE_PAD, 0x02, &result_PD5); // PD5
      // adc_get_result(ADC_TRANS_SOURCE_PAD, 0x04, &result_PD6); // PD6
      adc_get_result(ADC_TRANS_SOURCE_PAD, 0x08, &result_PD7); // PD7
      adc_disable();
      
      // ref_vol_get = adc_get_ref_voltage(ADC_REFERENCE_AVDD); // 注意:该参考电压是对ALDO 2.9v做的校准,如果软件配置ALDO电压改变了,该校准值ref_vol就没有太大参考价值了
      // vbat_vol = (result * ref_vol_get) / 1024.0;            // mV.
      // printf("result: %d, ref_vol_get: %dmV, vbat_vol: %fmv, ", result, ref_vol_get, vbat_vol); // 2904?进行了校准 从29000->2904 ADC_REFERENCE_AVDD
      
      // vbat_vol = (result * ref_vol_2900) / 1024.0; // mV.
      // printf("ref_vol_2900 - > adc_value: %fmV, ", vbat_vol);
      
      vbat_vol_PD5 = (result_PD5 * ref_vol_3300) / 1024.0; // mV.
      vbat_vol_PD7 = (result_PD7 * ref_vol_3300) / 1024.0; // mV.
      printf("ref_3300, vbat_vol_PD5: %fmV, vbat_vol_PD7: %fmV\n", vbat_vol_PD5, vbat_vol_PD7);
      发布在 FR801xH
      A
      always123