A节点pelican协议下,扩展帧 单滤波方式

A节点的接收滤波器 ID号 设置为 0x19881205

设置过程 (1) pelican模式设置

设置时钟分频寄存器CDR.7 =1 使SJA1000工作在pelican模式

(2) 是单滤波模式

单滤波模式 设置 模式寄存器的第3位 MOD.3 为 1 表示是 单滤波方式

(3) 接收器的接收的是扩展帧 实际上选择了pelican 模式 接收缓冲器就变为了13个字节。 就是接收的扩展帧的格式。

(4) 验收代码寄存器 和验收屏蔽寄存器的设置

ACR0

 

ACR1

 

ACR2

 

ACR3

 
                                                                   

ACR0

 

ACR1

 

ACR2

 

ACR3

 
                                                                   

我制作的pelican协议, 扩展帧格式 单滤波方式

程序调试的时候,相比于以前的 pelican 协议 标准帧模式 单滤波方式

之前在标准帧的方式下, 是从第4个字节 开始读数据

标准帧数据存放格式如下图:

对应从第四帧读数据如下图

现在我用的是 pelican协议 扩展帧格式 单滤波方式

对应的程序修改:

试验过程:

主机发送帧的ID号为 0X19881205

从机接收的帧的单滤波器 为 0X 19881205

则主机发送的数据 从机 均可以正常接收 。

(2) 若更改从机的ID号 为 0x19900424

更改从机的程序以后,刷写程序, 发现主机按下按键发送数据,从机不接收

总结:

对最终的程序总结以及调试方式进行总结:

可以把这个程序上传到淘宝或者咸鱼上卖出去,我觉得是可以的。一方面也是给自己积累经验。也是把经验换成钱。

我最终把文件 存放的路径C:\can_prictise\20180218

分为 主机 和从机 文件夹

首先主机 和 从机 均采用pelican协议 扩展帧格式 单滤波方式

主机发送一个字节的ID 是0X19881205

主机接收器单滤波 接收器的ID号 是0x19900424

从机发送一个字节的ID是0X19900424

从机接收器单滤波 接收器的ID号 是 0X19881205

主机程序设置的相关部分

  1. 在置位复位请求的时候 顺便使能了 单滤波方式

    (2)在复位模式下,是SJA1000工作在pelican模式

    (3)由于采用了pelican模式,所以接收器 和 发送器都是扩展帧格式

    (4) 设置主机单滤波器的验收代码寄存器ACR(4个) 和接收屏蔽寄存器AMR(4个)

    使主机的接收邮箱是0x19900424

    (5) 由于是扩展帧 所以在SJA1000的接收中断里做如下处理。

(6) 按键触发 主机发送的时候, 发送的ID号 是 0x19881205

从机设置的相关部分:

  1. 在置位复位请求的时候 顺便设置了单滤波方式

  1. 在复位模式下 是SJA1000控制器工作了pelican模式下

    (3)由于是pelican模式,所以接收器和发送器都是扩展帧的格式

    (4)设置从机单滤波器的 验收代码寄存器和接收屏蔽代码寄存器

    (5) 设置了从机的接收ID号为0x19881205

    相应的在SJA1000接收中断的函数里

从机的发送邮箱ID 号码是 0x19900424

程序 运行的现象:

当主机按下按键 的时候 会触发 发送 从机会正常接收,数码管正常显示

当从机按下按键的时候 会触发从机 发送, 主机会正常 接收, 主机的数码管正常显示

用户kvaser 监控

我储存的log如下:

程序百度 网盘 的地址

