怎么在单片机C51语言中使用AT指令

怎么在单片机C51语言中使用AT指令

浏览次数:3391次悬赏分:0|提问时间:2006-11-28 00:04 |提问者:carlrex|问题为何被关闭

想使用单片机控制支持AT指令的设备工作,应该怎么将AT指令写到单片机程序中啊

其他回答共5条

不知道什么是AT指令不过要写到单片机里只有写在ROM 或者外部扩展24C04之类的芯片把AT转换为2进制用DB DW 指令写

回答者:东颖崇|三级| 2006-11-28 09:38

会C语言吧?

把AT指令集以C语言的字符串格式,

DB 'A','T','\n',0,0,0,

DB 'A','T',' ','B','\n',0,

通过串口,将字符发出去。

回答者:chief_lfw|六级| 2006-11-28 13:34

是不是串口连接手机模块啊?

回答者:kaifaban|二级| 2006-11-29 01:01

用C语言写,如WriteUART0(char*p),其中p是缓冲区指针,那么AT命令程序如下:

WriteUART0(“AT+CSCA=\"+86130********\"r”);//设置短信中心号码WriteUART0(“AT+CMGF=1\"r”);//设置为Text模式

.......

回答者:菲彪|二级| 2006-12-5 22:10

将AT指令转换成ASCII码的形式

如:

AT(41 54)

SBUF=0x41;

.

.

.

SBUF=0x54;

回答者:gms335

我也在玩gprs,这个问题我也碰到,现已解决,

做法是:

把命令字符对应的ASC||值依次向串口发送

如at+cmgf=1这个命令,就应向串口依次发送“at+cmgf=1”这个字符串中每个字符对应的ASC||值的16进制数,是回车键,对应ASC||值是13,十六进制是0D

须要注意的是,每发一条指令后要有一定的延时。

如不明白QQ:458873430

AT命令以HEX数串形式直接发送

用16进制ASCII码发送,注意结束符,0x0D,0x0A,以及CTRL-Z等。

刚查了以前编的程序,AT命令是用字符串的HEX形式(即ASCII)

值得提醒的是,对MODEM初始化命令,可以用多个AT命令,但每个AT命令都是以…A?…T?打头,以0DH 结尾

这个程序是汇编的,可以直接用,参考一下吧。

MOV A,#'A'

MOV @R0,A

INC R0

MOV A,#'T'

MOV @R0,A

INC R0

MOV A,#0DH

MOV @R0,A

MCS-51单片机原理与应用(C语言版)闫玉德机械工业出版社

本文来自:我爱研发网(https://www.360docs.net/doc/b718751968.html,) - R&D大本营

详细出处:https://www.360docs.net/doc/b718751968.html,/bbs/Archive_Thread.asp?SID=169497&TID=3

相关文档
最新文档