CANFD的Rx Buffer有两个32bit NDAT寄存器,如果bit值为1就表示相应的偏移位置接收到CANFD帧数据了,总共可以接受64个CANFD帧数据。
[Lua] 纯文本查看 复制代码 for i=0,31, 1 do
off = (FDCAN1_RxBufferNDAT1 & (1<<i) ) >> i
if(off == 1) then
RxCount = RxCount + 1
RxBuffer[RxCount] = i
end
end
for i=0,31, 1 do
off = (FDCAN1_RxBufferNDAT2 & (1<<i) ) >> i
if(off == 1) then
RxCount = RxCount + 1
RxBuffer[RxCount] = i + 31
end
end
|