2020.12.29

发现一片博客:https://blog.csdn.net/harrycomeon/article/details/94650103

需要一个硬件:CAN分析仪,网上200元左右.

是因为can总线是通过两条线上的电压对比,???

所以,需要阻抗匹配,也就是发射出来的电压信号,???

通过线路传输后,达到终端,然后从终端测量的电压应该不失真才是好的.???

上面是自己的想法,下面是从网上搜到的:https://rf.eefocus.com/article/id-332676?from=groupmessage&isappinstalled=0

目前搭建了一个环境:

1.用的是广成科技的can分析仪:

厂家GCAN

型号USBCAN-I

2.用了一个stm32开发板

从stm32的开发板上引出can口

3.烧写了一个程序:

自己写的F:\do2\2\C90DK_F04_独立缓存can和串口备份23 新\Project\STM32F4xx_StdPeriph_Templates\MDK-ARM

这个程序,就是发送字符串:'1234'

波特率设置:

调用最终接口:

然后用,GCAN厂家的can分析仪的上位机,得到的数据:

目前有个问题,发射can的板子会死机,我把看门狗去掉之后,就会死在那里???

然后,接收的板子是正常的.没有问题...

之后,两个板子都试过了,然后发射的时候500K,发一段时间都会死机...

然后如果不接收,之后就不会死了...  就是can那边不接线,就不会死掉...

当初没有感觉,,,也没有进行摇摆,???

2020.12.31

今天调节can底层,主要是把速度提高到500K;

这里用的是正点原子的开发板,

然后,它的板子跑起来没问题,目前速度是1s发送一次.

然后,用正点原子的开发板,速度提高,10ms发送一次,还是没有问题.

然后,速度提高到1ms发送一次,也没有什么问题.

而且一直在用0号邮箱.没有变过.

然后用公司的板子,1s发送一次也没有问题, 这里的一次是指一帧.

如果频率快了就不行了.

目前找到了一个问题点:

这里:

用公司的开发板,用正点原子的程序:

上面一次是 cnt '计数'  : mbox,i : '邮箱号', 'i的计数'   其中i的计数是等待邮箱那里.

目前从上面串口输出可以看到,cnt 是38的时候,邮箱还是0

然后cnt是39的时候,邮箱就是1了,这里是有问题的.

所以查一下,为什么邮箱号会由0变成1.

2021.01.04

如果要把stm32的f407程序移植到f429就需要 修改启动文件.

今天用的项目名称是:can20201229_2_fromkfb

在stm32中如果返回的邮箱号是0x04,就是代表没有邮箱占用了.

为什么会出现下面的错误:(下面的错误主要是因为 .h 头文件中的问题)

准备试一下重发的功能:

下面是寄存器的can配置,写的比较好.

http://www.openedv.com/posts/list/31995.htm

can仿真的时候前几包总是有点问题,

后面较为正常.

做一个回环的东西,看一下,发送是否正常.

之后实在不行,然后编写一个纯寄存器的,看一下到底是哪一步出现了问题.

之后,还是不行,就尝试一下,改一下板子的can.

目前打算在 E:\程序源码2\can20201229_2_fromkfb的基础上改一个can回环,

看一下板子有没有问题,目前来看,正点原子的板子没有问题.

正点原子的程序跑起来也还好,

但是为什么移植到公司的板子上,就会出现问题???

查看一下,目前是怀疑板子有问题,走线的问题.

目前打算,新建一个工程,

把公司的板子没有用的东西都清空,

然后把正点原子的程序移植过去。

boot的跳转什么的,最好能够直接烧写进去,没有boot运行起来。

2021.01.20

编写回环测试没有问题,就确定基本上是硬件的问题了...

最终找到原因是硬件的关系.

因为电路板上有个3.3V转5V的芯片.

2021.01.20

开始学习CANopen的东西:

关于名词:

1.对象字典: 是一个有序的对象组,每个对象采用一个16位的主索引和子索引值来寻址,

每个CANopen设备要实现一个对象字典来描述与设备相关的行为参数.

将所有描述的对象集合起来便得到了对象字典.

2.网络管理对象NMT

3.过程数据对象PDO

4.服务数据对象SDO

5. 其他通信报文

2021.01.25

<<CANopen轻松入门>>  这本书不错.

CAN中没有定义应用层,因此,每个行业的CAN应用,都需要一个高层协议来定义CAN报文中的11/29位的标识符,8字节数据的使用.

随着时代的发展,需要一个开放的,标准化的高层协议,CANopen便是为了这个产生的.

