CAN通讯基本设置
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
主机程序设置的相关部分
- 在置位复位请求的时候 顺便使能了 单滤波方式
(2)在复位模式下,是SJA1000工作在pelican模式
(3)由于采用了pelican模式,所以接收器 和 发送器都是扩展帧格式
(4) 设置主机单滤波器的验收代码寄存器ACR(4个) 和接收屏蔽寄存器AMR(4个)
使主机的接收邮箱是0x19900424
(5) 由于是扩展帧 所以在SJA1000的接收中断里做如下处理。
(6) 按键触发 主机发送的时候, 发送的ID号 是 0x19881205
从机设置的相关部分:
- 在置位复位请求的时候 顺便设置了单滤波方式
- 在复位模式下 是SJA1000控制器工作了pelican模式下
(3)由于是pelican模式,所以接收器和发送器都是扩展帧的格式
(4)设置从机单滤波器的 验收代码寄存器和接收屏蔽代码寄存器
(5) 设置了从机的接收ID号为0x19881205
相应的在SJA1000接收中断的函数里
从机的发送邮箱ID 号码是 0x19900424
程序 运行的现象:
当主机按下按键 的时候 会触发 发送 从机会正常接收,数码管正常显示
当从机按下按键的时候 会触发从机 发送, 主机会正常 接收, 主机的数码管正常显示
用户kvaser 监控
我储存的log如下:
程序百度 网盘 的地址
CAN通讯基本设置的更多相关文章
- STM32 + RT Thread OS 串口通讯
1. 创建项目 a) 禁用Finsh和console b) 默认情况下,项目文件包含了finsh,它使用COM1来通讯,另外,console输出(rt_kprintf)也使用了COM1.因 ...
- HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术
最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的 ...
- (转)利用libcurl和国内著名的两个物联网云端通讯的例程, ubuntu和openwrt下调试成功(四)
1. libcurl 的参考文档如下 CURLOPT_HEADERFUNCTION Pass a pointer to a function that matches the following pr ...
- (转)linux下和云端通讯的例程, ubuntu和openwrt下实验成功(二)
前言: 上节用纯linux的函数实现了和云端通讯, 本节开始利用传说中的神器libcurl 话说一个网络程序员对书法十分感兴趣,退休后决定在这方面有所建树. 于是花重金购买了上等的文房四宝. 一 ...
- (转)linux下和云端通讯的例程, ubuntu和openwrt实验成功(一)
一. HTTP请求的数据流总结#上传数据, yeelink的数据流如下POST /v1.0/device/4420/sensor/9089/datapoints HTTP/1.1Host: api. ...
- 用SignalR 2.0开发客服系统[系列1:实现群发通讯]
前言 交流群:195866844 先说一下我为什么会写这个博客吧,(首先说一下,我是一个小菜鸟,讲的不好请指导 - -,) 前段时间公司的项目涉及到在B/S上使用即时通讯,(其实就是做一个B/S的客 ...
- 用SignalR 2.0开发客服系统[系列3:实现点对点通讯]
前言 交流群:195866844 目录: 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 用SignalR 2.0开发客服系统[系列2:实现聊天室] 真的很感谢大家的支持,今天发表系列3 ...
- 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(二)
我们上一篇<基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)>主要讲解了如何搭建一个实时数据通讯服务器,客户端与服务端是如何通讯的,相信通过上一篇的讲解,再配 ...
- 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)
今天没有延续上一篇讲的内容,穿插一段小插曲,WebSocket 实时数据通讯同步的问题,今天我们并不是很纯粹地讲 WebSocket 相关知识,我们通过 WebGL 3D 拓扑图来呈现一个有趣的 De ...
随机推荐
- 物联网协议CoAP协议学习
CoAP:Constrained Application Protocol协议是为物联网中资源受限的设备制定的应用层协议,即简化版的基于UDP的HTTP协议.其核心内容为资源抽象.REST式交互可扩展 ...
- 在ubuntu中,通过代理服务器访问网络
一.临时设置代理服务的方式 export http_proxy=http://yourproxyaddress:proxyport 这种方式在你退出当前的shell之前,会影响到所有网络命令,包括wg ...
- 输出简单图形(StringBuilder代替双重循环)
在有些题目中打印简单图形必须使用StringBuilder或者StringBuffer,否则会运行超时(用String都会超时). 因为在题目的要求中说到输入的n是小于1000的,用双重循环就会超时, ...
- docsify简单教程
简介 一个神奇的文档网站生成器. 简单而轻便(〜18kB压缩) 没有静态构建的HTML文件 多个主题 快速开始 建议docsify-cli全局安装,这有助于本地初始化和预览网站. npm i docs ...
- activiti 全局流程监听ActivitiEventListener,实现监听不同类型事件,不需要在acitivit中配置任务监听,非常方便
如果我们像给任务配置监听,按照常规的做法是这样的 一个个配置,比较麻烦. 现在利用ActivitiEventListener,监听全局事件,并且可以判断不同的事件类型,进而执行不同的业务逻辑. 1.定 ...
- 8年经验面试官详解 Java 面试秘诀
作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三 ...
- [Linux] day04——Linux 入门
Linux 入门 =================Gnome 基于GTK图形库 速度快 稳定性好 专注与桌面本身 偏商务 RedHat企业版默认桌面KDE 基于QT 速度慢 软件多 习惯接近win ...
- HTML元素和测试用例的简要介绍
HTML和CSS的基本语法就不出教程,线下自己看电子书即可 HTML元素 标签 内容 属性 标签+内容+属性 <html> <head> <title>我的主页&l ...
- 配置<welcome-file>为自定义路径
welcome-file是web.xml中的一个配置,其作用是配置启动项目时默认跳转的欢迎页面,一般我们会将其指定为一个静态页面. 那如果我们要将自定义的请求路径作为欢迎页面该怎么做呢? 1.配置we ...
- 有关vector元素的取地址
1--原则上,最好不要对vector的元素取地址,除非所有的vector元素已经填充完毕,这样vector的元素不会发生位置移动,地址才不会变,这样才能确保取得的地址的有效性.PS:即使在可以用已经分 ...