pl2303: octave:6> s = serial (); # 8-N-1 octave:7> s s = 3 octave:8> srl_write(s,"hello") ans = 5 octave:9> char(srl_read (s,5)) ans = hello octave:10> char(srl_read (s,15)) # Not a ring, buffer is empty ^Csrl_read: Interrupting... ans = octave:11> srl_flush(s, 1) octave:12> char(srl_read (s,5)) # Blocked, as buffer is empty ^Csrl_read: Interrupting... ans = octave:13> srl_write(s,"hello") ans = 5 octave:14> char(srl_read (s,5)) # Does not block, as there is data in the buffer ans = hello octave:15> srl_close(s) FT232RL: octave:16> s = serial (); # 8-N-1 octave:17> s s = 3 octave:18> srl_write(s,"hello") ans = 5 octave:19> char(srl_read (s,5)) ans = hello octave:20> char(srl_read (s,15)) # Not a ring, buffer is empty ^Csrl_read: Interrupting... ans = octave:21> srl_flush (s, 1) octave:22> char(srl_read (s,5)) # Blocked, as buffer is empty ^Csrl_read: Interrupting... ans = octave:23> srl_write(s,"hello") ans = 5 octave:24> char(srl_read (s,5)) # Does not block, as there is data in the buffer ans = hello octave:25>