我正在看一段代码,它将命令从一个硬件发送到另一个硬件.下面是一个片段.
unsigned char data[3];
msg_header *mHead; //pointer of struct msg_header
mHead = (msg_header *) &data;
mHead->startByte = START_BYTE;
mHead->ID = GET_TELEM; //0x30
mHead->length = 0;
Run Code Online (Sandbox Code Playgroud)
结构msg_header在头文件中定义.
typedef struct {
unsigned char startByte;
unsigned char ID;
unsigned char length;
// unsigned char from;
} msg_header;
Run Code Online (Sandbox Code Playgroud)
有人可以解释mHead = (msg_header *) &data;
实际上在做什么吗?我知道*&正在创建对指向数据的指针的引用,但为什么msg_header在parantheses中,为什么包含它?
谢谢你的帮助.
我正在开发一个更大的项目,很多.cpp文件都包含在不同目录中的文件,但是没有引用访问代码中的其他目录.
谢谢您的帮助.
我正在尝试使用数据字节创建CRC,我已经编写了这个函数:
u16 crcGenerate(unsigned char bytes, int len){
u16 crc = 0;
for (int i = 0; i < len; i++){
crc = crc16__computeByteAnsi(crc, bytes[i]); }
return crc;
}
Run Code Online (Sandbox Code Playgroud)
每当调用此函数时,我都会遇到上述错误,我不太确定如何解决它,甚至是什么问题.
为了避免这个问题膨胀,我已经包含了引用的其他主要.h和.cpp文件.
我非常感谢能得到的任何帮助; 如果还有其他需要提供的信息,请告诉我.我对C/C++不是很熟悉,我不知道是什么导致了这个问题.
谢谢.