想给自己的西门子3618编写一个方便一点的控制程序,各位仁兄有没有现成的代码作为参考,如果通过测试就给分,只要试验成功一个命令字就可以了,多谢!我刚才用超级终端试验了一下AT控制命令字,是不是手机上这些命令字都是unicode格式的?
解决方案 »
- 新人来报到,大家好,先问个MFC编译的问题,谢谢!
- 怎样取得当前本机所有的网络连接设备?比分说现在我用网卡在上宽带,同时又用cdma无线拨号,怎样同时取得这2个设备啊
- 急 在线等 dif-ifft 完整C/VC++ 源代码 分不够可再给
- 《Visual C++技术内幕》第四版和第五版之比较??
- 怎样为驱动程序或者服务程序打包
- 究竟发生了什么?
- 请问如何改变静态文本控件Static的颜色?
- CTreeCtrl类派生类中的消息处理问题
- 简单的hook问题,请指教
- 程序调试正常,但是生成的release版错误
- 很菜的问题:VC++中如何调用外部Exe文件?
- 类的静态成员如何在类的成员函数中重新赋值?可以这样赋值吗?
http://www.vchelp.net/vchelp/file2002_2/CEMobile.zip但是在读取返回数据的时候不能通过,例如一开始关闭echo那个命令字,等待返回就没有等到。
http://www.vchelp.net/vchelp/file2002_2/CEMobile.rar
有空可以交流
顺便问一下,是不是WINDOWCE编程,电脑如何与手机通讯,程序怎样输入到手机中的
请高手指点
但是接收到的数据往往不是一整个包,而也许是和上一个半拉叠加在一起了,主动发出的AT返回命令字也有这种问题。不知大家是如何解决的?
public string EncodeEnglish(string inputstr)
{
//n移动位数;len字符串长度;cur当前字符的值。
int n=0,len=0,cur=0;
//tempstr当前字符,临时;returnstr返回字符串
string tempstr="",returnstr="";
//mid1、mid2分别取当前字符和下一字符
char[] mid1=new char[2];
char[] mid2=new char[2]; len=inputstr.Length ; for (int i=0;i<len;i++)
{
if (i<len-1)
{
mid1=inputstr.ToCharArray(i,1); //取当前字符
mid2=inputstr.ToCharArray(i+1,1); //取下一个字符
cur=(mid1[0]>>n)|((mid2[0]<<(7-n))& 0xff); //当前字符右移n位 与 下一字符左移n位
}
else
{
mid1=inputstr.ToCharArray(i,1); //如果是最后一个字符,只需取最后一个字符
cur=(mid1[0]>>n)& 0x7f; //右移n位后补0 }
tempstr=Convert.ToString(cur,16);
if (tempstr.Length==1) tempstr="0" + tempstr;
returnstr=returnstr+tempstr;
n=(n+1)%7;
if (n==0) i++;
}
return returnstr;
} public string DecodeEnglish(string inputstr)
{
string returnstr="";
string s1="",s2="",s="";
int t1=0,t2=0,Point=0;
int t=0,t0=0;
int n=inputstr.Length;
byte[] array = new byte[1]; for (int i=0;i<n;i=i+2)
{
s1=inputstr.Substring(i,2);
t1=Convert.ToInt16(s1,16);
if(Point==0)
t=t1 & ReturnHex(Point);
else
{
s2=inputstr.Substring(i-2,2);
t2=Convert.ToInt16(s2,16);
t=((t1 & ReturnHex(Point))<<Point) | (t2>>(8-Point));
}
array[0]=(byte)t;
s=System.Text.Encoding.Default.GetString(array);
returnstr=returnstr+s;
if(Point%7==0&&Point!=0)
{
i=i-2;
Point=0;
}
else
Point=Point+1; }
return returnstr; }
{
switch (Value)
{
case 0:
Value=0x7f;
break;
case 1:
Value=0x3f;
break;
case 2:
Value=0x1f;
break;
case 3:
Value=0x0f;
break;
case 4:
Value=0x07;
break;
case 5:
Value=0x03;
break;
case 6:
Value=0x01;
break;
case 7:
Value=0x00;
break;
}
return Value;
}
“超级终端”,是一个软件,一个微软在操作系统NT时代就有的一个附件。
当然现在的WIN2000中还在。
“开始”->程序->附件->通信
http://www.csdn.net/develop/read_article.asp?id=17465
http://www.csdn.net/develop/read_article.asp?id=17574
1。消息方式
2。线程读取方式,要用overlapped方式,以实现双工这两个方法都需要构造一个FIFO,并识别出一个完整的命令字。我今天晚上试试调试一个,到时把代码贴出来一起分析