Hassun hauskaa huomenta !
Win 7 Pro, 64 bit, Python 3.2
Yritän lukea sarjapotilta tulevaa tietoa, ei vaan onnistu,
olen yrittänyt varmaan pariakymmentä eri esimerkkiä ja aina sama virhe.
import serial import time ser = serial.Serial('COM4', 9600, timeout=0) while 1: try: print ser.readline() time.sleep(1) except ser.SerialTimeoutException: print('Data could not be read') time.sleep(1)
Check module ilmoittaa aina virheen
- lauseessa "print ser.readline()",
- kohtaan "ser"
Mitä en nyt hoksaa, vai mistä tämä johtuu ?
- yhteensopivuuongelmia minun ja Pythonin välillä ?
73 de OH8GJF, Heikki
Mod. lisäsi kooditagit!
Koodistasi puuttuvat siitä kohdasta sulut print-funktion parametrin ympäriltä. Python 2:ssa sulkuja ei tarvita, joten varmasti ”viallisia” rivejä on monissa esimerkeissä.
Kysymyksen yhteydessä on syytä aina kertoa myös, mikä virheilmoitus tulee. Python 2:n vuoksi tuokin rivi näyttää nopeasti katsoen olevan kunnossa, ja siksi eksyin turhaan tutkimaan Serial-luokkaa, kun taas virheilmoituksen perusteella ongelma olisi löytynyt heti. SyntaxError ylipäänsä kertoo, että vika on koodin muodossa eikä sisällössä, jolloin ongelma on helppo ratkaista ihan itsekin tarkistamalla, että kaikki symbolit ja sulut ovat rivillä oikein, ja ainakaan ei tarvitse hämätä muita keskustelijoita epäolennaisilla asioilla kuten sarjaportilla.
Kiitos, olisipa tuota saanut etsiä.
73 de OH8GJF, heikki
Aihe on jo aika vanha, joten et voi enää vastata siihen.