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. C++获取驱动盘句柄

    转载:https://www.cnblogs.com/sherlock-merlin/p/10792116.html     https://univasity.iteye.com/blog/8052 ...

  2. 【PAT甲级】1023 Have Fun with Numbers (20 分)

    题意: 输入一个不超过20位的正整数,问乘2以后是否和之前的数组排列相同(数字种类和出现的个数不变),输出Yes或No,并输出乘2后的数字. AAAAAccepted code: #define HA ...

  3. 利用django打造自己的工作流平台(二):疫情统计系统

    相关文章: 利用django打造自己的工作流平台(一):从EXCEL到流程化运作 本文是“利用django打造自己的工作流平台”系列文章的第二篇,在自己开发的工作流平台中添加了一个用于排查统计可能受感 ...

  4. 从系统引导菜单禁用Hyper-V

    1, 从当前引导运行的系统复制一个新引导菜单项: bcdedit /copy {current} /d "Win10 NO_HV" 这时候cmd会输出新引导项的 guid, 复制出 ...

  5. Java程序员常用工具类库

    有人说当你开始学习Java的时候,你就走上了一条不归路,在Java世界里,包罗万象,从J2SE,J2ME,J2EE三大平台,到J2EE中的13中核心技术,再到Java世界中万紫千红的Framework ...

  6. LeetCode 1025. Divisor Game

    题目链接:https://leetcode.com/problems/divisor-game/ 题意:Alice和Bob玩一个游戏,Alice先开始.最初,黑板上有一个数字N.每一轮,选手首先需要选 ...

  7. 分页插件 layui.laypage 的用法

    参考 layui.laypage 官方文档 https://www.layui.com/demo/laypage.html 第一步下载插件 (注意不能只引入引入 layui.css和layui.js ...

  8. WC2020「Fantasie」

    由于某些不可抗拒因素,这篇文章鸽了

  9. boost::property_tree 读取ini配置

    应用场景: 在后端服务器项目开发中,需要初始化一个Socket服务器,需要IP地址与对应端口号等参数:另外还可能因为对接数据库,就还需要数据库的相关配置参数,如我使用的是MySql数据库,就需要数据库 ...

  10. 前端学习笔记系列一:13new Date()的参数

    前两天发现手机页面的倒计时在Android上正常显示,在iPhone却不能显示. 后来又发现在ff和ie里也不显示.(以前只在chrome里看过,显示正常). 后来同事改了new Date()里字符串 ...