CDMA 貓用AT命令發(fā)中文短信(C#)
更新時(shí)間:2009年08月05日 23:15:56 作者:
CDMA貓連PDU都不支持,只能發(fā)文本短信。而且發(fā)中文短信居然是UNICODE,無(wú)法在超級(jí)終端里輸入。只能寫程序。網(wǎng)上這個(gè)問(wèn)題談?wù)摰乇容^多,做起來(lái)比較累,還偶爾會(huì)出亂碼。還是將C#的成功代碼帖一下吧。
CDMA貓真是!@#¥#%(*,連PDU都不支持,只能發(fā)文本短信。而且發(fā)中文短信居然是UNICODE,無(wú)法在超級(jí)終端里輸入。只能寫程序。
網(wǎng)上這個(gè)問(wèn)題談?wù)摰乇容^多,做起來(lái)比較累,還偶爾會(huì)出亂碼。還是將C#的成功代碼帖一下吧。
轉(zhuǎn)載請(qǐng)注明來(lái)源
void SendCHNSms(string content,string phone)
{
//中文CDMA發(fā)送,UNICODE編碼字節(jié)
byte[] b = Encoding.BigEndianUnicode.GetBytes(content);
//CDMA的AT命令手機(jī)號(hào)碼前面不能加86,否則雖然顯示成功發(fā)送,但短信中心回應(yīng)錯(cuò)誤代碼5
if(phone.IndexOf("86")==0)
{
phone = phone.Substring(2);
}
//假設(shè)是COM3口
SerialPort sp = new SerialPort("com3");
//和GSM貓不同,波特率是115200,這個(gè)問(wèn)題困擾了很久的說(shuō)
sp.BaudRate = 115200;
sp.Open();
//設(shè)置中文短信
sp.Write("AT+WSCL=6,4\r");
Thread.Sleep(500);
//設(shè)置文本格式短信
sp.Write("AT+CMGF=1\r");
Thread.Sleep(500);
//設(shè)置發(fā)送的號(hào)碼和發(fā)送內(nèi)容字節(jié)長(zhǎng)度
sp.Write("AT+CMGS=\"" + phone + "\"," + b.Length + "\r");
Thread.Sleep(500);
//寫入
sp.Write(b, 0, b.Length);
Thread.Sleep(500);
//寫入CTRL+Z結(jié)束短信內(nèi)容,注意在UNICODE模式下需要兩個(gè)字節(jié),這個(gè)也是不能在超級(jí)終端下操作的原因
byte[] b2 = new byte[] { 0x00, 0x1a };
sp.Write(b2, 0, b2.Length);
sp.Close();
}
網(wǎng)上這個(gè)問(wèn)題談?wù)摰乇容^多,做起來(lái)比較累,還偶爾會(huì)出亂碼。還是將C#的成功代碼帖一下吧。
轉(zhuǎn)載請(qǐng)注明來(lái)源
復(fù)制代碼 代碼如下:
void SendCHNSms(string content,string phone)
{
//中文CDMA發(fā)送,UNICODE編碼字節(jié)
byte[] b = Encoding.BigEndianUnicode.GetBytes(content);
//CDMA的AT命令手機(jī)號(hào)碼前面不能加86,否則雖然顯示成功發(fā)送,但短信中心回應(yīng)錯(cuò)誤代碼5
if(phone.IndexOf("86")==0)
{
phone = phone.Substring(2);
}
//假設(shè)是COM3口
SerialPort sp = new SerialPort("com3");
//和GSM貓不同,波特率是115200,這個(gè)問(wèn)題困擾了很久的說(shuō)
sp.BaudRate = 115200;
sp.Open();
//設(shè)置中文短信
sp.Write("AT+WSCL=6,4\r");
Thread.Sleep(500);
//設(shè)置文本格式短信
sp.Write("AT+CMGF=1\r");
Thread.Sleep(500);
//設(shè)置發(fā)送的號(hào)碼和發(fā)送內(nèi)容字節(jié)長(zhǎng)度
sp.Write("AT+CMGS=\"" + phone + "\"," + b.Length + "\r");
Thread.Sleep(500);
//寫入
sp.Write(b, 0, b.Length);
Thread.Sleep(500);
//寫入CTRL+Z結(jié)束短信內(nèi)容,注意在UNICODE模式下需要兩個(gè)字節(jié),這個(gè)也是不能在超級(jí)終端下操作的原因
byte[] b2 = new byte[] { 0x00, 0x1a };
sp.Write(b2, 0, b2.Length);
sp.Close();
}
5月15日
【原創(chuàng)】CDMA貓用AT命令發(fā)中文短信(C#)
相關(guān)文章
C#調(diào)用OpenCV開(kāi)發(fā)簡(jiǎn)易版美圖工具【推薦】
本文主要介紹在WPF項(xiàng)目中使用OpenCVSharp3-AnyCPU開(kāi)源類庫(kù)處理圖片,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-10-10C#不重復(fù)輸出一個(gè)數(shù)組中所有元素的方法
這篇文章主要介紹了C#不重復(fù)輸出一個(gè)數(shù)組中所有元素的方法,涉及C#針對(duì)數(shù)組的遍歷、校驗(yàn)及排序等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08C#快速實(shí)現(xiàn)IList非泛型類接口的自定義類作為數(shù)據(jù)源
本文主要介紹了C#快速實(shí)現(xiàn)IList非泛型類接口的自定義類作為數(shù)據(jù)源,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Unity3D移動(dòng)端實(shí)現(xiàn)搖一搖功能
這篇文章主要為大家詳細(xì)介紹了基于Unity3D移動(dòng)端實(shí)現(xiàn)搖一搖功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10