CAN通讯基本设置的更多相关文章

  1. STM32 + RT Thread OS 串口通讯

    1.   创建项目 a)   禁用Finsh和console b)   默认情况下,项目文件包含了finsh,它使用COM1来通讯,另外,console输出(rt_kprintf)也使用了COM1.因 ...

  2. HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术

    最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的 ...

  3. (转)利用libcurl和国内著名的两个物联网云端通讯的例程, ubuntu和openwrt下调试成功(四)

    1. libcurl 的参考文档如下 CURLOPT_HEADERFUNCTION Pass a pointer to a function that matches the following pr ...

  4. (转)linux下和云端通讯的例程, ubuntu和openwrt下实验成功(二)

    前言: 上节用纯linux的函数实现了和云端通讯, 本节开始利用传说中的神器libcurl 话说一个网络程序员对书法十分感兴趣,退休后决定在这方面有所建树. 于是花重金购买了上等的文房四宝.    一 ...

  5. (转)linux下和云端通讯的例程, ubuntu和openwrt实验成功(一)

    一.  HTTP请求的数据流总结#上传数据, yeelink的数据流如下POST /v1.0/device/4420/sensor/9089/datapoints HTTP/1.1Host: api. ...

  6. 用SignalR 2.0开发客服系统[系列1:实现群发通讯]

    前言 交流群:195866844 先说一下我为什么会写这个博客吧,(首先说一下,我是一个小菜鸟,讲的不好请指导 - -,)  前段时间公司的项目涉及到在B/S上使用即时通讯,(其实就是做一个B/S的客 ...

  7. 用SignalR 2.0开发客服系统[系列3:实现点对点通讯]

    前言 交流群:195866844 目录: 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 用SignalR 2.0开发客服系统[系列2:实现聊天室] 真的很感谢大家的支持,今天发表系列3 ...

  8. 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(二)

    我们上一篇<基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)>主要讲解了如何搭建一个实时数据通讯服务器,客户端与服务端是如何通讯的,相信通过上一篇的讲解,再配 ...

  9. 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)

    今天没有延续上一篇讲的内容,穿插一段小插曲,WebSocket 实时数据通讯同步的问题,今天我们并不是很纯粹地讲 WebSocket 相关知识,我们通过 WebGL 3D 拓扑图来呈现一个有趣的 De ...

随机推荐

  1. yii 框架 – 安全站点和非安全站点的 URL 管理

    在本文中我将描述怎么管理安全站点和非安全站点的 URL 管理. 安全站点的内容使用httpsSSL (安全套接字层) 协议发送,而非安全站点使用http协议.为了描述简单,我们称前者https内容/页 ...

  2. 「学习笔记」Treap

    「学习笔记」Treap 前言 什么是 Treap ? 二叉搜索树 (Binary Search Tree/Binary Sort Tree/BST) 基础定义 查找元素 插入元素 删除元素 查找后继 ...

  3. VS2017+EF6+MySQL8.0配置(.Net Framework 4.5)

     开发环境Vs2017 运行环境:.Net Framework 4.5(win7专业版 64位) 1.下载安装mysql数据库版本:mysql-8.0.19-winx64 ----数据库版本貌似跟My ...

  4. Python字符串(二)

    四.类型转换 1. 基本语法: 类型名(数据) --- 将指定数据转换成指定类型 说明:类型名 -任何python支持的,或者自定的类型都可以数据 -需要转换的对象,类型不同要求可能不一样 2. 转换 ...

  5. Acwing779 最长公共字符串后缀

    题目大意:给定n个字符串,让你找到他们的最长公共字符串后缀是什么,可能为空. 分析:题目数据范围比较小,可以O(n*n)暴力匹配,即可解决这道问题.之所以写这道题的题解还是因为写字符串的题还不够多啊, ...

  6. POJ 2947:Widget Factory 求同余方程

    Widget Factory Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 5173   Accepted: 1790 De ...

  7. @@trancount什么意思(重要)

    @@trancount什么意思 https://www.cnblogs.com/monian/archive/2012/08/24/2654392.html 在处理事务的时候,一般都用RollBack ...

  8. 伪类:after,:before的用法

    :after和:before是css3中的伪类元素.用法是像元素的前或者后插入元素.以after为例: li:after{ content: ''; color: #ff0000; } 意思是向li元 ...

  9. Subtitles

    1. 字幕Subtitles 2. 字幕类型 3. 字幕格式 4. 常用文本字幕 5. 字幕编辑器 6. 字幕编辑器比较 1. 字幕Subtitles https://en.wikipedia.org ...

  10. maven构建项目失败----99%

    删除工作空间信息,重新导入,问题解决, 该问题,可能是安装Spring IDE 导致的问题,eclipse兼容性问题