當前位置:首頁 » 操作系統 » linux串口at

linux串口at

發布時間: 2023-03-17 15:06:39

linux C 配置串口

配置串口需要包含頭文件

其中最核心的配置結構體為:

如何獲取該結構呢?我們操作串口跟操作文件一樣,也是調用 open() 函數來打開串口,

這樣我們就能夠得到一個文件描述符 fd ,然後就可以調用 tcgetattr() 函數來獲取上述配置結構體了。

Linux 串口默認的配置為:波特率 9600,數據位 8 位,無奇偶校驗,停止位 1 位,無 CTS/RTS 。

以下介紹一些常用的配置項:波特率、奇偶校驗、數據位、停止位、硬體控制流。

相關介面:

Linux 將串口的波特率分為了輸入波特率和輸出波特率,不過最常用的場景是將兩者設置成一樣。

cfgetispeed() 函數獲取輸入波特率, cfgetospeed() 函數獲取輸出波特率。 cfsetispeed() 函數設置輸入波特率, cfsetospeed() 函數用於設置輸出波特率,當然 cfsetspeed() 函數擴展為同時設置輸入和輸出波特率。

上述介面中的 speed_t 是一系列波特率的標志位,例如常用的 115200 波特率就為 B115200,參考下述選項:

設置奇偶校驗位可以通過修改 termios 結構體中的 c_cflag 成員來實現,若無校驗,則將 PARENB 位設為 0;若有校驗,則 PARENB 為 1。之後再根據 PARODD 來區分奇偶校驗, PARODD 為 1 表示奇校驗, PARODD 為 0 表示偶校驗。例如設置無奇偶校驗位:

設置數據位可以通過修改 termios 結構體中的 c_cflag 成員來實現,CS5、CS6、CS7 和 CS8 分別代表數據位 5、6、7 和 8。不過在設置數據位之前,需要先用 CSIZE 來做屏蔽欄位,清楚這幾個標志位,例如設置數據位為 8 位:

設置停止位可以通過修改 termios 結構體中的 c_cflag 成員來實現, CSTOPB 位為 1 表示 2 位停止位, CSTOPB 位為 0 標志 1 位停止位。例如設置停止位為 1 位:

設置硬體控制流可以通過修改 termios 結構體中的 c_cflag 成員來實現, CRTSCTS 為 1 表示使用硬體控制流,為 0 表示不使用硬體控制流。例如使能硬體控制流:

當然,最後還需要用 tcflush() 拋棄存儲在 fd 里的未接收的數據。

再利用介面 tcsetattr() 函數將配置信息寫入文件描述符 fd :

這樣整個串口最常用的用法就配置完成了。

具體的配置使用可以參考我的項目 HCI-Middleware 里的 hci_transport_uart_linux.c 文件。

參考:

Ⅱ linux下通過串口操作AT指令怎麼撥打電話

一爛輪個Python實現的串口Echoimportserialimportsystry: ser=serial.Serial('/dev/飢物信ttyUSB0',9600)exceptException,e: print'openserialfailed.' exit(1)print'ASerialEchoIsRunning'螞擾whileTrue: #echo s=ser.read() ser.write(s) #writetostdoutandflushit sys.stdout.write(s) sys.stdout.flush()

Ⅲ 如何在linux上使用串口設備

簡單的運行 dmesg 命令
$ dmesg | grep tty
輸出:
[ 37.531286] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.531841] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.532138] 0000:04:00.3: ttyS1 at I/O 0x1020 (irq = 18) is a 16550A

setserial 命令
setserial 是一個程序用於設定並/或報告某個串口關聯的配置信息。該信息包括串口用到的I/O 埠和中斷號,以及Break鍵是否應被解釋為Secure Attention Key 等等。 僅僅是輸出如下的命令:
$ setserial -g /dev/ttyS[0123]
輸出:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x1020, IRQ: 18
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

帶-g選項的setserial幫助找到你的Linux板子上的物理串口。
Linux 串口控制台程序
一旦串口被確定了,你就能使用許多的工具來配置Linux板子:
minicom- 用於控制modem和連接到mp 設備的最好的串口通信程序。
wvidial or other GUI dial up networking program - 一個內建智能PPP 撥號器。
getty / agetty - agetty 打開一個 tty 埠, 提示登錄名稱並調用 /bin/login 命令。
grub / lilo configuration - 配置串口為系統控制台。

