LPC_CAN1->TDA1 = *(uint32_t *) &msg->data[0]; // Write first 4 data bytes
Run Code Online (Sandbox Code Playgroud)
请告诉我为什么使用*(uint32_t )以及uint32_t之前和之后这个" " 的用途是什么
这个码的目标是复制存在于第一个4个字节msg->data[0]来LPC_CAN1->TDA1.
&msg->data[0] 给出msg-> data [0]的地址.
(uint32_t *) &msg->data[0] 转换为地址指向32位无符号整数的地址.
*(uint32_t *) &msg->data[0] 从地址读取uint32_t值(4字节无符号整数).
希望有道理.