只有在使用键盘中断时,代码才会停止。
虽然我将其取出并读取了adc数据,然后随着update_sheet一起跳过了spi.close (“PCEM SHT.1",ADCDATA),但还是使用了断点。
我尝试使用不同的异常,根据ADCDATA中的变量数量引发异常,但没有效果
# import many libraries
#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import print_function
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
from oauth2client.service_account import ServiceAccountCredentials
import datetime
import spidev # import the SPI driver
def read_mcp3002(channel):
### Working ADC Code
return adc_data
def update_sheet(sheetname, my_list):
###Working Update google sheet code
try:
while True:
Result=1##3.23#for 3302 [mV]..... Voltage=(High Voltage-Low Voltage)/(2^(# of conversion bits))
voltage1=(read_mcp3002(0))
voltage1k=voltage1*Result
voltage2=(read_mcp3002(1))
voltage2k=voltage2*Result # This one #
ADCDATA += [[voltage1k, voltage2k]]
if len(ADCDATA) == 100000:
#print(ADCDATA)
ADCDATA = []
print("+10000")
except KeyboardInterrupt: # Ctrl-C
spi.close()
def main():
update_sheet("PCEM SHT.1", ADCDATA)
if __name__ == '__main__':
main()期望的结果是在len( ADCDATA) =100000处自动停止:如果len(ADCDATA)为==100000,它将运行if语句中的代码,还将执行spi.close(),最后通过def main()的update_sheet("PCEM SHT1",ADCDATA)运行。
发布于 2019-04-09 12:15:07
我可以通过导入sys并在if len(ADCDATA)==100000的底部放置一个系统出口(1)来处理我的问题。
if len(ADCDATA)==100000print("PCEM DATA") spi.close() update_sheet"........")sys.exit(1)
https://stackoverflow.com/questions/55583822
复制相似问题