导航:首页 > 编程语言 > gprs模块编程实例

gprs模块编程实例

发布时间:2023-01-25 23:34:37

❶ GPRS/TCP/IP包用在51单片机中如何编程,有例子也可

首先明确你的gprs模块是否已经内置了tcpip协议栈,如果内置了,那对于你的mcu就只是串口发点AT指令控制和收发数据而已;如果是没有内置的,那你就需要自己写一个tcpip协议软件来完成对gprs原始数据的解析,需要实现的基本协议有slip,arp,icmp,ip,然后根据你的实际要求,tcp传输就实现tcp协议,udp传输就实现udp协议,再就是和应有有关的协议,比如http,tftp之类的。 一般应该采用C语言编写,可以参考tcpip协议大全一书来写。 也可以使用已经有的tcpip协议栈来移植到你的51mcu上面。对于51,由于其速度比较低,一般可以考虑移植uip,现在网上有很多关于uip在51上面移植好的代码,你可以下载来参考,编译环境为keilc。 帮你搜了一篇文章,可以看一看:

❷ 哪位大哥能给一段GPRS模块通信的程序示例,我用的是sim900A模块。

#include stdio.h>
#include stdlib.h>
#include string.h>
#include unistd.h>
#include fcntl.h>
#include errno.h>
#include termios.h>

int open_port(void)
{
int fd;
fd = open("/dev/s3c2410_serial1", O_RDWR|O_NOCTTY|O_NDELAY);
if(fd == -1)
printf("Unable to open uart1\n");
else
fcntl(fd, F_SETFL, 0);
return fd;
}
int setup_uart(int fd)
{
struct termios oldtio, newtio;
if((tcgetattr(fd, &oldtio)) != 0)
{
printf("Save old error!\n");
return -1;
}
bzero(&newtio, sizeof(newtio));
newtio.c_cflag |= (CLOCAL | CREAD);
newtio.c_cflag &= ~CSIZE;
newtio.c_cflag &= ~CSTOPB;// 1 stop bit
newtio.c_cflag &= ~PARENB;// No parity
newtio.c_cflag |= CS8; // 8 bits data
cfsetispeed(&newtio, B9600);
cfsetospeed(&newtio, B9600);
//newtio.c_lflag |= (ICANON | ECHO);
//newtio.c_lflag &= ~ECHOE;
//newtio.c_iflag &= ~(IXON | IXOFF | IXANY);
newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 0;
tcflush(fd, TCIFLUSH);
if((tcsetattr(fd, TCSANOW, &newtio)) != 0)
{
printf("Set new error!\n");
return -1;
}
}
int main(void)
{
int i;
int fd;
char c,str[200];
fd = open_port();
if(fd == -1)
return 0;
i = setup_uart(fd);
if(i == -1)
return 0;
while(1)
{
for(i=0; i200; i++)
str = '\0';
i = 0;

printf("GPRS-CMD #");
while((c=getchar()) != 10)
{
str = c;
i++;
}
str = 13;
str[i+1] = '\0';
i = write(fd, str, strlen(str));
if(i 0)
printf("write error!");

for(i=0; i100; i++)
usleep(100);
i = read(fd, str, 200);
printf("%s\n", str);
}
}

另一篇和主题相似的已发送往您的邮箱,请查收.

❸ 怎样用单片机C语言控制GPRS模块发AT指令

我也在玩gprs,这个问题我也碰到,现已解决,
做法是:
命令字符对应的ASC||值依次向串口发送
如at+cmgf=1<CR>这个命令,就应向串口依次发送“at+cmgf=1”这个字符串中每个字符对应的ASC||值的16进制数,<CR>是回车键,对应ASC||值是13,十六进制是0D

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

❹ 单片机控制GPRS模块发短信,求程序,高分追加!

当然可以了 GPRS模块通过串口将数据交给单片机,数据格式视不同的厂家的GPRS模块而定,那么单片机如何读取GPRS模块的短信呢? 1.可以通过AT指令设置GPRS模块,让GPRS模块收到短信后立即将短信内容交给单片机,也可以通过AT指令设置GPRS模块,收到短信后先存到SIM(SM)卡或模块(ME),然后单片机发AT指令向GPRS模块读取短信内容 2.如何解析短信? 先把模块接到PC,用串口软件看下短信内容格式,然后编程去进行AT操作,短信字符集可选择UCS2或GSM,国内部分老旧手机不支持GSM字符集,建议解析UCS2字符集! .

阅读全文

与gprs模块编程实例相关的资料

热点内容
主角重生民国参加黄埔 浏览:414
睿威仕无线摄像用什么app 浏览:198
女儿父亲钩引电影 浏览:174
大香蕉手机 浏览:856
安卓部落冲突服务器地址 浏览:324
唐古拉优选app叫什么名字 浏览:38
打开一个文件夹为什么接着就退出 浏览:50
女主高中就怀孕的小说 浏览:10
app为什么必须要获取手机号码 浏览:58
实用的网页编程 浏览:424
宝鸡小程序定制开发源码 浏览:432
十大军事历史穿越小说 浏览:56
爱的共享韩 浏览:179
中文字幕推荐排行榜 浏览:589
李采镡所有电影 浏览:348
前度2未删减 浏览:866
日本一部关于平行时空的电影 浏览:346
伤寒论原文pdf 浏览:29
剧情肉的电影 浏览:803
下行 电影在线观看 浏览:786