快快快~~~~~~~~~我想一定能实现的
因为我有一个收发短讯的.ocx 就已实现上面的功能,不过,这个.ocx使用受到限制,所以想自己写....分不问题
欢迎您:qiuanhong
专家分:1982
可用分:2111
因为我有一个收发短讯的.ocx 就已实现上面的功能,不过,这个.ocx使用受到限制,所以想自己写....分不问题
欢迎您:qiuanhong
专家分:1982
可用分:2111
手机收到短信息的时候,就会从串口发出相应的数据(消息),
如果使用驱动程序,只能是程序一直去读取手机的状态。
或者可以使用HOOK技术,来截获串口的数据,只要截获到有新短消息的
时候就可以了
+CMTI: 2(具体跟你的设置有关),其中的2就是新的消息的存储序列号,然后用+CMGR指令读取即可!
有问题再联系。
AT+CNMI=1,1,0,0,1
AT+CSMS=1然后有新信息到来时,会接收到
+CMTI:"SM",INDEX(信息存储位置)然后用
AT+CMGR=INDEX(信息存储位置) 读取信息就可以楼上兄弟 lancexu(阿洋) 说得也很有道理。
1.设置短消息到达自动提示: 设置短消息到达提示当短消息被接收,将获取指令: +CMTI:"SM",INDEX(信息存储位置)
AT+CNMI=1,1,0,0,1();
2.获取短消息内容(Once more),假设INDEX=8。
AT+CMGR=8
就可以得到一种"实时"的效果了
提出问题:
要是正在发送的过程中,有新的短讯进来时,该怎么处理?这咱问题比较难调试。望大家继续发表自己的见解,谢谢!!
在windows的操作系统下用vc开发有关串口的东西
设置:
typedef struct _DCB {
DWORD DCBlength; // sizeof(DCB)
DWORD BaudRate; // current baud rate
DWORD fBinary: 1; // binary mode, no EOF check
DWORD fParity: 1; // enable parity checking
DWORD fOutxCtsFlow:1; // CTS output flow control
DWORD fOutxDsrFlow:1; // DSR output flow control
DWORD fDtrControl:2; // DTR flow control type
DWORD fDsrSensitivity:1; // DSR sensitivity
DWORD fTXContinueOnXoff:1; // XOFF continues Tx
DWORD fOutX: 1; // XON/XOFF out flow control
DWORD fInX: 1; // XON/XOFF in flow control
DWORD fErrorChar: 1; // enable error replacement
DWORD fNull: 1; // enable null stripping
DWORD fRtsControl:2; // RTS flow control
DWORD fAbortOnError:1; // abort on error
DWORD fDummy2:17; // reserved
WORD wReserved; // not currently used
WORD XonLim; // transmit XON threshold
WORD XoffLim; // transmit XOFF threshold
BYTE ByteSize; // number of bits/byte, 4-8
BYTE Parity; // 0-4=no,odd,even,,space
BYTE StopBits; // 0,1,2 = 1, 1.5, 2
char XonChar; // Tx and Rx XON character
char XoffChar; // Tx and Rx XOFF character
char ErrorChar; // error replacement character
char EofChar; // end of input character
char EvtChar; // received event character
WORD wReserved1; // reserved; do not use
} DCB;
其中:BYTE Parity; // 0-4=no,odd,even,,space
的设置方式可以实现你的想法。
当串口有数据的时候,触发事件
BYTE Parity;
只受校验结果的影响。
的EV BREAK
事件影响。
这些事件都已经指定了,我感觉用事件来等待数据的读、写等各种操作,然后通过消息进行处理还是很好的处理方式
谢谢你!
在收到消息时就是+CMT的前缀,没有设置,就是+CMTI的前缀