Ⅳ 在linux上怎樣操作at at+cfun=1

1、常用操作
1.1 AT
命令解釋:檢測 Mole 與串口是否連通,能否接收 AT 命令;
命令格式:AT
命令返回:OK (與串口通信正常)
(無返回,與串口通信未連通)
測試結果:AT
OK

1.2 AT+CSQ
命令解釋:檢查網路信號強度
命令格式:AT+CSQ
命令返回:+CSQ: **,##
其中**應在 10 到 31 之間,數值越大表明信號質量越好,##為誤碼
率,值在 0 到 99 之間。
否則應檢查天線或 SIM 卡是否正確安裝
測試結果:AT+CSQ
+CSQ: 20,5

1.3 AT+CPIN?
命令解釋:檢查登入移動設備(ME)的密碼.
命令格式:AT+CPIN?
命令返回:+CPIN: 狀態
其中狀態值可能是:
READY(表示 SIM卡正常,同時不需要登入密碼),
SIM PIN (表示 ME等待提供 SIM卡的 PIN 碼)
SIM PUK (表示 ME等待提供 SIM卡的 PUK碼)
SIM PIN2 (表示 ME等待提供 SIM 卡的 PIN2 碼)
SIM PUK2 (表示 ME等待提供 SIM卡的 PUK2 碼)
PH-SIM PIN (表示設備被鎖 SIM卡,ME等待提供從手機到 SIM卡的密碼)
PH-NET PIN (表示設備被鎖網路,ME等待提供提供網路個性化密碼)
ERROR (表示 SIM卡失敗或沒有插入 SIM卡)
測試結果:AT+CPIN?
+CPIN: READY
表示SIM卡正常,同時不需要登入密碼。

1.4 AT+COPS?
命令解釋:查詢運營商選擇狀態.
命令格式:AT+COPS?
命令返回:+COPS: ,,
的值為0 到 4, 默認值是 0
的值為 0 到 2, 默認值是 2
的值為運營商代碼, 中國移動的代碼是 46000, 聯通的代碼是 46001
測試結果:AT+COPS? Tech-Link T&E Limited 常用 AT 命令手冊
- 2 -
+COPS: 0, 2, 46000

1.5 AT+WOPEN=2
命令解釋:查詢模塊支持 Open AT 的 Library 版本及是否有 Open AT Application 在模塊中.
命令格式:AT+ WOPEN=2
命令返回:+WOPEN: 2, 「 Open AT Library version」 ,」 Open AT Application version」
Open AT Library version 代表的是模塊支持 Open AT 的 Library 版本,通常顯示的
值為」 AT v04.1x」 或 」 AT v04.2x」
Open AT Application version 代表的是模塊支持 Open AT 的 Library 版本,通常顯
示的值為」 AT v04.1x」 或 」 AT v04.2x」
注: 「 Open AT Library version」 和」 Open AT Application version」 兩個值必須是一個
一致(除最後一位外),否則會導致 Open AT 程序不穩定.
如果返回值」 Open AT Application version」 中沒有數據,僅顯
示+WOPEN: 2,」 AT v04.10」 則表示模塊中沒有 Open AT Application 程序.
測試結果:AT+WOPEN=2
+WOPEN: 2,」 AT v04.10」 ,」 AT v04.11」
OK

1.6 AT+WOPEN=0
命令解釋:停止 Open AT Application 程序.
命令格式:AT+ WOPEN=0
命令返回:OK 或 ERROR
測試結果:AT+WOPEN=0
OK

1.7 AT+WOPEN=4
命令解釋:刪除 Open AT Application 程序.
命令格式:AT+ WOPEN=4
命令返回:OK 或 ERROR
測試結果:AT+WOPEN=4
OK
注: 刪除 Open AT Application 程序前,必須先使用 AT+WOPEN=0 停止 Open AT 程序.

1.8 AT+WOPEN=1
命令解釋:開啟 Open AT Application 程序.
命令格式:AT+ WOPEN=1
命令返回:OK 或 ERROR
測試結果:AT+WOPEN=1
OK

