Agar sistem tetap independen, gunakan bahasa pemrograman lintas platform:seperti Python, gunakan pustaka serial lintas platform seperti:pySerial dan lakukan pemrosesan di dalam skrip. Saya telah menggunakan pySerial dan saya dapat menjalankan skrip lintas platform dengan hampir tidak ada perubahan pada kode sumber. Dengan menggunakan BASH, Anda sedikit membatasi diri sendiri.
Bukankah ini yang Anda cari?
while read -r line < /dev/ttyS2; do
# $line is the line read, do something with it
# which produces $result
echo $result > /dev/ttyS2
done
Kemungkinan membuka kembali perangkat serial di setiap baris memiliki beberapa efek samping, dalam hal ini Anda dapat mencoba:
while read -r line; do
# $line is the line read, do something with it
# which produces $result
echo $result > /dev/ttyS2
done < /dev/ttyS2
Anda juga dapat memindahkan pengalihan keluaran, tetapi saya menduga Anda harus mematikan buffering stdout.
Mengapa beberapa pemrogram kernel menggunakan goto alih-alih simple while loops?
Penanganan memori dengan struct epoll_event