请教一个关于CAN总线标准ID和扩展ID的问题
请教一下在CAN总线里面,标准ID去低11位的stdid之后,为什么还有个向左移动21位的设置呢?在扩展ID里面取低32位之后,也是向左移动3位的设置?assert_param(IS_CAN_STDID(TxMessage->StdId));
CANx->sTxMailBox.TIR |= ((TxMessage->StdId << 21) | \
TxMessage->RTR);
assert_param(IS_CAN_EXTID(TxMessage->ExtId));
CANx->sTxMailBox.TIR |= ((TxMessage->ExtId << 3) | \
TxMessage->IDE | \
TxMessage->RTR);
这么设置是为什么呢?请大神帮忙解答下,谢谢了!!! 打开手册看寄存器去。 标准ID在高位 左对齐。。 這個基本就是軟件將就硬件了,
youmu 发表于 2016-12-16 21:37
左对齐。。
哦,好的,谢谢。
页:
[1]