CANOpen学习(一)

  • CANOpen心跳功能学习
    • 修改串口PIN脚和CAN的PIN脚
    • 原本timer中发送心跳包的相关逻辑
    • 修改心跳发送逻辑
      • 修改定时器周期为10us
      • 修改timer.c文件中发送心跳包的逻辑
      • 修改节点关于心跳时间的设置
      • 重新测试,按照500ms进行心跳包发送

CANOpen心跳功能学习

结合周立功Can分析仪+硬石科技canopen心跳主站源码+rtthread的定时链表思想+正点原子stm32f407开发板,学习festival源码关于canopen心跳功能的实现和改写。本文章仅用于自学记录和分享,如阅读中发现不完整或有误,欢迎及时指正,文件附件代码只是自己随意修改的学习资料,所以如无必要不要下载。
链接地址:https://download.csdn.net/download/weixin_43695159/85493568

修改串口PIN脚和CAN的PIN脚

根据正点原子开发板,对相关硬件进行配置

原本timer中发送心跳包的相关逻辑

原本心跳发送是在定时器中断中,定时器时钟设置为1MHZ,计数周期设置为最大0xFFFF,我也没有完全明白这个逻辑,而且实际通过周立功can分析仪测试下来发现心跳包发送频率很高且不是周期发送,如下图:


修改心跳发送逻辑

修改定时器周期为10us

配置定时器分频系数和周期计数值,把定时中断时间设为为10us,在定时中断中进行系统时钟计数。

修改timer.c文件中发送心跳包的逻辑


并且将这个函数放到裸机主循环中进行

修改节点关于心跳时间的设置

重新测试,按照500ms进行心跳包发送

CANOpen学习(一)相关推荐

  1. CANopen学习笔记

    CANopen学习笔记 文章目录 CANopen学习笔记 1.NMT 1.1.NMT的Boot_up (节点上线报文) 1.2.NMT 节点状态与心跳报文 1.3.NMT节点守护 1.4 .NMT节点 ...

  2. linux canopen软件,CANopen学习笔记

    1. TPDO和RPDO都是针对从站来说的,协议上没有有讲任何一个关于主站的概念,协议就只是定义从站,没有定义主站任何东西. TPDO:从站->主站 RPDO:主站->从站 2. PDO的 ...

  3. CanOpen学习笔记5-- CanFestival使用提示

    1,PDO Parameter Callbacks设置调用:PDO初始化程序中,会设置其三个参数Transmission type.Inhibit time.Event timer对应的回调函数,当这 ...

  4. canOpen学习十之canOpen应用实现紧急事件发送

    一.简介 所谓紧急事件就是系统出现错误后需要告知其他设备我出错了,其他设备做出对应的反应. 紧急事件用到的索引是0x1001和0x1003,下面详细介绍一下这两个索引 对象0x1001: 对象0x10 ...

  5. 《CANOpen》 学习笔记5

    <CANOpen> 学习笔记5 CANOpen 学习笔记5 驱动器 CANopen 调试笔记 驱动器 CANopen 调试笔记 驱动器 Copley 公司提供的 <CANopenPr ...

  6. 嵌入式CANopen协议从入门到落地产品(更新2021.9.8)

    一.前言 我写CANopen系列博文的初衷是分享如何使用STM32单片机开发一款CANopen产品,所谓实战为主,理论为辅.只看CANopen协议的理论是很枯燥,而且根本看不会.我认为掌握CANope ...

  7. C#开发CANopen主站(SDO收发数据)

    C#开发CANopen主站(SDO收发数据) 一.准备工作 熟悉CANopen相关知识,可以参考我的另一篇博客<CANopen学习笔记> 获取周立功或者广成科技的上位机二次开发包及驱动 熟 ...

  8. 机器人开发--CanOpen

    机器人开发--CanOpen 1 介绍 1.1 概述 1.2 应用 2 历史发展 3 协议 3.1 协议细节(来自CiA文档) 3.2 协议框架 OSI 模型 服务 COB-ID NMT SYNC 紧 ...

  9. POWERLINK 工业实时以太网协议简介

    高端制造,在当前历史背景下独立自主是必经之路.先进技术是买不来的,高端制造是国之重器. 何为POWERLINK ?先来说下什么是工业以太网. 工业以太网 平常我们听的最多用的最多的Internet互联 ...

最新文章

  1. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解
  2. 运营商级网络地址转换(LSN/CGN)方案介绍
  3. sql 子查询(mysql)
  4. 探探自动配对PHP_CentOS7 - 安装Apache HTTP Server和PHP
  5. HDU3507-Print Article-斜率dp入门题
  6. Summed-Area Variance Soft Shadow Mapping(SAVSM):二
  7. php访问c#接口,介绍C#中的接口
  8. Webpack 中 css import 使用 alias 相对路径
  9. 深入剖析ConcurrentHashMap(2)
  10. 用word怎么做c语言框图作业,在Word中绘制简单C语言流程图(精)
  11. 第四次作业之四则运算
  12. 开发测试环境 k8s node节点磁盘不足运维
  13. 深入剖析ReentrantLock公平锁与非公平锁源码实现
  14. 软式棒垒球运动进校园
  15. 未来微型计算机发展趋势,简述什么是单片机(单片机未来发展趋势)
  16. 全球第二!食在爱尔兰,安全感满满!
  17. PhD positions 008-2021-FEB
  18. android联系人管理源码,计算机毕业课程设计源码-145安卓Android通讯录管理系统
  19. android连续调用setVisibility(View.VISIBLE)和setVisibility(View.Gone)
  20. 使用FFmpeg,将mp4等格式转mp3格式

热门文章

  1. 通过frp搭建属于自己的免费稳定的内网穿透服务
  2. shell中的提示符及其功能
  3. BehaviorTree.CPP
  4. 既能java又能vue薪资,据说最近股市又开始热闹了 :),用 Java 多线程 + Vue 搞了一个 A 股大屏,看能不能找个好工作。...
  5. Photoshop勾勒出轮廓
  6. PHP读取显示当前目录的图片
  7. Linux权限(重点)
  8. SFT-250手提式安全轴流风机
  9. matlab机器人自动分拣_YOLOv3 + Matlab Robotics ToolBox 实战 -- 软包装药品的机器人分拣系统设计与仿真...
  10. 机器人抓矸石_研究提出多机械臂协同煤矸分拣机器人