案例分析 CAN OPEN 调试记录 进度的更多相关文章

  1. 阿里云资深DBA专家罗龙九:云数据库十大经典案例分析【转载】

    阿里云资深DBA专家罗龙九:云数据库十大经典案例分析 2016-07-21 06:33 本文已获阿里云授权发布,转载具体要求见文末 摘要:本文根据阿里云资深DBA专家罗龙九在首届阿里巴巴在线峰会的&l ...

  2. 作业2——英语学习APP的案例分析

    英语学习APP的案例分析 很多同学有误解,软件工程课是否就是理论课?或者是几个牛人拼命写代码,其他人打酱油的课?要不然就是学习一个程序语言,搞一个职业培训的课?都不对,软件工程有理论,有实践,更重要的 ...

  3. 第二次作业:APP案例分析

    App案例分析 产品:三国杀-页游手游双通 选择理由 当今社会手机已经渐渐取代了电脑在人们日常生活的需求,既然要选择APP进行案例分析,首推的估计就是手机APP了.三国杀是陪伴我高中时代的主要娱乐方式 ...

  4. 编写优秀Bug报告的艺术及案例分析

    编写优秀Bug报告的艺术及案例分析 ---Rex Black原著<Fine art of writing a good bug report > ---Kiki翻译于2005/5/28 前 ...

  5. MySQL 5.7 分区表性能下降的案例分析

    转载自:https://mp.weixin.qq.com/s/K3RpSBAIWFwGCIWyfF0QPA 前言:希望通过本文,使MySQL5.7.18的使用者知晓分区表使用中存在的陷阱,避免在该版本 ...

  6. 一个MySQL 5.7 分区表性能下降的案例分析

    告知MySQL5.7.18的使用者分区表使用中存在的陷阱,避免在该版本上继续踩坑.同时通过对源码的讲解,升级MySQL5.7.18时分区表性能下降的根本原因,向MySQL源码爱好者展示分区表实现中锁的 ...

  7. (转)一个MySQL 5.7 分区表性能下降的案例分析

    一个MySQL 5.7 分区表性能下降的案例分析 原文:http://www.talkwithtrend.com/Article/216803 前言 希望通过本文,使MySQL5.7.18的使用者知晓 ...

  8. 如何更有效使用 Rational AppScan 扫描大型网站,第 2 部分: 案例分析

    使用 AppScan 进行扫描 针对大型网站的扫描,我们按照戴明环 PDCA 的方法论来进行规划和讨论,建议 AppScan 使用步骤:计划(Plan).执行(Do).检查(check).分析(Ana ...

  9. 软工案例分析之OJ

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 和我的团队开发一个真正的软件,一起提升开发与合作的能力 这 ...

随机推荐

  1. POJ 1274 The Perfect Stall(二分图最大匹配)

    题意: N头牛M个牛棚,每只牛都有它自己指定的若干个它愿意呆的牛棚. 每个牛棚最多呆一头牛. 问最多可以满足多少头牛的愿望. 思路: 裸二分图最大匹配. 代码: int n,m; vector< ...

  2. hdu 2176 取(m堆)石子游戏 (裸Nim)

    题意: m堆石头,每堆石头个数:a[1]....a[m]. 每次只能在一堆里取,至少取一个. 最后没石子取者负. 先取者负输出NO,先取胜胜输出YES,然后输出先取者第1次取子的所有方法.如果从有a个 ...

  3. 手把手教你学Dapr - 4. 服务调用

    上一篇:手把手教你学Dapr - 3. 使用Dapr运行第一个.Net程序 介绍 通过使用服务调用,您的应用程序可以使用标准的gRPC或HTTP协议与其他应用程序可靠.安全地通信. 为什么不直接用Ht ...

  4. Oracle 19c 没有匹配的协议

    Oracle12c连接问题ORA-28040:没有匹配的验证协议 造成改问题的原因是客户端版本太低.修改sqlnet.ora文件可以让服务器适配低版本的客户端 sqlnet.ora文件中加入 SQLN ...

  5. Linux 限制IP远程连接

    1.允许访问编辑 /etc/hosts.allow 文件,如下: sshd:all:allow                                      #允许所有 IP 远程 ssh ...

  6. Git撤销、回滚操作

    git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git commit xxx 之后的. 暂存区:已经 git add xxx 进去, ...

  7. 大爽Python入门教程 2-5 *拓展实践,对比与思考

    大爽Python入门公开课教案 点击查看教程总目录 本文偏难. 推荐等第一二三四章上完后,回过来拓展阅读. 基础情景思考 假设有这样一张成绩表 最左边的一列是名字,起名麻烦. 这里直接用ABC...来 ...

  8. jsonpath解析淘票票,所有购票的城市

    解决一些反爬,校验. 复制所有请求头 import urllib.request # 请求url url = 'https://dianying.taobao.com/cityAction.json? ...

  9. 我個人喜歡的一些Ubuntu的相關配置

    1.vim vim安裝: sudo apt-get install vim-gtk vim美化:刚安装的VIM,可能界面并不是十分友好,我们可以更改vim的配置文件,按照我们的需求去修改它.在命令行下 ...

  10. puts()_C语言

    puts()函数用来向标准输出设备, scanf函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中. puts就是输出字符串啊.int puts(    const char* ...