1.9 AT+WIPCFG=3
命令解釋:查詢 WIP 軟體版本.
命令格式:AT+ WIPCFG=3
命令返回: 或 ERROR
測試結果:AT+WIPCFG=3
WIP Soft v201 on Open AT OS v411
OK Tech-Link T&E Limited 常用 AT 命令手冊
- 3 -
注意: 使用 AT+WIPCFG=3 命令前,必須確保 Open AT 程序是開啟狀態(即 AT+WOPEN=1).
WIP Soft v201 代表 WIP 的軟體版本是 V201, on Open AT OS v411 代表前面 v201 的
WIP 軟體是基於 v411的 Opean AT 開發平台上開發的.
WIP 軟體就是TCP/IP 協議站

1.10 AT+CSCS?
命令解釋:查詢終端適配器(TE)的字元集.
命令格式:AT+ CSCS?
命令返回:<字元集編碼格式>
返回值通常是下列中的一項.
「 GSM」 ----- GSM預設符號集(參考 GSM 03.38 第 6.2.1 節).
「 PCCP437」 ---- PC字元集代碼頁 437.
「 CUSTOM」 ---- 用戶自定義.
「 HEX」 ---- 十六進制: (取值范圍:00 到 FF。比如:052FE6 表示 3 個 8bit 字
符,轉換為十進制,分別為 5、47、230,禁止轉換為 ME原始字元集).
測試結果:AT+CSCS?
+CSCS: 「 PCCP437」
OK

1.11 AT+CGSN
命令解釋:查詢模塊的 IMEI 號碼.
命令格式:AT+ CGSN
命令返回:
測試結果:AT+CGSN
012345678901234
OK
注意: 如果顯示 012345678901234 表示模塊沒有寫IMEI 號碼,有 IMEI 號碼的話
應該顯示是 35xxxxxxxx (共 15 位數字).

1.12 ATI7
命令解釋:查詢語音編碼特性
命令格式:ATI7
命令返回:SPEECH CODINGS: FR,EFR,HR,AMR

1.13 A TZ
命令解釋:恢復默認設置
命令格式:ATZ
命令返回:OK

1.14 AT+CGMR (此命令功能同等於 ATI3)
命令解釋:查詢模塊版本;
命令格式:AT+CGMR
命令返回:
+CMEERROR
測試結果:AT+CGMR
661_09gg.Q2686H 1925236 100506 11:13
OK Tech-Link T&E Limited 常用 AT 命令手冊
- 4 -
解釋:模塊的 Firmware 版本號為 661

1.15 AT+IPR
命令解釋:修改串口 1 波特率;
命令格式:AT+IPR=
命令返回:ERROR
OK
測試結果:AT+IPR=115200
OK
注意:串口波特率修改為 115200 後要把串口調試工具的波特率設為相應波
特率後模塊才會有返回.

1.16 AT&W
命令解釋:保存模塊設置;
命令格式:AT&W
命令返回:OK
ERROR(保存不成功)
測試結果:AT&W
OK

1.17 ;&W
命令解釋:連續保存命令
命令格式:ATxxx;&W (AT xxx 代表要設置的命令,緊跟;&W 表示執行此設置的
同時保存該設置)
命令返回:OK
例如要將模塊的波特率設置成 115200 並保存它,則可以直接按如下操作:
測試結果:AT+IPR=115200;&W

1.18 AT+CGMI
命令解釋:查詢模塊廠商的標識;
命令格式:AT+CGMI
命令返回:WAVECOM MODEM
測試結果:AT+CGMI
WAVECOM MODEM

1.19 AT+CGMM
命令解釋:獲取模塊支持的頻帶;
命令格式:AT+CGMM
命令返回:MULTIBAND 900E 1800
900E
1800
1900
G850
MULTIBAND G850 1900
測試結果:AT+CGMM
MULTIBAND 900E 1800 (表示模塊支持多頻帶,首選頻帶為 900E 1800)
Tech-Link T&E Limited 常用 AT 命令手冊
- 5 -
1.20 A/
命令解釋:重復上次命令;
命令格式:A/
命令返回:上一次 AT 命令返回的值
這命令重復前一個執行的命令

1.21 AT+CPOF
命令解釋:關機;這個特殊的命令可停止 GSM軟體堆棧和硬體層
命令格式:AT+CPOF
命令返回:OK
測試結果:AT+CPOF
OK
注: AT+CPOF用於停止 GSM軟體堆棧,這命令的功能與 AT+CFUN=0 相同,
執行 AT+CFUN=1即可重新運行 GSM軟體堆棧.
A T+CPOF=1用於停止 GSM硬體層,運行此命令後 AT 將失去回應,必需
對模塊進行硬體復位模塊方可重新工作.

