导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    R128 IO 翻转测试

    A Series
    4
    6
    2516
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • YuzukiTsuru
      柚木 鉉 LV 9 最后由 编辑

        hal_gpio_set_pull(GPIOA(18), GPIO_PULL_UP);
        hal_gpio_set_direction(GPIOA(18), GPIO_DIRECTION_OUTPUT);
        hal_gpio_pinmux_set_function(GPIOA(18), GPIO_MUXSEL_OUT);
        while (1) {
          hal_gpio_set_data(GPIOA(18), GPIO_DATA_LOW);
          hal_gpio_set_data(GPIOA(18), GPIO_DATA_HIGH);
        }
      

      粗略测试一下 R128 的 IO 翻转性能,1.61MHz,另外考虑 RTOS 存在调度

      29165e54-e9a7-4191-bf4c-4966dd722f85-fc70ba1d2c4e170a370d52b79b05dff.png

      1 条回复 最后回复 回复 引用 分享 0
      • YuzukiTsuru
        柚木 鉉 LV 9 最后由 编辑

        配置纯裸机,RTOS 调度关闭
        1898827e-4d0c-4fc5-a5b0-9b3480c7eefb-图片.png

        1 条回复 最后回复 回复 引用 分享 0
        • YuzukiTsuru
          柚木 鉉 LV 9 最后由 WhycanService 编辑

          配置 640MHz 主频,RTOS调度关闭,1.85MHz

          c9eb5737-ca2a-41bf-8383-5c021acf6604-图片.png

          audiomonster 1 条回复 最后回复 回复 引用 分享 0
          • audiomonster
            audiomonster LV 3 @YuzukiTsuru 最后由 编辑

            @yuzukitsuru 可能 hal_gpio_set_data / hal_gpio_get_data 慢一点 ?

            int sunxi_gpio_output(uint32_t pin, uint32_t val) {
            
                    uint32_t dat;
                    uint32_t bank = GPIO_BANK(pin);
                    uint32_t num = GPIO_NUM(pin);
            
                    struct sunxi_gpio *pio =
                            &((struct sunxi_gpio_reg *)SUNXI_PIO_BASE)->gpio_bank[bank];
            
                    dat = readl(&pio->dat);
                    if(val)
                            dat |= 1 << num;
                    else
                            dat &= ~(1 << num);
            
                    writel(dat, &pio->dat);
            
                    return 0;
            }
            

            GPIO clock 是不是 24MHz ?

            YuzukiTsuru 1 条回复 最后回复 回复 引用 分享 0
            • YuzukiTsuru
              柚木 鉉 LV 9 @audiomonster 最后由 编辑

              @audiomonster 有可能,之后检查下

              D 1 条回复 最后回复 回复 引用 分享 0
              • D
                dream LV 6 @YuzukiTsuru 最后由 编辑

                @yuzukitsuru 直接操作寄存器,应该还会有提升。函数入栈出栈有消耗。

                1 条回复 最后回复 回复 引用 分享 0
                • 1 / 1
                • First post
                  Last post

                Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                行为准则 | 用户协议 | 隐私权政策