要滿足這三個條件:
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接收子線程傳過來的消息,在主線程裡面刷新界面。
Ⅱ 在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 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中的串口驅動源碼文件在哪
IA64指的是64位版
m68k是摩托羅拉的68000型cpu版
cris可能是命令檢索信息系統版
QQ16806008
Ⅳ linux上面 怎麼通過minicom向ZTE AC2736 3g下網卡發送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下C語言編程的通信模塊實現撥號與收發簡訊功能的源代碼!
你的是 TC35么,直接初始化串口,然後發送At指令AT+CMGC 發送簡訊AT+CMGR接收簡訊,然後通過串口查詢,看有沒有受到Ok,收到了說明發送成功,我這有8051單片機控制Tc35的源碼
Ⅶ 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()
Ⅷ 主板是ARM9,操作系統是linux,我想用at指令看下GSM模塊的波特率是多少求指教
姑且不說如何執行AT指令,既然你不知道GSM模塊的波特率是多少,又如何通過串口把AT指令傳進去呢?
可以看下你的GSM模塊接在ARM開發板的哪個串口,然後通過超級終端去查看這個串口所用的波特率還是比較方便的,在uboot源碼中的某個頭文件,忘了。。。雖然幫不到你,但希望能給你思路,come on!
Ⅸ linux串口通信代碼解釋,一句一句來
簡單說幾句吧,linux下的設備都是文件,流程也無非是open, read/write, close等
當然,串口你得設置各種屬性才行對不對,比如在win下的超級終端就設置了波特率啊,停止位啊,奇偶校驗啊什麼的,這些屬性都通過
int tcgetattr(int fd, struct termios *termios_p);
int tcsetattr(int fd, int optional_actions, const struct termios *termios_p);函數來設置。
完整代碼嗎自己去google,一把一把的,其實最重要的是設置好屬性,剩下的就是read,write的問題咯。
希望對你有用
對了,了解終端函數的詳情請在linux命令行終端獲取: man termios