DSP配置寄存器的时候为什么都需要一个影子寄存器
ECanbShadow.CANTIOC.all = ECanbRegs.CANTIOC.all;ECanbShadow.CANTIOC.bit.TXFUNC = 1;
ECanbRegs.CANTIOC.all = ECanbShadow.CANTIOC.all; 帮忙顶 你可以先看看下面分享的资料
https://bbs.21ic.com/icview-587150-1-1.html
书上说32位寄存器只能允许32位访问,对32位寄存器进行16位的访问会破坏寄存器内容,或者返回错误的数据 好像只有can这里是有影子寄存器的 当ECanaShadow.CANMC.bit.SCB = 1;CAN模块工作在增强CAN总线模式下,eCAN的控制和状态寄存器必须采用32位寻址方式,可以先将数据写进一个临时寄存器中,处理完数据后再将32位数据用.all的形式写进寄存器,若强制用16位的寻址方式,则会产生不确定的结果。
具体可参考手把手教你学DSP——基于TMS320F281x的P432页内容
页:
[1]