• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

用串口获取GPS数据的问题

rongjun2800 2016-10-03 浏览量:1049
本帖最后由 rongjun2800 于 2016-10-3 22:38 编辑

import serial

ser = serial.Serial("/dev/ttyAMA0",9600)

data = ''
while ser.inWaiting() > 0:
data += ser.read(1)
if data != '':
print data
ser.close()
else:
print "No Data!"
ser.close()

我把这段代码在python 中输入,可以获到数据。但是我写成脚本gps.py就会返回“No Data!”这是为什么?

脚本内容

脚本运行结果

直接运行代码结果
1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 应该还是时序问题,
    那个while与下面和部分,在单步与脚本中只是你输入时的延时不同吧。
    • 发布于 2016-10-03
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:9
  • 本帖最后由 LiuYang 于 2016-10-3 20:18 编辑

    if data:

    if data != "":

    if "$" in data:


    • 发布于2016-10-03
    • 举报
    • 评论 0
    • 1
    • 0

  • 在配置串口时,先打开软件流控,然后运行你的脚本,这个跟GPS模块有关
    • 发布于2016-10-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 谢谢大家极积的帮助,因为我的GPS模块是从汽车电子狗上拆的,所以没有具体型号和参考资料。正如“汉云”所说的,我没有考虑脚本在执行和硬件返回数据之间的一个时间问题,所以总是获取不到数据;现在我在"While"前加上"time.sleep(1)",就可以获取到数据了。剩下就是慢慢调整了。
    • 发布于2016-10-05
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

用串口获取GPS数据的问题