dsp28335 eCAN模块 发送消息
时间:10-02
整理:3721RD
点击:
发送消息过程中 把发送请求复位寄存器CANTRR置1 这时应该出现 要么CANTA置1表示发送成功 要么CANAA置1表示发送失败
为什么 我的有时候是上面的结果 有时候又两个都没置1? 可能的原因有哪些?
为什么 我的有时候是上面的结果 有时候又两个都没置1? 可能的原因有哪些?
我顶啊 大神都不屑于回这种问题
自己调好了 以前是这样ECanbRegs.CANTRR.bit.TRR1=1; 把TRR1置1
改为:
ECanbShadow.CANTRR.all=ECanbRegs.CANTRR.all;
ECanbShadow.CANTRR.bit.TRR1=1;
ECanbRegs.CANTRR.all=ECanbShadow.CANTRR.all;
继续问大神: 这两个的区别在哪里 ?
影子寄存器的问题,,ECAN寄存器只接受32位数据,而你给ECanbRegs.CANTRR.bit.TRR1=1; 这句并不是32位数据。必须通过影子寄存器转换成32位数据