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. 「Luogu P2468 [SDOI2010]粟粟的书架」

    这道题分为两个部分 Part1 前置芝士 前缀和(后缀和,二维前缀和):可以预处理一下数据. 二分查找:可以在较短的时间内找出答案. 具体做法 可以发现\(R,C\)不大,只有\(200\),于是可以 ...

  2. 解题报告:luogu P5755 [NOI2000]单词查找树

    题目链接:P5755 [NOI2000]单词查找树 曾几何时,NOI 也有这么水的题( 裸的\(Trie\),只用维护插入即可,记得\(+1\)就好了,真没用讲的. \(Code\): #includ ...

  3. 在ng-repeat 中使用 ng-click

    angular 中使用 ng-repeat  过程中,有时需要绑定 事件 click ,使用ng-click ,但是并没有效果,此时应该使用 data-ng-click 替代 ng-click ,并且 ...

  4. Python 之并发编程之进程上(基本概念、并行并发、cpu调度、阻塞 )

    一: 进程的概念:(Process) 进程就是正在运行的程序,它是操作系统中,资源分配的最小单位. 资源分配:分配的是cpu和内存等物理资源 进程号是进程的唯一标识 同一个程序执行两次之后是两个进程 ...

  5. 谁才是天朝最厉害的演员?让Python来为你揭晓!

    一.项目背景 上个月笔者的一个同学开了间影视投资公司,出于对创业人员的仰慕和影视投资行业的好奇,我就跟他寒暄了几句,聊天当中他提及到国庆节有部<攀登者>即将上映,预计票房会大好,因为吴京是 ...

  6. 百度云bae安装discuz论坛教程

    作者:孤风一剑   发布:2013-05-11 13:37   栏目:站长在线   点击:6,846次   41条评论 各位草根们有福啦,弄了几天,终于可以在bae上搭建discuz论坛了,下面我就简 ...

  7. Centos7精简版安装常用扩展插件

    一.安装ifconfig *确认本机是否真实存在ifconfig* echo $PATH 查看环境变量路径 ls /usr/sbin/ 查看此路径下是否有ifconfig这个程序 find / -na ...

  8. C 语言入门---第六章 C语言数组

    数组就是一些列具有相同类型的数据的集合,这些数据在内存中一次挨着存放,彼此之间没有缝隙. 我们可以将二维数组看作一个Excel表格,有行有列,length1 表示行数,length2 表示列数,要在二 ...

  9. Jquery事件汇总、网页入口

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. SciPy 优化

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...