资源简介
内含短信pdu编写资料,内带基于C语言的短信pdu编码解码的源码,赋长短信的拆分合并
代码片段和文件信息
//---------------------------------------------------------------------------
#pragma hdrstop
#include
#include “Sms_Send.h“
#include “Main_Form.h“
#include “DataModule.h“
#include “frmHint.h“
#include “frmSample.h“
#include “vector.h“
using std::vector;
//---------------------------------------------------------------------------
#pragma package(smart_init)
//定时抄表 pCriticalSection Sample_all_lock; //避免两次定时采集时间过短,同时进入采集线程
pCriticalSection Sample_one_lock; //一次数据采集,对串口的写互斥
bool Main_Terminate_sms;
bool Main_Terminate_Data;
SMS_STRUCT Sms_Var; //等待发送的短信
CUR_METER_STRUCT Cur_Meter_Info; //记录处理的当前表的信息
CUR_METER_STRUCT Old_Meter_Info;
unsigned short Modem_Rtn_ID; // 返回的Modem结果码
AnsiString smsc_addr; // 短信中心地址
AnsiString SMS_index; //短信的索引号
const bool if_mul = false; //是否是抄多表的标志
bool Process_State = FREE; // MSCommu控件的接收处理状态
unsigned short error_code = 0; // 出错代码
bool Modem_Connect_Status = false; //modem状态变量,是否已经连接
bool receive_wait = false; //由定时器接收还是由主程序接收
bool Have_Get_CSCA = false; //没有能够读取短信中心的值
unsigned char wait_for_send_sms_count = 0; //等待发送的短信的条数
sms_arr_Struct sms_arr;
//------------------------------------------------------------------------------
//函数名称:Uart_TC35_Send_SM
//功 能: 发送短信阻塞调用方式
//入口参数:void
//
//返回值:
// void
//------------------------------------------------------------------------------
bool __fastcall Uart_TC35_Send_SM(void)
{
AnsiString str_tmp;
try{
//测试是否支持CMGS 发送指令
while(Process_State == BUSY) Sleep(100);
FormMain->Modem_TC35->Output = (AnsiString)“AT+CMGS=?\r“;
if(Process_TC35_Return_Data(RTN_OK) == false) {
if(Main_Terminate_Data == true) {
System_Hint_Item(“短信发送操作被中止“);
}
error_code = 900;
return false; //如果不支持则返回失败
}
//发送AT+CMGS=数量
str_tmp = “AT+CMGS=“;
if((Sms_Var.tpdu_len /100) != 0) {
str_tmp += “ “;
str_tmp[str_tmp.Length()] = ((Sms_Var.tpdu_len/100)%10)+0x30; // 如果有百位则发送百位
}
if((Sms_Var.tpdu_len /10) != 0) {
str_tmp += “ “;
str_tmp[str_tmp.Length()] = ((Sms_Var.tpdu_len/10)%10)+0x30; // 如果有十位则发送十位
}
if((Sms_Var.tpdu_len) != 0) {
str_tmp += “ “;
str_tmp[str_tmp.Length()] = (Sms_Var.tpdu_len%10) + 0x30; // 添加个位数
}
str_tmp += ‘\r‘;
while(Process_State == BUSY) Sleep(100);
FormMain->Modem_TC35->Output = str_tmp; //发送AT+CMGS=LEN\r
if(Process_TC35_Return_Data(SMS_SEND_PROMPT) == false) {
if(Main_Terminate_Data == true) {
System_Hint_Item(“短信发送操作被中止“);
}
error_code = 901;
return false;
} //等待回应发送提示符“>“的返回
str_tmp = Sms_Var.smsc_code;
str_tmp += Sms_Var.call_phone_code;
str_tmp += Sms_Var.sms_message;
whil
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 28252 2018-09-04 19:06 短信pdu所有资料\CMPP3.0_长短信实现方案.docx
I.A.... 142619 2018-09-03 19:40 短信pdu所有资料\GSM短消息&长短信解码.pdf
I.A.... 128924 2018-08-23 09:40 短信pdu所有资料\pdu长短信接收及发送.docx
文件 14336 2018-08-17 17:55 短信pdu所有资料\新建 DOC 文档.doc
I.A...R 90112 2018-08-17 11:54 短信pdu所有资料\消息编码与解码---C语言实现(bit7 bit8 ucs2串口等).doc
....... 156130 2011-04-18 16:24 短信pdu所有资料\短信的源代码示例\Sms_Send.cpp
....... 9252 2011-04-18 16:24 短信pdu所有资料\短信的源代码示例\Sms_Send.h
....... 1377726 2011-04-18 16:24 短信pdu所有资料\短信的源代码示例\Sms_Send.obj
....... 1469 2011-04-18 16:25 短信pdu所有资料\短信的源代码示例\thread.h
....... 5689 2011-04-18 16:25 短信pdu所有资料\短信的源代码示例\Thread_Modem.cpp
....... 1052 2011-04-18 16:25 短信pdu所有资料\短信的源代码示例\Thread_Modem.h
....... 246 2011-04-18 16:25 短信pdu所有资料\短信的源代码示例\thread_test.cpp
....... 1131 2011-04-18 16:25 短信pdu所有资料\短信的源代码示例\thread_test.h
文件 90112 2012-05-29 09:42 短信pdu所有资料\短信编码与解码C语言\短信编码与解码C语言.doc
目录 0 2018-09-04 17:31 短信pdu所有资料\短信的源代码示例
目录 0 2018-08-27 09:34 短信pdu所有资料\短信编码与解码C语言
目录 0 2018-12-01 17:48 短信pdu所有资料
----------- --------- ---------- ----- ----
2047050 17
- 上一篇:nmea-0183协议解析C语言链表实现
- 下一篇:带蹩马腿功能的马踏棋盘
评论
共有 条评论