Python中文
首页
教程
问答
标签
搜索
登录
注册
线程和IO访问中的Python无限循环
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个设备,运行在带有Armbian的NanoPi板上。我的应用程序运行一个主循环,并使用Python内置的线程库运行一个单独的线程。它们都需要访问GPIO——一个轮询多个输入,另一个控制一些输出。我遇到了一个问题-当线程运行时,我的Python解释器返回一个错误:<code>No access to /dev/mem. Try running as root!</code>似乎一个线程一次可以访问/dev/mem(virtual?)文件。我该如何解决这个问题?我需要经常访问GPIO,因为我不想错过任何传入的脉冲</p> <pre><code>def impulse_counter(): global counter while 1: if GPIO.event_detected(INPUT_1): print("Current cnt state: %d" % (counter)) counter += 1 </code></pre> <p>这在单独的模块中:</p> <pre><code> input_counter = threading.Thread(target=mbox_io.impulse_counter) if __name__ == "__main__": input_counter.start() while 1: <Some long code is running here, irrelevant> mbox_io.red_off() </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>只是一个猜测,但是对于非root用户来说,/dev/mem不是只读的吗? 如果是这样的话,当切换IOs的线程返回错误时,轮询器线程不是运行正常吗? {<cd1>}显示了什么?作为root用户运行是否真的有帮助,因为您还没有说明这一点</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何重塑数组、迭代列的所有行并将重塑后的数组分配给新列?Python/Pandas/Numpy
9 回答
如何重塑数组的形状?
9 回答
如何重塑文本数据以适应keras的LSTM模型
10 回答
如何重塑未对齐的数据集,并使用numpy丢弃剩余数据?
2 回答
如何重塑此数据以使用绘图
4 回答
如何重塑此数据帧?
4 回答
如何重塑此数据集以适应RNN
2 回答
如何重塑没有列的数组?
4 回答
如何重塑测试数据帧,使其维数与训练和预测工作中使用的维数相同?
8 回答
如何重塑系列以在StandardScaler中使用它
10 回答
如何重塑线性回归的数据
3 回答
如何重塑线性回归的数据?
7 回答
如何重塑表格?
6 回答
如何重塑要堆叠的重复宽数据帧?
6 回答
如何重塑输入以放入二维层?
3 回答
如何重塑输入神经网络的三通道数据集
1 回答
如何重塑这个numpy数组
8 回答
如何重塑这个numpy数组以排除“额外维度”?
7 回答
如何重塑这个numpy阵列?
2 回答
如何重塑这个数据帧
8 回答