|
最近在學(xué)CAN,有一個(gè)例程,用結(jié)構(gòu)定義了一個(gè)CAN的數(shù)據(jù)類(lèi)型,是這樣定義的:
typedef struct
{
u8 DLC:4; //數(shù)據(jù)長(zhǎng)度, bit0~bit3
u8 :2; //空數(shù)據(jù), bit4~bit5
u8 RTR:1; //幀類(lèi)型, bit6
u8 FF:1; //幀格式, bit7
u32 ID; //CAN ID
u8 DataBuffer[8]; //數(shù)據(jù)緩存
}CAN_DataDef;
CAN_DataDef CAN1_Tx;
CAN_DataDef CAN1_Rx[8];
我不明白的是 冒號(hào) :后邊的數(shù)字 比如 u8 DLC:4; 這一句,冒號(hào)后邊的那個(gè)4 是否有實(shí)際意義?這個(gè)4 不像是注釋?zhuān)铱磿?shū)上是這樣定義結(jié)構(gòu)的:
比如:
typedef struct
{
u8 DLC; //數(shù)據(jù)長(zhǎng)度, bit0~bit3
u8 RTR; //幀類(lèi)型, bit6
u8 FF; //幀格式, bit7
u32 ID; //CAN ID
u8 DataBuffer[8]; //數(shù)據(jù)緩存
}CAN_DataDef;
也許看Keil C的幫助可以解決,但我的英文太拉,看不懂,另外求一本能完全介紹Keil C的書(shū),不知道有沒(méi)有這樣的書(shū)。
再就是對(duì) u8 :2; //空數(shù)據(jù), bit4~bit5 這一行不理解,在B站上看過(guò)一個(gè)視頻,說(shuō)是空數(shù)據(jù)對(duì)CAN的傳輸就很有意義了?大意如此,我沒(méi)有理解,所以就沒(méi)有記得很扎實(shí)。謝謝大家。
|
|