1. Block Diagram

2. 数据字节进入CAN Core的顺序

3. CPU对于邮箱(Message RAM)数据的读取

CPU把CAN 邮箱(Message RAM中的Message objects)中的数据读取出来分几步?
大致理解为2步

NOTE: 对于Message RAM的读/写CPU都无法直接操作(Test Mode除外),都要借助IFx(接口寄存器)来间接读写.

过程分析

Message RAM =读取数据=> Interface Reg

补充:

Reception of Data Frames

接收到数据并读取Message object数据后CPU应该reset the NewDat bit.

4. Message RAM 和 CPU的数据传输

5. 中断


6. Module Initialization

NOTE: CAN模块提供了3个接口寄存器,IF1/IF2可以对Message RAM进行读写,IF3对于Message RAM只读。

因为IF1和IF2都可以对Message RAM进行读写,所以比较好的做法是:

一个专门用来写一个专门用来读

补充:

7. CAN_ES.LEC 的复位机制



8.数据发送过程分析

9. 紧急记录

  1. CAN数据发送不出去可能是因为中断标志没有清除…
    比如将发送中断使能

    那么在中断中需要将对应的标志位清零

  2. CAN数据接收过滤器屏蔽,所有帧都接收

    将过滤器使能然后msgIDMask = 0

280049_CAN 模块相关推荐

  1. etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程

    1. etcd 项目结构和功能 etcd 项目代码的目录结构如下: $ tree ├── auth ├── build ├── client ├── clientv3 ├── contrib ├── ...

  2. OpenCV 笔记(01)— OpenCV 概念、整体架构、各模块主要功能

    1. OpenCV 概念 图像处理( Image Processing )是用计算机对图像进行分析, 以达到所需结果的技术, 又称影像处理. 图像处理技术一般包括图像压缩, 增强和复原, 匹配.描述和 ...

  3. Python 多线程总结(1)- thread 模块

    thread 模块 1. 单线程 首先看下单线程程序运行的例子,如下所示, import timedef loop0():print 'start loop0 begin', time.ctime() ...

  4. 关于python导入模块和package的一些深度思考

    背景 在python中有导入模块和导入package一说,这篇文章主要介绍导入模块和package的一些思考. 首先什么是模块?什么是package? 模块:用来从逻辑上组织python代码(变量,函 ...

  5. Python Re 模块超全解读!详细

    内行必看!Python Re 模块超全解读! 2019.08.08 18:59:45字数 953阅读 121 re模块下的函数 compile(pattern):创建模式对象 > import ...

  6. python性能分析之line_profiler模块-耗时,效率 时间

    20210203 直接用pycharm 自带的 20201215 直接装不上的情况下 先下载安装文件 再安装 line_profiler使用装饰器(@profile)标记需要调试的函数.用kernpr ...

  7. python:Json模块dumps、loads、dump、load介绍

    20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...

  8. 关于python 中的__future__模块

    Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了. 具体说来就是,某个版本中出现了某个 ...

  9. GPUtil是一个Python模块,使用nvidia-smi从NVIDA GPU获取GPU状态

    GPUtil是一个Python模块,使用nvidia-smi从NVIDA GPU获取GPU状态 一个Python模块,用于在Python中使用nvidia-smi以编程方式从NVIDA GPU获取GP ...

最新文章

  1. 计算机用电子表格验证方案,Excel电子表格的验证1.PDF
  2. 两周后上线,老板你在开玩笑吗?
  3. Linux多线程实践(一)线程基本概念和理论
  4. 面向对象编程风格基于对象编程风格
  5. 【深度学习】CVPR 2022 | 百变发型!中科大/微软/港城大提出HairCLIP:基于文本和参考图像的头发编辑方法...
  6. redis和kafka读取代码
  7. [转] STL中map用法详解
  8. asp.net core mvc剖析:KestrelServer
  9. mysql 主主+keepalive
  10. docker 容器内部获取自身id_crontab入门二:定时启动docker容器并启动容器内部脚本...
  11. 编码 GBK 的不可映射字符
  12. Mysql用户访问工作原理
  13. 显示菜单栏_mac菜单栏不显示了,如何设置?
  14. CCF NOI1065 最小公倍数
  15. android 6 root权限,安卓手机获取root权限真的很简单
  16. 光缆弹性模量计算_光纤光缆布线基础知识及系统设计
  17. 基于spss的聚类分析(Cluster analysis)
  18. IPD中的DCP评审
  19. 【NodeJs-5天学习】第四天存储篇④ ——基于MQTT的环境温度检测,升级存储为mysql
  20. [转]使用jenkins实现持续集成

热门文章

  1. php中奖概率算法,刮刮卡/大转盘抽奖算法
  2. Raft 实现日志复制同步
  3. mysql 分区合并_mysql中的合并表和分区表详解(经常使用的概念)
  4. esxi 服务器上登陆系统,实战:添加ESX/ESXi服务器到vCenter Server
  5. 如何设置STM32的系统时钟(SYSCLK)
  6. lisp语言怎么获取简码_Lisp语言到底神奇在哪里?
  7. Servlet实例化异常以及tomcat子级启动失败的可能原因
  8. Android调用新版百度天气api,解决地理编码问题
  9. 人类刚给火星送去Linux系统,以及一款安卓手机芯片
  10. 4.python 系统批量运维管理器之paramiko模块