要满足这三个条件:
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