int crc=0;
int i=0;while(i<CSanswer.GetLength())
crc+=CSanswer[i++];
int i=0;while(i<CSanswer.GetLength())
crc+=CSanswer[i++];
解决方案 »
- 本人大三学生,恳请前辈们指点迷津!
- [求助]typedef unsigned short* String,这样就能说明String是Unicode字符么?
- 关于在List Control中得到它一共有几列的问题。
- 发现新的学习交流vc的qq群 CSDN->VC之家,大家快动手啊
- 内存泄漏
- 关于内存回收(给500分,问题解决后分批给)
- 增加文件右键菜单功能
- 各位c++迷,进进来看一看几道简单的题,看看您能得多少分
- 有没有点类(CPoint)的链表类型,象CStringList?
- UPDATE ziliao1 ziliao2 SET young="yes" WHERE age="25"
- 问个怪问题:窗口和消息存在什么样的关系
- CRecordset的open方法老是弹出odbc对话框,很烦人,怎么办?
crc得到是每个字母的ANSI相加.
如 1=49, 2=50 ,A=65.那么1+2+A=49+50+65,
可是向单片机里1=1,2=2,A=10, 1+2+A=D, 只是,如果我想每个字母都去出我都进行判断,
CString s;
int m;
s=CSanswer.left(1)
然后
if(s=="A")
m=10;
if(s=="B")
m=11
......
我认为这样实在不行.我认为应该有更简单办法.
请问应这样?
你说发送的数据是16进制的还是字符串啊?如果是16进制的那你不能使用CString来保存数据。
因为可能数据里面含有0
这是我的发送程序
if(!m_mscomm1.GetPortOpen())
m_mscomm1.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE);
m_mscomm1.SetOutput(COleVariant(m_edit11));//发送数据
发送的是字符串,可是我想发送16进制不知这样写?
To: Kevin_qing(Kevin)
我一直在wait~~~
我用我的接收程序测试过单片机发送过来的数据,
单片机发送数据 接收的数据
0AH A
1AH 1A
00H 0
FFH FF
于是我这发送程序只要发送数据的全是大写,接收的单片机数据一样.
由于我对vc数据转化不熟,你看我上面的接收程序不用CString保存,那用什么保存呢?
然后就可以向单片机那样实行0AH+1AH+00H+FFH=119H
请指教.先谢了!!!