OpenEdv-开源电子网

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

GPRS发送一张10*10像素的BMP图片

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-5-26
在线时间
0 小时
发表于 2015-5-26 19:32:57 | 显示全部楼层 |阅读模式
5金钱
      最近买了一个正点原子SIM900A模块做一个彩信发送BMP图,使用串口调试助手加载图片发送,手机能收到图片,并打开。写了一个小程序,把图片BMP编码,用程序配合战舰STM32发,结果手机收到了,但是打不开,会出现如下结果
 

unsigned char hua[54] = { //BMP文件头
 0X42,0x4D,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x00,
 0x00,0x28,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,
 0x01,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0xCA,0x00,0x00,0x00,0x20,
 0x2E,0x00,0x00,0x20,0x2E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00
 }; 


//摄像头发彩信实验 
 
  
 int main(void)
 {   
 unsigned int i=0,j;    

 delay_init();       //延时函数初始化  
 NVIC_Configuration();   //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
 uart_init(9600);    //串口初始化为9600
 usart3_init();
  LED_Init();        //LED端口初始化
 MQ2_Init();      //烟雾传感器初始化


 
 while(sim900a_cmd("AT\r","OK",1000) != SIM900A_TRUE)//SIM900A检测
    {
      printf("\r\n模块响应测试不正常!!\r\n");
      printf("\r\n若模块响应测试一直不正常,请检查模块的连接或是否已开启电源开关\r\n");
    }
   
    printf("\r\n通过了模块响应测试,开始彩信测试...\r\n");  
               
  while(1)
 {
     if(!GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_6)) //烟雾传感器报警信号
  {
     if(n)
    {         
     gprs_Init();

    while(i<sizeof(hua))    //发送BMP头
   {
    SIM900A_TX(hua);
    delay_us(1);
    i++; 
   }
  
    for(i=0;i<10;i++)              //读取数据 读取10*10的图片大小
       { 
         for(j=0;j<10;j++)
         {     
     SIM900A_TX(0X00);
     delay_us(1);
     SIM900A_TX(0X7C);
     delay_us(1);
  
    }
      }
   SIM900A_TX(0X00);
   delay_us(1);
   SIM900A_TX(0X00);
   delay_us(1);

          gprs_end();   

    }
   
  }

  n=GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_6);

  delay_us(1);}

void gprs_Init(void)
{
  SIM900A_TX("AT+CMMSINIT\r"); //初始化彩信功能
  DelaySec(1);
  while(sim900a_cmd("AT+CMMSINIT\r","OK",1000) != SIM900A_TRUE);
//  SIM900A_TX("AT+CMMSCURL=\"mmsc.myuni.com.cn\"\r");//联通号
  SIM900A_TX("AT+CMMSCURL=\"mmsc.monternet.com\"\r");//移动号
  DelaySec(1);
  SIM900A_TX("AT+CMMSCID=1\r"); //设置承载上下文ID
  DelaySec(1);
  SIM900A_TX("AT+CMMSPROTO=\"10.0.0.172\",80\r");//设置mms协议属性
  DelaySec(1);
  SIM900A_TX("AT+CMMSSENDCFG=6,3,0,0,2,4\r");//设置mms的发送参数   
  DelaySec(1);
  SIM900A_TX("AT+SAPBR=3,1,\"Contype\",\"GPRS\"\r");//激活承载
  DelaySec(1);
  SIM900A_TX("AT+SAPBR=3,1,\"APN\",\"CMWAP\"\r");
  DelaySec(1);
  SIM900A_TX("AT+SAPBR=1,1\r");
  DelaySec(1);
  SIM900A_TX("AT+SAPBR=2,1\r");
  DelaySec(1);
//  SIM900A_TX("AT+CMMSEDIT=0\r");//关闭编辑状态,这样在模块的buff区的数据将被删除      
//  DelaySec(1);
  SIM900A_TX("AT+CMMSEDIT=1\r");//打开编辑状态,这个状态才可以发送mms   
  DelaySec(1);
  SIM900A_TX("AT+CMMSDOWN=\"PIC\",256,40000\r");
  DelaySec(1);
  while(sim900a_cmd("AT+CMMSDOWN=\"PIC\",256,40000\r","CONNECT",1000) != SIM900A_TRUE);   
   
}

void gprs_end(void)

      SIM900A_TX("AT+CMMSRECP=\"15681171836\"\r");//发送的号码,自己修改   
   DelaySec(1);

   SIM900A_TX("AT+CMMSSEND\r");//发送mms   
      DelaySec(107);
   DelaySec(107);
   DelaySec(107);
   DelaySec(107);
   while(sim900a_cmd("AT+CMMSSEND\r","OK",1000) != SIM900A_TRUE);
   SIM900A_TX("AT+CMMSEDIT=0\r");//退出配置模式   
   DelaySec(1);
   SIM900A_TX("AT+SAPBR=0,1\r");//退出承载 
   DelaySec(1);
   SIM900A_TX("AT+CMMSTERM\r");//退出彩信功能
   DelaySec(1);
    
}

不知道问题在哪儿,求解

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-5-27 00:53:17 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-5-26
在线时间
0 小时
 楼主| 发表于 2015-5-27 21:16:03 | 显示全部楼层
但手机收到打不开,不知道问题在哪儿,求大神啊。。
回复

使用道具 举报

5

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2015-5-29
在线时间
10 小时
发表于 2015-6-6 18:40:08 | 显示全部楼层
我也在弄彩信发送图片,楼主的怎么样了
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-5-26
在线时间
0 小时
 楼主| 发表于 2015-6-8 14:55:47 | 显示全部楼层
回复【4楼】少年梦:
---------------------------------
纠结了这么久,还是结果,感觉是BMP图片编码有问题
回复

使用道具 举报

4

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
498
金钱
498
注册时间
2015-10-3
在线时间
65 小时
发表于 2016-11-7 18:24:16 | 显示全部楼层
你的图片文件大小是256字节吗?
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2016-11-21
在线时间
21 小时
发表于 2017-10-12 16:18:32 | 显示全部楼层
本帖最后由 dabingisbudy 于 2017-10-12 16:25 编辑

哥们,现在实现了么?有尝试用ov7670拍的照片通过GPRS传到手机吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-26 08:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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