• [转载]DSP2812 ECan总线中ECanaShadow的理解


    博主可否总结过在2812中配置CAN的过程中,具体对哪些寄存器的位操作需要使用影子寄存器?在TI的《eCAN参考指南》中只是说明了“控制和状态寄存器只允许32位访问”,我根据经验和例程大概圈了下,主控制寄存器(CANMC)、TX I/O控制寄存器(CANTIOC)、RX I/O控制寄存器(CANRIOC)、超时控制寄存器(CANTOC)、位-时序配置寄存器(CANBTC)、错误和状态寄存器(CANES)对位操作的时候需要使用影子寄存器,还有几个不是很确定:写覆盖保护控制寄存器(CANOPC)、消息控制寄存器(MSGCTRL或MCF)、超时状态寄存器(CANTOS)等对位操作的时候是否需要使用影子寄存器?烦请博主指点!


    在DSP2812 TI公司给的ecan模块的例程中多处使用到ECanaShadow,是因为DSP2812的一些寄存器(如控制寄存器)需要32位访问,不能对位进行操作,如果想向一个单独位进行写操作,编译器可能会使其进入16位访问。所以要引入一个影子寄存器(ECanaShadow)迫使其进行32位访问,把整个寄存器读入一个影子寄存器ECanaShadow  (它是一个变量,不是寄存器),然后对相应的位进行位操作,然后再把ECanaShadow 的值整体赋值(复制)回eCAN寄存器。


    原文地址:DSP2812 ECan总线中ECanaShadow的理解作者:俊俊


  • 相关阅读:
    zookeeper 初步学习
    nginx+redis+4个tomcat 负载均衡
    nginx的配置文件解析
    nginx-----惹不起的端口修改
    Api2Doc生成 Restful API 文档
    swagger2 注解整体说明
    SpringMVC 中xml 配置多数据源
    lombok 注解使用
    springboot 中 集成druid ,redis
    spring学习---day01
  • 原文地址:https://www.cnblogs.com/iable/p/4206830.html
Copyright © 2020-2023  润新知