Ⅳ 如何查看linux下串口是否可用串口名稱等

分析如下:

1、查看串口是否可用,可以對串口發送數據比如對com1口,echo lyjie126 > /dev/ttyS0。

2、查看串口名稱使用ls-l/dev/ttyS* 一般情況下串口的名稱全部在dev下面,如果你沒有外插串口卡的話默認是dev下的ttyS* ,一般ttyS0對應com1,ttyS1對應com2,當然也不一定是必然的;

3、查看串口驅動:cat /proc/tty/drivers/serial。

4、查看串口設備:dmesg | grep ttyS*。

(5)linux串口at擴展閱讀

串口控制器顧名思義,就是可通過串口實現控制功能的一台控制器。即由上位機通過串口發送特定協議格式的指令給控制器,進而來控制外圍設備或器件,也叫單片機串口控制器。

串口控制器就是1台寫入了串口通信程序的單片機控制器,有2種工作模式:

1)上位機監控模式:可由上位機串口控制,實現串口監控;

2)離線控制模式:在通過上位機設置好相關參數後,也可脫離上位機進行獨立控制。

串口控制器就是1台寫入了串口通信程序的單片機控制器,有2種工作模式:

1)上位機監控模式:可由上位機串口控制,實現串口監控;

2)離線控制模式:在通過上位機設置好相關參數後,也可脫離上位機進行獨立控制。

Ⅵ linux minicom 如何輸入at

1.
配置串口
在使用
minicom前需進行配置,包括串口設備名、波特率、奇偶校驗、硬體流控等,以便正確連接串口設備,連接上串口設備後才能發送AT命令。
有兩種方式可配置minicom:
一種是用minicom
-s
命令直接從命令行進入配置菜單;
另一種方式是用不帶參數的minicom命令進入minicom後,按
Ctrl+A
切換到命令模式,命令模式下按o進入配置菜單。
Modem
and
dialing配置項中有個
Init
string
的設置,會在初始化串口後自動發送預設的AT命令。
串口初始化完成後,就可手動發送AT命令了。
2.
保存配置
默認的minicom配置文件為/etc/minicom/minirc.dfl,推薦不覆蓋此文件,而是用Save
setup
as..菜單把配置參數以文件的形式保存到自己的用戶目錄下,如~/.mySerial,下次就可直接用
minicom
~/.mySerial
命令調用該參數文件了。

Ⅶ 求教linux中串口發送at命令的問題

要滿足這三個條件:
1,單開線程自動寫滑粗at
2,單開線程讀at
3,打開文件讀配置,將讀出來後的配置文件放到log文件里去。毀讓和
這邊記錄下如何在ui下開一個線程的過程:用一個handler變數調用handler.post函數,然後在runnable裡面重寫run介面就可以,實際上,這樣調用出來的線程跟ui主線程是一個線程,不會創建新的。所以這邊如果要纖盯用線程創建的話,必須
wthread = new HandlerThread("thread");

wthread.start();

wHandler = new Handler(wthread.getLooper());

wHandler.post(runnable);
這時重寫runnable的run函數才可以實現重新開啟一個線程。
在這個線程裡面可以讀寫串口,但是界面的刷新不能在這個子線程裡面做。必須主線程在做一個handler,然後子線程調用Message 變數傳進主線程的handler.sendMessage(msg);然後主線程用handlerMessage接收子線程傳過來的消息,在主線程裡面刷新界面。

熱點內容
左端演算法 發布:2025-08-24 21:53:26 瀏覽:526
安卓系統怎麼編譯環境 發布:2025-08-24 21:53:24 瀏覽:780
java轉義符 發布:2025-08-24 21:48:26 瀏覽:65
powershell腳本識別 發布:2025-08-24 21:42:30 瀏覽:967
壓縮機企業 發布:2025-08-24 21:35:14 瀏覽:924
三星證書存儲 發布:2025-08-24 21:29:27 瀏覽:910
古詩文源碼 發布:2025-08-24 21:20:15 瀏覽:400
androidxml字元 發布:2025-08-24 20:47:31 瀏覽:52
php頁面跳轉參數 發布:2025-08-24 20:46:25 瀏覽:829
java的常用設計模式 發布:2025-08-24 20:36:52 瀏覽:311