Python Forum
Pyserial ser.read() not working
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pyserial ser.read() not working
#1
I'm new to Python and Pyserial.

I have this project that I'm working on where I need to have an Arduino communicate to my Python code through Pyserial.

Here is my Pyserial code.

import serial
import time
import sys

ser = serial.Serial('/dev/cu.usbserial-A505BRMT', 9600)  # open serial port
while True:
    print('write:',str.encode('90')) #print the sent value through the serial to check
    ser.write(str.encode('90'))#send the following value


    
    print('read:',ser.read(0))#read the same value back from the arduino

    time.sleep(1) 
Here is my Arduino code.
char data; //Holds incoming character

void setup()
{
Serial.begin(9600);   //Serial Port at 9600 baud
}

void loop() {
  if (Serial.available() > 0)   //Print only when data is received
  {
    data = Serial.read();   //Read byte of data
    Serial.print(data);   //Print byte of data
  }
}
Basically I'm sending a number (90) to the Arduino to read it in the serial monitor and then send it back to the Python code to read it again.
print('read:',ser.read(0)) This line doesn't seem to work no matter the value I use

Anyone has an idea to fix it?
Reply
#2
Shouldn't it be non-zero value in ser.read(0)? it's the size (in bytes) to read
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  pySerial .read() mike_zah 4 1,316 Mar-02-2023, 09:12 PM
Last Post: mike_zah
  Unable to read csv file inside full code snippet, at the same time its working seprat sreeraj 2 2,970 Jan-28-2018, 07:25 PM
Last Post: sreeraj

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020