python - 在 Python 中用于 while 循环的 CPU 强度最低的调用
问题描述
我目前正在使用wiringpi 来控制我的Raspberry Pi 的mcp23017 扩展板的GPIO 端口。其中一个 GPIO 应用作输入并等待 INT_EDGE_FALLING 事件。Wiringpi 本身支持中断模式,但无论出于何种原因,仅支持 63 号引脚 - 我的是 70 号引脚。
所以我坚持这样的事情:
wiringpi.pinMode(70,0)
wiringpi.pullUpDnControl(70,2)
while wiringpi.digitalRead(70) == 1:
print "not pressed"
这个循环导致大约 6% 的 CPU 使用率 - 有什么办法可以减少这种情况吗?在 while 循环中使用的 cpu 强度最低的命令是哪个?
解决方案
您可以使用pass语句什么都不做。
while wiringpi.digitalRead(70) == 1:
pass
推荐阅读
- mapster - 如何将值附加到现有值
- python - 将 If 与 While 循环一起使用会导致无限循环
- google-chrome - Chrome 中的 ERR_SSL_KEY_USAGE_INCOMPATIBLE
- list - 有一个字典列表,每个字典都有多个值。想要将每个唯一值变成一个键并计算它们的出现次数
- javascript - 使用 Postgres 和 NodeJs 查询多个表的最佳方式
- java - 为什么我用 toString() 得到相同的结果,但用 getClass().getName() 得到不同的结果
- wordpress - Wordpress htaccess 通过特定请求重写到子文件夹
- c++ - 在 C++ 中计算数组中的反转时得到错误的输出
- d3.js - 如何使用我自己的颜色表而不是使用 d3 颜色集 ( interpolateviridis ) 来创建图例
- reactjs - className 在 Material-Tailwind 库组件中是否不起作用?