安仔 发表于 2012-5-23 21:20:19

sim300-mms发彩信

最近在sim300-mms彩信模块上发彩信,at+cmmsdown=“PIC”,图片大小,超时时间
我在arm+linux板子上实现,读取一个jpg图像,获得图片大小,并获得该图片的16进制的数据,用at+cmmsdown命令想串口写16进制数据例如FF D8----FF D9数据,at+cmmsdown=“PIC”,图片大小,100000,会有connect,此时传16进制数据,我把所有数据全部写进去了,也得到了ok,但是发送出去的彩信,在手机上看到的是无法支持的jpg图片,我的pc上打开该图片,里面的数据并没有FF D9结束,我在程序里面都加了延迟,都没用。。。烦死了,,求高人指点,,关键是怎么样从串口把图片数据传到sim300模块里面,,16进制还是。。?还是诸如0xFF 0XD9。。之类的,
char buf;
    int data;
    while( !feof(fp) ){
data = fgetc(fp);
if(data!=EOF) {
sprintf(buf,"%02X",data);
nwrite = write(fd,buf,strlen(buf));
printf("%s",buf);
memset(buf,0,sizeof(buf));
                           }
                     }
上面的代码就是写16进制数据,fp就是图片文件指针,fd是串口

cepoly 发表于 2012-5-23 23:33:13

楼主以为问题出现在这里么?你是用串口传输,图片大小,100000
我用arm蓝牙串口传过图片 这么大的图片起码要传输5-6秒吧
我的串口处理是等待发送完毕再执行下一句

安仔 发表于 2012-5-23 23:42:06

具体我也不太清楚,,,arm蓝牙串口传过图片,是传输图片的16进制数据还是?

安仔 发表于 2012-5-23 23:43:58

你是一次性传,还是分几次?。。。太晚了,先睡觉了

cepoly 发表于 2012-5-23 23:46:42

安仔 发表于 2012-5-23 23:42 static/image/common/back.gif
具体我也不太清楚,,,arm蓝牙串口传过图片,是传输图片的16进制数据还是?

16进制一次性传输 直到传输完毕再执行下一句

安仔 发表于 2012-5-24 08:55:28

我的也是这样干的,就是不行 ,,哎

安仔 发表于 2012-5-24 09:20:26

我是用fopen+rb打开图片用data = fgetc(fp);
if(data!=EOF) {
sprintf(buf,"%02X",data);//以16进制格式化输出到buf
nwrite = write(fd,buf,strlen(buf));//写入串口

安仔 发表于 2012-5-24 14:10:19

我现在知道怎么回事了,我在手机上打开无法识别的彩信图片,里面就是FF D8-FF D9,而他们不是是以字符串的形式存储在里面的的,他们的的16进制不是他们自己了,,,所以彩信无法打开,,但是仙子阿又有问题,难道我向串口发送16进制不对吗?

安仔 发表于 2012-5-26 20:26:16

解决了哈哈{:3_46:}{:3_46:}{:3_46:}{:3_46:}{:3_46:}{:3_46:}

Baby 发表于 2012-5-31 13:48:48

楼主,你的是怎么解决的,怎么不给解答啊,我也遇到这样的事情

黄chuxiang 发表于 2012-8-27 20:01:45

楼主方不方便加下qq 我想请教下问题 摄像头采集到的 jpg图像 发彩信到手机无法显示 是什么情况啊
页: [1]
查看完整版本: sim300-mms发彩信