0

我是 python 新手,对 python 缩进完全陌生。每当我尝试运行以下代码时都会出现语法错误,这是什么问题?已经谢谢了。

#!/usr/bin/python

import RPi.GPIO as GPIO
import time

def RC_Analog (Pin):  
 counter = 0  
 # Discharge capacitor  
 GPIO.setup(Pin, GPIO.OUT)  
 GPIO.output(Pin, GPIO.LOW)  
 time.sleep(0.1)  
 GPIO.setup(Pin, GPIO.IN)  
 # Count loops until voltage across capacitor reads high on GPIO  
 while(GPIO.input(Pin)==GPIO.LOW):  
  counter =counter+1  
 return counter  

# Set up header pin 11 as an input
triggerPin = 25;
echoPin = 8;
GPIO.setmode(GPIO.BCM)
GPIO.setup(triggerPin, GPIO.OUT)
GPIO.setup(echoPin, GPIO.IN)

while True:
 GPIO.output(triggerPin, False)
 time.sleep(0.000002)
 GPIO.output(triggerPin, True)
 time.sleep(0.00001)
 GPIO.output(triggerPin, False)
 print RC_Analog(echoPin)/58
 time.sleep (0.25)
4

3 回答 3

1

def?RC_Analog(Pin)它突出了问号区域

如果您看到代码为def RC_Analog(Pin),但语法错误消息从字面上打印出来def?RC_Analog(Pin),听起来您在 和 之间有一个 ASCII 空格字符以外的东西defRC_Analog比如 Unicode不间断空格,或其他类似于 a 的 Unicode 字符空间。

用键盘输入的空格替换它应该可以解决问题。

编写 Python 脚本时,最好确保只使用 7 位 ASCII 字符集。一些文本编辑器允许您在配置选项中进行设置,其他文本编辑器允许您在保存时选择编码。

如果您使用的是 Windows 记事本,请在保存时选择“ANSI”。

于 2013-04-20T15:07:28.543 回答
1

你真的在使用 python 来启动你的脚本吗?如果我尝试将它作为 shell 脚本获取,我会在同一个地方得到一个错误:

. test.py

确保使用 python 启动它:

python test.py

或使其可执行: chmod u+x test.py 并使用以下命令启动它: ./test.py

于 2013-04-20T14:21:15.693 回答
0

如果你得到

ImportError: No module named RPi.GPIO

你需要先安装模块

https://pypi.python.org/pypi/RPi.GPIO

于 2013-04-20T14:00:55.827 回答