Pythonのお勉強 Part62 (455レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
105
(2): 2020/04/26(日)18:22 ID:1kL3nhkt(1/5) AAS
Windows上でpyserialのreadline()を使ってるんだ。マニュアルによると、readline()は'\n'で終わるデータを受けたら制御を返すんだけど
この、'\n'はASCIIコードで言うと何になるんだろう?

'\n'は0x0aだと思うんだけど、0x0aで終わるデータを受けているのに、readline()がタイムアウトで制御を返しているようなんだ。
ちなみに、
マイコン→WiFiモジュール→WiFiルーター→PC
の流れでデータが入ってきてて、PC側の仮想COMはHW Virtual Serial Portを使ってる。
データの末尾が0x0aなのはWiresharkで調べた結果だ。

誰か分かる人がいたら教えてほしい。
107: 2020/04/26(日)18:57 ID:1kL3nhkt(2/5) AAS
>>106
それは知ってるんだ
16進数で表すと何になるのかな?
109
(1): 2020/04/26(日)19:10 ID:1kL3nhkt(3/5) AAS
>>108
マイコンはSTM32のベアメタル
普通のシリアルポートで出力したのを見ると末尾は0x0d0x0aになってる。
wiresharkで見たデータも末尾が0x0d0x0a。

Windows系は説明してくれてるように、末尾が0x0d0x0aなんで、readline()はこれで引っかかって
タイムアウトせずに制御を返すはずなんだけど実際にはタイムアウトで返してる。

もしかして、readline()について重大な誤解とかしてるのかな
111: 2020/04/26(日)19:32 ID:1kL3nhkt(4/5) AAS
>>110
見張ってるのは受信側で、pythonも同じPCで走ってる。
ボーレートはマイコン、PC、仮想COMアプリともに921600baudで3つともフロー制御なし
115: 2020/04/26(日)19:57 ID:1kL3nhkt(5/5) AAS
>>114
やっぱこれが臭いかもなと思って試してみたけど、変わらなかった

いい方法が見つからなかったらバイナリで送って1回のデータサイズを固定にしようと思う
デバッグが面倒だからあんまりやりたくないけど

みんなありがとう
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.022s