跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. 同一个 GPIO ,可以做输出,下一个时段 再做输入可以吗? 现在 做 模拟 I2C 的 DATA 管脚,设置 方向没有用,读到的值还是0XFF

同一个 GPIO ,可以做输出,下一个时段 再做输入可以吗? 现在 做 模拟 I2C 的 DATA 管脚,设置 方向没有用,读到的值还是0XFF

已定时 已固定 已锁定 已移动 已解决 YTM32B1M系列
10 帖子 5 发布者 100 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • yuangzY 离线
    yuangzY 离线
    yuangz
    编写于 最后由 编辑
    #1

    03548c17-9233-41d5-9ab9-3b449223175b-image.png

    1 条回复 最后回复
    0
    • qinzhaoQ 离线
      qinzhaoQ 离线
      qinzhao YunTu
      编写于 最后由 编辑
      #8

      PINS_DRV_SetMuxModeSel(PCTRLA, 2U, PCTRL_MUX_AS_GPIO); /* PTA2 -> GPIO 复用 /
      PINS_DRV_SetPinDirection(GPIOA, 2U, GPIO_INPUT_DIRECTION); /
      PTA2 -> 输入 */

      pins_level_type_t pta2Level = PINS_DRV_ReadPin(GPIOA, 2U); /* 读 PTA2 电平 */
      PRINTF("PTA2 level=%u\r\n", (unsigned)pta2Level); 可以检查一下PTA是不是复用成GPIO的

      yuangzY 1 条回复 最后回复
      0
      • KirkK 离线
        KirkK 离线
        Kirk YunTu
        编写于 最后由 编辑
        #2

        可以尝试用 PINS_DRV_GetPinsDirection 去回读 GPIO 输入输出状态,确认 IO 切换是否正确;回读电平用的 API 是 PINS_DRV_ReadPin 吗,有用逻辑分析仪抓波形同步观测 PINS_DRV_ReadPin 的返回值吗

        yuangzY 1 条回复 最后回复
        0
        • yuangzY 离线
          yuangzY 离线
          yuangz
          编写于 最后由 编辑
          #3

          回读电平用的 API 是 PINS_DRV_ReadPin ,这个没错,

          1 条回复 最后回复
          0
          • 车友车行车 离线
            车友车行车 离线
            车友车行 YunTu
            编写于 最后由 编辑
            #4

            PINS_DRV_SetPinDirection函数传参直接传2,不用1<<2试试

            1 条回复 最后回复
            0
            • majorM 离线
              majorM 离线
              major YunTu
              编写于 最后由 编辑
              #5

              I2C是OD输出,需要用切换方向模拟,GPIO配置输出为0,切换输入方向代表 输出 1, 切换输出方向代表输出0,不能配置输出1.

              yuangzY 1 条回复 最后回复
              0
              • yuangzY 离线
                yuangzY 离线
                yuangz
                回复了major 最后由 编辑
                #6

                major PINS_DRV_SetPinDirection(GPIOA, (pins_channel_type_t)1 << 2U, 1); 第3个 参数设定为0, 1 好像都没有什么影响。 写 GPIO PTA_2 正常, 读一直 是 OXFF。 感觉这个设定方向的 函数没有起作用

                1 条回复 最后回复
                0
                • yuangzY 离线
                  yuangzY 离线
                  yuangz
                  回复了Kirk 最后由 编辑
                  #7

                  Kirk 0d24adc8-4e1a-4b48-8bc2-0717d9b31647-image.png 为啥 这个值 是 1100 1100(0xcc)和 1101 1100(0xdc)?

                  KirkK 1 条回复 最后回复
                  0
                  • qinzhaoQ 离线
                    qinzhaoQ 离线
                    qinzhao YunTu
                    编写于 最后由 编辑
                    #8

                    PINS_DRV_SetMuxModeSel(PCTRLA, 2U, PCTRL_MUX_AS_GPIO); /* PTA2 -> GPIO 复用 /
                    PINS_DRV_SetPinDirection(GPIOA, 2U, GPIO_INPUT_DIRECTION); /
                    PTA2 -> 输入 */

                    pins_level_type_t pta2Level = PINS_DRV_ReadPin(GPIOA, 2U); /* 读 PTA2 电平 */
                    PRINTF("PTA2 level=%u\r\n", (unsigned)pta2Level); 可以检查一下PTA是不是复用成GPIO的

                    yuangzY 1 条回复 最后回复
                    0
                    • KirkK 离线
                      KirkK 离线
                      Kirk YunTu
                      回复了yuangz 最后由 Kirk 编辑
                      #9

                      yuangz
                      驱动底层有左移操作了,PINS_DRV_SetPinDirection 第二个参数直接写 2 就好,不需要左移操作了
                      3367ac27-6aa1-4898-adc1-c057715c0b50-image.png

                      1 条回复 最后回复
                      0
                      • yuangzY 离线
                        yuangzY 离线
                        yuangz
                        回复了qinzhao 最后由 编辑
                        #10

                        qinzhao Kirk 问题已经查明, PINS_DRV_SetPinDirection, PINS_DRV_ReadPin 的指定管脚,是 数字, 不是 左移位的次数。。。。和 写GPIO 的不一样。。。。

                        1 条回复 最后回复
                        0
                        • ,yuangzY yuangz 将这个主题标记为已解决
                        • ,yuangzY yuangz 将这个主题标记为已解决

                      • 云途开发生态介绍

                        快速上手云途开发生态

                      • 云途论坛规则/Yuntu Forum Rules

                        发帖前请查看

                      • YT CONFIG TOOL调查问卷

                        帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

                      • can
                        28
                        demo
                        26
                        uds
                        14
                        lin stack
                        13
                        fbl
                        6
                        md14
                        6
                        yt-link
                        6
                        adc模块
                        4
                        Online Users
                        • 登录

                        • 登录或注册以进行搜索。
                        • 第一个帖子
                          最后一个帖子
                        0
                        • 版块
                        • 最新
                        • 标签
                        • 热门