7 bit 长短信udh问题

yanziqu_008 2010-07-05 07:10:00
udh都填好了:503***
后面的ascii数据是:每个ascii占一个字节(8bit)
为什么接收到之后还是两条短信,数据都全的,也对的,就是每条开头都有乱码,
正常情况下应该是拼为一条,没有乱码.
有人说要fill bit,我在上面的userdata前fill 了,还是没有用。应该是在哪个时候fill呢?

哪位大侠知道,谢谢:)
...全文
293 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
羽盛 2010-07-07
  • 打赏
  • 举报
回复
给你一段代码参考一下吧

//log sms
if (long_sms)
{
buf[4] = 0x05;
buf[5] = 0x00;
buf[6] = 0x03;
buf[7] = get_sms_ref_id(); //id
buf[8] = pk_total; //pk_total
buf[9] = pk_num; //pk_num

offset = 6;
}

if(pSrc->TP_DCS == SMS_7BIT)
{
// 7-bit
if (6 == offset)
buf[3] = nLength + offset +1;
else
buf[3] = nLength + offset;

if (6 == offset)
{
buf[4+offset] = (pSrc->TP_UD[0] << 1);
//printf("buff[0] : %2X\n", buf[4+offset]);
fillbits += 1;
}
//
//printf("nLength : %d, buf[3] : %d fillbits : %d\n", nLength, buf[3], fillbits);
nLength = SmsEncode7bit(pSrc->TP_UD+fillbits, &buf[4+offset+fillbits], nLength+1) + 4; // TP-DA


nLength += fillbits;

}


希望对你有帮助。

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