You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为BeagleBone Black传感器输出添加时间并解决语法报错

问题解答

语法错误原因

  • 直接触发报错的原因是print('%f\t%f' % (reading, volts)这一行末尾缺少闭合的右括号),Python解析器会判定当前表达式未结束,将下一行的time.sleep(0.5)识别为print语句的参数内容,因此报语法错误。注意Python语法报错箭头指向的行不一定是错误本身的位置,需要优先检查上一行的语法完整性。
  • 你给出的代码中ADC.setup()和首行print语句存在多余的前置缩进,不属于任何代码块的顶层代码不需要缩进,也会引发语法异常。
  • 你尝试编写的时间相关代码段存在两个问题:一是print语句同样缺少闭合右括号,二是格式化符写为\%s是错误用法,不需要加反斜杠转义,直接使用%f(输出浮点型时间)即可。

修复后可直接运行的代码

import Adafruit_BBIO.ADC as ADC
import time

sensor_pin = 'P9_40'

ADC.setup()
print('Reading\t\tVolts\t\tRun Time(s)')
start_time = time.time()

while True:
    reading = ADC.read(sensor_pin)
    volts = reading * 1.800
    run_seconds = time.time() - start_time
    print(f"{reading:.6f}\t{volts:.6f}\t{run_seconds:.2f}")
    time.sleep(0.5)

更优的秒级运行时间输出方案

  • 优先使用Python3.6+支持的f-string做字符串格式化,不需要手动匹配占位符和参数顺序,代码可读性更高,可通过:数字的格式直接指定保留的小数位数,适配秒级输出的精度需求。
  • 如果需要累计运行时间,将start_time定义在循环体外即可,不需要额外引入其他依赖。

内容的提问来源于stack exchange,提问作者Nicholai Mørch Rindarøy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:24:05