OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4793|回复: 4

关于gprs模块使用定时器中断进行tcp通信定时发送信息的问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
25
金钱
25
注册时间
2014-1-20
在线时间
0 小时
发表于 2014-1-20 10:08:15 | 显示全部楼层 |阅读模式
我在一个函数中使能定时器3 同时在定时器3的中断服务函数中加入如下代码

        u16 adcx;
float temp;
  float temperate;  
u8 *p1;
        u8 *p;
        p=mymalloc(SRAMIN,100); //申请100字节内存
p1=mymalloc(SRAMIN,100);
  sim900a_send_cmd("AT+CIPCLOSE=1","CLOSE OK",100); //关闭连接
sim900a_send_cmd("AT+CIPSHUT","SHUT OK",100); //关闭移动场景 
if(sim900a_send_cmd("AT+CGCLASS=\"B\"","OK",1000)==0)printf("AT+CGCLASS\n"); //设置GPRS移动台类别为B,支持包交换和数据交换 
if(sim900a_send_cmd("AT+CGDCONT=1,\"IP\",\"CMNET\"","OK",1000)==0)printf("AT+CGDCONT\n");//设置PDP上下文,互联网接协议,接入点等信息
if(sim900a_send_cmd("AT+CGATT=1","OK",500)==0)printf("AT+CGATT\n"); //附着GPRS业务
if(sim900a_send_cmd("AT+CIPCSGP=1,\"CMNET\"","OK",500)==0)printf("AT+CIPCSGP\n"); //设置为GPRS连接模式
if(sim900a_send_cmd("AT+CIPHEAD=1","OK",500)==0)printf("AT+CIPHEAD\n"); //设置接收数据显示IP头(方便判断数据来源)
sprintf((char*)p,"AT+CIPSTART=\"%s\",\"%s\",\"%s\"","TCP","125.217.248.45","8086");
if(sim900a_send_cmd(p,"OK",500)==0)printf("OK");
adcx=Get_Adc_Average(ADC_CH_TEMP,10);
temp=(float)adcx*(3.3/4096);
temperate=temp;//保存温度传感器的电压值
  temperate=(1.43-temperate)/0.0043+25;
allterm=temperate;
sprintf((char*)p1," %f ",temperate);
if(sim900a_send_cmd("AT+CIPSEND",">",500)==0) //发送数据
u2_printf("%s\r\n",p1);
delay_ms(10);
if(sim900a_send_cmd((u8*)0X1A,"SEND OK",1000)) return ;
}


希望
能实现stm32内部温度传感器值的定时发送,但是很奇怪网络调试助手没有接受到信息,
同时用串口调试助手调试发现也没有收到信息,但是如果把这几行代码放在while循环里面就没有问题,求解决。。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-1-19
在线时间
0 小时
发表于 2014-1-21 14:10:52 | 显示全部楼层
楼主可以看看是不是定时器3的优先级,比send_com()里的定时器4和串口中断优先级高,
导致此函数无法正常执行
回复 支持 反对

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2012-4-26
在线时间
1 小时
发表于 2014-5-5 20:44:15 | 显示全部楼层
mark一下
回复 支持 反对

使用道具 举报

0

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2014-3-17
在线时间
105 小时
发表于 2014-5-20 10:29:28 | 显示全部楼层
楼主的问题解决了吗?
我现在也遇到同样的问题,在中断中不执行,在while下能够发送数据。回复【2楼】敏龙:
---------------------------------
请问你有相关程序吗?
回复 支持 反对

使用道具 举报

0

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2014-3-17
在线时间
105 小时
发表于 2014-5-20 10:29:47 | 显示全部楼层
回复【2楼】敏龙:
---------------------------------
请问你有相关程序吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 12:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表