eric2013 发表于 2023-10-15 00:34:43

【已发布】准备分享H7-TOOL的CANopen解析脚本,整理下操作说明,最晚明天周一完成


已经发布(2023-10-17):
https://www.armbbs.cn/forum.php?mod=viewthread&tid=120863


static/image/hrline/4.gif

已经在整理CANopen专题视频教程,采用的CAopenNode协议栈。

当前弄视频教程提纲,并把H7-TOOL的操作说明也更新下。预计明天周一将完成。H7-TOOL已经支持对NMT,PDO,SDO,时间戳,同步报文,紧急报文等解析。

https://img.anfulai.cn/dz/attachment/forum/202309/22/075615z5e81snxneag3g6e.png









eric2013 发表于 2023-10-16 07:26:05

今天录制视频分享。

Vxworks 发表于 2023-10-16 10:20:38

eric2013 发表于 2023-10-16 07:26
今天录制视频分享。

辛苦,终于要发布了

Blake 发表于 2023-10-16 14:41:55

大佬,H7-Tools 串口的 时间戳能不能增加一个以换行增加时间戳 ,防止打印会被打断的情况下 ,字符中间会加时间戳。

eric2013 发表于 2023-10-16 15:15:19

Blake 发表于 2023-10-16 14:41
大佬,H7-Tools 串口的 时间戳能不能增加一个以换行增加时间戳 ,防止打印会被打断的情况下 ,字符中间会加 ...

输出的字符后加\r\n就可以,你试试。

Blake 发表于 2023-10-16 16:17:17

eric2013 发表于 2023-10-16 15:15
输出的字符后加\r\n就可以,你试试。

这个打印是加了\r\n的,没有开时间戳可以换行,因为这个任务是最低优先级,会被别的任务打断,加上时间戳后就会像上面图片所示,一行输出的字符里面出现了四个时间戳。

eric2013 发表于 2023-10-16 16:24:23

Blake 发表于 2023-10-16 16:17
这个打印是加了\r\n的,没有开时间戳可以换行,因为这个任务是最低优先级,会被别的任务打断,加上时间戳 ...
方便的话,发个测试代码,我看下怎么回事。

Blake 发表于 2023-10-16 16:32:03

代码就是一个最低优先级的打印和LED,但是这个任务执行肯定会被抢占的,你看我发的打印效果图片就可以看很容易理解的。

eric2013 发表于 2023-10-16 16:49:24

Blake 发表于 2023-10-16 16:32
代码就是一个最低优先级的打印和LED,但是这个任务执行肯定会被抢占的,你看我发的打印效果图片就可以看很 ...
把这个超时分包勾上就好了,这种情况下,你的数据会断开(断开位置对应串口打印被抢占位置),因为时间戳要跟你数据接收的实际时间匹配。


Blake 发表于 2023-10-17 09:07:49

加了分包会错开的

eric2013 发表于 2023-10-17 09:18:14

Blake 发表于 2023-10-17 09:07
加了分包会错开的
错开就对了,就是要错开,每次错开都是被抢占的位置,对于串口上位机,不能以\r\n作为一帧结束标识。必须以超时时间作为一帧结束。

比如我们发送hello world\r\n。发送完毕hello后,被抢占了,等待了1秒发出了world(你上面的截图大概每次抢占20ms),这种情况,上位机是不可以将hello world放在一个时间戳上,这种肯定是错误的,时间戳就是要正确的反馈字符串发送时间。

所以,如果你的串口发送是低优先级,不要使用查询方式发送,建议用串口FIFO或者串口DMA,应该从你的程序上去解决,不能从上位机解决。

你看看是不是我说的这样。
页: [1]
查看完整版本: 【已发布】准备分享H7-TOOL的CANopen解析脚本,整理下操作说明,最晚明天周一完成