如何解决GPIO 引脚在不应该忙的时候忙
我在 python 中使用 lgpio 并创建一个项目,该项目允许我使用 Flask REST API 控制一些 gpio 引脚。出于某种原因,当我在没有烧瓶的情况下运行代码时,gpio 引脚工作得很好,但是一旦我添加了烧瓶,一切都会走下坡路。这是我的代码和错误,如果有人可以帮助或指出我正确的方向,那将是惊人的
import lgpio,time
from flask import Flask,jsonify,request
from flask_restful import Resource,Api
# creating the flask app
app = Flask(__name__)
# creating an API object
api = Api(app)
switchDown = 23
switchUp = 22
led1 = 20
led2 = 21
h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_input(h,switchUp)
lgpio.gpio_claim_input(h,switchDown)
lgpio.gpio_claim_output(h,led1)
lgpio.gpio_claim_output(h,led2)
#debugging trying to figure out why gpio is in use
print(lgpio.gpio_get_chip_info(h))
print(lgpio.gpio_get_line_info(h,switchUp))
print(lgpio.gpio_get_line_info(h,led1))
print(lgpio.gpio_get_mode(h,switchDown))
print(lgpio.gpio_get_mode(h,switchUp))
print(lgpio.gpio_get_mode(h,led2))
class test(Resource):
if lgpio.gpio_read(h,switchUp) == 1:
lgpio.gpio_write(h,led1,1)
time.sleep(5)
lgpio.gpio_write(h,0)
elif lgpio.gpio_read(h,switchDown) == 1:
lgpio.gpio_write(h,led2,0)
else:
lgpio.gpio_write(h,0)
lgpio.gpio_write(h,0)
# adding the defined resources along with their corresponding urls
api.add_resource(test,'/')
# driver function
if __name__ == '__main__':
app.run(debug = True)
打印语句的输出“
[0,58,'gpiochip0','pinctrl-bcm2711'] [0,22,1,'GPIO22','lg'] [0,20,3,'GPIO20','lg'] 257 257 515 515" Traceback (most recent call last): File "/home/ubuntu/nut-button/__main__.py",line 18,in <module> lgpio.gpio_claim_input(h,switchUp) File "/usr/local/lib/python3.9/dist-packages/lgpio-0.1.7.0-py3.9-linux-aarch64.egg/lgpio.py",line 744,in gpio_claim_input return _u2i(_lgpio._gpio_claim_input(handle&0xffff,lFlags,gpio)) File "/usr/local/lib/python3.9/dist-packages/lgpio-0.1.7.0-py3.9-linux-aarch64.egg/lgpio.py",line 458,in _u2i raise error(error_text(v)) lgpio.error: 'GPIO busy'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。