作者iamback5566 (我是貝殼)
看板Python
標題[問題] pyserial透過UART讀寫資料
時間Sun Sep 8 20:16:57 2019
原本可以透過像Tera term、putty這類的程式
藉由UART去下指令
ex:在tera term打"ver" chip就會回我目前的fw version
最近想透過python來完成這項事情但一直做不到
連結為程式碼
http://codepad.org/cSalzfge
爬文後 有對輸入的指令做encode跟decode
但在termianl看到的輸出結果卻是不連串的ver排列組合(er ver ve v...
如果用ser.readline()更會完全停住 只能把terminal關掉再重開
請問我哪裡出錯了呢?
我是在Visual stdio code上面撰寫執行
小弟新手 麻煩各位教我QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.156.184 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1567945023.A.978.html
1F:推 rexyeah: 你沒有call flush? 09/08 21:55
2F:→ iamback5566: 意思是寫完一個指令就要call flush? 09/08 22:23
3F:推 rexyeah: 我用minicom測了一下 你的程式在我的環境工作很正常 09/09 12:35
4F:→ rexyeah: 我一開始以為你只有寫入buffer沒有flush 抱歉 09/09 12:35
5F:→ rexyeah: 我沒有用過VS 我在Ubuntu16.04+minicom+隨便板子 直接 09/09 12:37
6F:→ rexyeah: 複製貼上你的code,我看minicom有一直寫入ver沒被截斷 09/09 12:38
7F:推 legendmtg: 你的baudrate對嗎? 09/09 15:37
8F:推 rexyeah: baudrate不對應該連閱讀都很困難。 09/09 19:00
我沒寫好...write應該要寫在while迴圈外
l大 baudrate是對的 我在tera term就是設115200
r大 意思是你在minicom讀板子的狀態有收到pyserial送過來的ver指令嗎?
如果是的話那我可能要看板端的C code怎麼改
※ 編輯: iamback5566 (123.192.156.184 臺灣), 09/09/2019 19:20:18
9F:推 rexyeah: 是。我開兩個terminal, 一個跑minicom , 一個跑你的程式 09/09 22:27
10F:→ rexyeah: 。我看ver不斷寫入。 09/09 22:27
11F:→ iamback5566: 好 我再看看 謝謝大大 09/11 19:55