问题:
我在VC++下面通过串口发送了
typedef struct
{
afAddrType_t End_Message_t; //自己定义的结构体
BYTE data_array[1][19]; //typedef unsigned char byte;
BYTE Command_Word;
}Send_M;
结构到单片机上,单片机上是用C语言,&msg[2] :是指向我发送的数据区的起始地址
我同样定义Send_M *p1;能否作以下操作:p1 = (Send_M *)(&msg[2])
byte Word = p1->Command_Word ;
afAddrType x;
x.x1 = p1->End_Message_t.x1;
byte ar[1][19] = p1 -> data_array[1][19];请大家帮忙顶上去,我在C/C++发过,有200闲分.请各位,帮我,我全部送上.
我在VC++下面通过串口发送了
typedef struct
{
afAddrType_t End_Message_t; //自己定义的结构体
BYTE data_array[1][19]; //typedef unsigned char byte;
BYTE Command_Word;
}Send_M;
结构到单片机上,单片机上是用C语言,&msg[2] :是指向我发送的数据区的起始地址
我同样定义Send_M *p1;能否作以下操作:p1 = (Send_M *)(&msg[2])
byte Word = p1->Command_Word ;
afAddrType x;
x.x1 = p1->End_Message_t.x1;
byte ar[1][19] = p1 -> data_array[1][19];请大家帮忙顶上去,我在C/C++发过,有200闲分.请各位,帮我,我全部送上.
解决方案 »
- 如何创建透明缓冲位图,hBitmap = CreateCompatibleBitmap( hdc, 230, 80 );这个函数貌似引起背景黑糊糊的罪魁祸首
- VC6.0下splitpath不能用吗?
- 出现这样的错误是怎么回事?
- 【SCBOY系列 01 号】工作中遇到问题,特来CSDN请教大家,100分几个问题,有关于UDP聊天服务器和跨越NAT的问题。
- 哪位大侠用过网口编程?就是网卡,网线
- 求助:.pdb文件缺失?!
- 送分(7天内结束)欢迎大家来看看
- 急!请问各位前辈,如何获得单文档中View类的指针?
- 谁帮我翻译几个名词!!!100分,急用!!!
- VC2010写的程序打包时还需要加上一些VC2010的DLL吗?
- 求教关于HBITMAP的问题。在线给分:)
- 在窗口画一条线,如何可以等距取出在该线上的若干个点?
memset(Word,p1->Command_Word ,sizeof(BYTE);
afAddrType x;
x.x1 = p1->End_Message_t.x1;
memset(ar, p1 -> data_array,sizeof(BYTE) * 19);
这样可能会好些。
读数据到缓冲区msg,p1 = (Send_M *)(&msg[2]),然后byte Word = p1->Command_Word。
至于数据在单片机里面怎么存储,如何从单片机读数据到缓冲区,我不是很清楚了。
另外可能需要传送数据的大小。
Send_M *ptr_Get; ptr_Get = osal_mem_alloc(sizeof(Send_M)); //为指针分配内存
osal_memcpy(ptr_Get,&msg[2],msg[1]); //拷贝到分配的内存
ptr_Get = (Send_M *)&msg[2]; //转换进行以上操作后,得出的结构是,可以显示出我的传出动的数据,但是,我在在传送的数据中有一个数组:
struct Send_M{
byte Word;
struct afddr{
byte x;
byte x1[8];
}
byte Da_array[1][19];
}接收的时候,我用ptr_Get ->Da_array[0][0]来读Da_array[1][19]的时候,却发现前移到了afddr的x1[8]的后五位,也就职指针乱了五个字节.