导航

    Freqchip开发者论坛

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

    ccc

    @ccc

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

    ccc 关注

    ccc 发布的帖子

    • RE: PD5高低电平检测

      @zr FR801HA 和FR801HB

      发布在 FR801xH
      C
      ccc
    • RE: PD5高低电平检测

      @zr 有没有相关的历程

      发布在 FR801xH
      C
      ccc
    • RE: PD5高低电平检测

      @zr 检测PD5的电平跳变,以此触发是否接受新设备配对

      发布在 FR801xH
      C
      ccc
    • PD5高低电平检测

      attribute((section("ram_code"))) void pmu_gpio_isr_ram(void)
      {
      // 读取当前GPIO状态和历史状态
      uint32_t current_gpio = ool_read32(PMU_REG_GPIOD_V);
      uint32_t last_gpio = ool_read32(PMU_REG_PORTD_LAST);

      // 检测哪些引脚发生了变化
      uint32_t changed_pins = current_gpio ^ last_gpio;
      
      // 检查PD5(第5位)是否发生变化
      if (changed_pins & (1 << 5)) {
          // 获取PD5当前状态
          uint8_t pd5_current_state = (current_gpio >> 5) & 0x01;
          uint8_t pd5_last_state = (last_gpio >> 5) & 0x01;
          uint8_t fam[1]={1};
          // 检测持续高电平(电平触发模式)
          if (pd5_current_state == 1) {
              co_printf("high-level trigger\r\n");
      						uart_put_data_noint(UART0,fam,1);
      						gap_security_param_t param =
      						{
      								.mitm = false,	// dont use PIN code during bonding
      								.ble_secure_conn = false,	//not enable security encryption
      								.io_cap = GAP_IO_CAP_NO_INPUT_NO_OUTPUT, //ble device has neither output nor input ability, 
      								.pair_init_mode = GAP_PAIRING_MODE_WAIT_FOR_REQ,		//need bond
      								.bond_auth = true,	//need bond auth
      								.password = 0,
      						};
      						 gap_security_param_init(&param);
      						 os_timer_start(&ker_timer, 60000, 0); // 60s延迟
          }
          
      
      }
      
      // 更新历史记录
      ool_write32(PMU_REG_PORTD_LAST, current_gpio);
      

      }我的这个检测pd高低电平的有什么问题吗,在HA的测试板上能正常检测,但是换成HB的芯片加了按钮之后,上电就一直触发高电平事件,初始化配置是这样的0_1768899605587_92cdfc9e-4e26-4494-b442-095bf691226d-image.png

      发布在 FR801xH
      C
      ccc
    • mac地址恢复不到eFuse里面的值

      程序会影响efuse里面的值吗,我的开发板重新程序烧写之后初始mac地址不再是之前的唯一mac了,没有被重置回efuse中的值,芯片是FR801HB

      发布在 FR801xH
      C
      ccc
    • 修改mac地址

      0_1766754927981_68e94cd1-edb5-45e4-9eee-4acba3b7cd36-image.png 这个修改mac地址后复位还是之前的mac地址,有没有什么具体的方法直接完全修改mac

      发布在 FR801xH
      C
      ccc
    • RE: IO问题

      @zr 已解决,感谢

      发布在 FR801xH
      C
      ccc
    • RE: IO问题

      0_1765874314287_e4238013-8693-4947-b2c3-c17585976fdd-image.png 还是不行,下载的官方的历程,用的板子的官方的FR801HA,只加截图里面的代码,拉不高还是,可以帮忙验证下吗,项目比较急!谢谢!

      发布在 FR801xH
      C
      ccc
    • RE: IO问题

      @zr 0_1765797680730_31583553-8221-4e9c-a053-1812a746f4ef-image.png ,A1A0可以拉高

      发布在 FR801xH
      C
      ccc
    • RE: IO问题

      型号是FR801HB,
      system_set_port_mux(GPIO_PORT_D, GPIO_BIT_6, PORTD6_FUNC_D6);
      gpio_set_dir(GPIO_PD6, GPIO_BIT_6, GPIO_DIR_OUT);
      gpio_set_pin_value(GPIO_PORT_D, GPIO_BIT_6,1);,设置为gpio模式也不能进行拉高拉低

      发布在 FR801xH
      C
      ccc