• Recent
    • Docs
    • Github
    • 百度网盘
    • Onedrive
    • Official
    • Shop
    • Register
    • Login

    CoolPi 4B的GPIO问题

    Scheduled Pinned Locked Moved Pi 4B
    12 Posts 4 Posters 863 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Threadripper
      last edited by

      测试代码
      import time
      import CPi.GPIO as GPIO

      PIN = 22
      GPIO.setmode(GPIO.BOARD)
      GPIO.setup(PIN, GPIO.IN)

      while True:
      print(GPIO.input(PIN))
      time.sleep(1)

      不知道设置上拉的命令是什么,设置GPIO.UP那些都没有该模块,如果不能设置上拉,该GPIO作为输入的时候,引脚电流大概有75mA,但其他单片机一般引脚输出电流20mA左右,因此将无法检测到高电平。
      这个问题该如何解决?
      主要是能否设置上拉,不能的话,是否有引脚设置的默认上拉?

      大法师大 1 Reply Last reply Reply Quote 0
      • 大法师大
        大法师 @Threadripper
        last edited by

        @Threadripper
        你是用哪个镜像版本

        jack@cool-pi.com

        T 1 Reply Last reply Reply Quote 0
        • T
          Threadripper @大法师
          last edited by

          @大法师 0306的22.04 CPi是论坛下的

          大法师大 1 Reply Last reply Reply Quote 0
          • 大法师大
            大法师 @Threadripper
            last edited by

            @Threadripper
            你加个sudo权限运行试下

            jack@cool-pi.com

            T 1 Reply Last reply Reply Quote 0
            • J
              jack_admin
              last edited by

              PIN 22 set input

              PIN 40 (RK chip gpio115) set output

              python gpio.png

              T 1 Reply Last reply Reply Quote 0
              • T
                Threadripper @大法师
                last edited by

                @大法师 不是 我在
                import CPi.GPIO as GPIO
                然后
                help(GPIO)
                里面找到setup
                发现里面并没有设置上拉的选项 只有设置是输入还是输出 以及引脚号和初始的时候是高电平还是低电平

                大法师大 1 Reply Last reply Reply Quote 0
                • 大法师大
                  大法师 @Threadripper
                  last edited by

                  @Threadripper
                  没有单独设置上拉、下拉配置。如果特殊需要,可以自己更改内核dtb配置,一般情况下不用改

                  jack@cool-pi.com

                  T A 2 Replies Last reply Reply Quote 0
                  • T
                    Threadripper @jack_admin
                    last edited by

                    @jack_admin 我是这样用是可以用 我遇到的问题是我手上有一个不带上拉电阻的IRQ引脚 在触发某个事件的时候会拉低 平常是高电平 我这个IRQ引脚最大只能输出20ma电流 超过则无法输出高电平 所以导致了接4b上面的时候无法正确检测到高电平 这个问题导致了全程都会被误判为进入中断

                    1 Reply Last reply Reply Quote 0
                    • T
                      Threadripper @大法师
                      last edited by

                      @大法师 好的

                      1 Reply Last reply Reply Quote 0
                      • A
                        AugustRobot_Zou @大法师
                        last edited by AugustRobot_Zou

                        @大法师 请问有办法设置上电时的初始GPIO电平吗?
                        我切到root用户,echo 115 > /sys/class/gpio/export
                        /sys/class/gpio/gpio115 下 使用命令 echo 0 > value。都能操作成功,但是断电重启后,又恢复了。有没办法,修改后,断电再上电还能保持设置的电平

                        大法师大 1 Reply Last reply Reply Quote 0
                        • 大法师大
                          大法师 @AugustRobot_Zou
                          last edited by

                          @AugustRobot_Zou 把需要操作的命令加到/etc/rc.local

                          jack@cool-pi.com

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            AugustRobot_Zou @大法师
                            last edited by AugustRobot_Zou

                            @大法师 谢谢!搞定了
                            ubuntu 20没有/etc/rc.local,需要

                            1. 新建service
                              sudo vim /etc/systemd/system/rc-local.service
                            [Unit]
                             Description=/etc/rc.local Compatibility
                             ConditionPathExists=/etc/rc.local
                            [Service]
                             Type=forking
                             ExecStart=/etc/rc.local start
                             TimeoutSec=0
                             StandardOutput=tty
                             RemainAfterExit=yes
                             SysVStartPriority=99
                            [Install]
                             WantedBy=multi-user.target
                            

                            2.使能service
                            sudo systemctl enable rc-local.service
                            3.新建/etc/rc.local
                            sudo vim /etc/rc.local
                            并需要操作的命令加进去
                            4.启动服务
                            sudo systemctl start rc-local.service
                            sudo systemctl status rc-local.service

                            1 Reply Last reply Reply Quote 1
                            • 1 / 1
                            • First post
                              Last post