[序列埠] 有接USB但在軟體中讀不到序列埠?

在Linux使用序列埠比較麻煩的是權限的問題,在有連USB且/dev目錄下有看到所連接的裝置檔案(例如:ttyUSB0),若在軟體中還是沒有讀取到的話,通常就是權限的問題。

(環境:Ubuntu18.04LTS)
    1. 先確認目標裝置的權限
user@pc:~$ ls -al /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 十二  4 16:53 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 十二  4 16:53 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 十二  4 16:53 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3 十二  4 16:53 /dev/ttyUSB3
    2. 可以看到是660權限,也就是說非擁有者且非群組成員的其他人,是不能讀取的,這也是為什麼應用程式內讀不到的原因,一般使用者是沒有預設加入「dialout」群組的,因此將自己加入此群組藉此擁有讀取序列埠的權限
user@pc:~$ sudo usermod -a -G dialout user  #user當然就是你的使用者名稱拉

留言

這個網誌中的熱門文章