CAN总线特点:基于报文编码而非对节点编码,增删节点对系统没有影响,靠干扰稳定性好,速率高。

小工具:CANtool

收发器:CAN总线收发器CTM1050,通信速率1Mbps,至少可连接110个节点。内部集成的电气输入级隔离电路,可隔离高达2 500V的直流电压。输入级兼容3.3V和5V的CAN控制器,输出级驱动具有温度保护,内部TVS管可防止总线过压功能(无需外部光耦)。

CAN中断服务程序   C8051F550的CAN支持的中断方式有状态中断和模块中断。状态中断方式是在报文成功传输或检测到CAN总线出错时发生的。模块中断也称消息中断。CAN控制器允许用户按需求配置消息对象成为中断源。通过设置消息控制寄存器的中断悬挂位可实现此功能。在CAN中断寄存器中以最高优先级来指向这些挂起的中断,而不考虑时序。状态中断有最高优先级,读取状态寄存器会自动清除状态中断值(8000h)。消息中断优先级是随消息编号的增加而减小。消息中断是由清除消息对象的INTPND位来清除的   http://www.elecfans.com/emb/danpianji/C8051F550.html

https://max.book118.com/html/2017/0524/108876618.shtm

主机:发送采用定时,接收采用中断。https://wenku.baidu.com/view/b1a4b7a527284b73f3425063.html

从机:发送接收都用中断(区分状态中断,收中断和发中断)

每个报文8字节:首字节的高2位优先级,低6位为地址编号(主机为0),第二字节为命令字;其它字节为发送内容

https://wenku.baidu.com/view/69569a3b5a8102d276a22f3d.html

http://www.go-gddq.com/html/QiTaDanPianJi/2013-06/1133351.htm

can长报文的发送方法:

初始化:

发送:

接收:

C8051F_CAN的更多相关文章

随机推荐

  1. Myeclipse项目内容没有报错但是项目上面却有红色叉叉

    当src文件夹为空的时候,git是不提交空文件夹的,所以check出来的项目中没有src文件夹,这个时候也会出现此问题.

  2. [APIO 2015] 雅加达的摩天楼

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4070 [算法] 考虑将每个"Doge"向其所能到达的楼连边 直接 ...

  3. codevs 1048石子归并

    传送门 1048 石子归并  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], ...

  4. Qt5.7不能加载MySql驱动问题.(需要重新编译驱动)

    转自:http://blog.csdn.net/qq_28851503/article/details/52422302 首先贴上我遇到的问题,如下: QSqlDatabase: QMYSQL dri ...

  5. keystone nova v2 python

  6. PLSQL导入导出oracle表 表空间

    PLSQL导入导出表的正确步骤 原来总是直接 tools->import talbes->Oracle Import结果发现有的时候会出错:有的表不能正确导入, baidu+googel解 ...

  7. POJ - 3278 Catch That Cow BFS求线性双向最短路径

    Catch That Cow Farmer John has been informed of the location of a fugitive cow and wants to catch he ...

  8. 51nod 1416【DFS】

    思路: 暴力整个图,以这个为起点,然后看一下有没有找到一条路是会指向自己且元素个数>=4: #include <bits/stdc++.h> using namespace std; ...

  9. 51nod 1348【next_permutation】

    next_permutation的粗讲来自窝bin博客 两个重载函数,第二个带谓词参数_Comp,其中只带两个参数的版本,默认谓词函数为"小于". 返回值:bool类型 分析nex ...

  10. laravel M层

    目录 App\Models   没有就自己创一个 创建对应控制器的php文件,首字母大写 <?php namespace App\Models; use Illuminate\Database\ ...