Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
CAN总线
canopen移植(c-open)
发布于 2022-01-19 13:28:19 浏览:2124
订阅该版
[tocm] > 能力有限,使用canfestival-rtt一直失败,写SDO失败。故搜索其它canopen协议栈自己简单移植了一个。 # 源码下载 1. 协议栈本身(改协议包含了DS301、305大部分内容) [https://github.com/rtlabs-com/c-open](https://github.com/rtlabs-com/c-open) 2. 操作系统抽象层 [https://github.com/rtlabs-com/osal](https://github.com/rtlabs-com/osal) # 操作系统抽象层修改(osal) 只需要修改osal_sys.h和osal.c即可,主要就是将Freertos改成rtthread。 # 协议栈接口修改(c-open) 找到ports,主要就是吧coal_can.c改成rthread的can的程序就ok了。(根据rtt官方的can的例子很好移植)。 虽然说着简单但是实际还是花费了一点时间,而且还没有支持DS402子协议。 在此我就直接贴出所有程序,直接添加到您所在的工程中就能使用了。 [https://github.com/QianMoth/copen_rtt](https://github.com/QianMoth/copen_rtt) # 效果展示 ```bash [09:45:21.377]收←◆ \ | / - RT - Thread Operating System / | \ 4.0.3 build Jan 17 2022 2006 - 2020 Copyright by rt-thread team [INFO ] state = STATE_INIT_PWRON [INFO ] state = STATE_INIT_APP [INFO ] state = STATE_INIT_COMM [INFO ] state = STATE_PREOP [DEBUG] Tx-> 0702: 00 [INFO ] state = STATE_INIT_COMM [INFO ] state = STATE_PREOP [DEBUG] Tx-> 0702: 00 [DEBUG] Tx-> 0000: 82 00 msh > [09:45:21.439]收←◆[DEBUG] Rx<- 0702: 00 [DEBUG] Rx<- 0082: 00 00 00 00 00 00 00 00 [09:45:21.918]收←◆[DEBUG] sdo read 2:1008:00 [DEBUG] Tx-> 0602: 40 08 10 00 00 00 00 00 [DEBUG] Rx<- 0582: 41 08 10 00 0a 00 00 00 [DEBUG] Tx-> 0602: 60 00 00 00 00 00 00 00 [DEBUG] Rx<- 0582: 00 43 44 48 44 20 64 72 [DEBUG] Tx-> 0602: 70 00 00 00 00 00 00 00 [DEBUG] Rx<- 0582: 19 69 76 65 00 00 00 00 (2) 0x1008 CDHD drive [DEBUG] sdo read 2:1009:00 [DEBUG] Tx-> 0602: 40 09 10 00 00 00 00 00 [DEBUG] Rx<- 0582: 41 09 10 00 13 00 00 00 [DEBUG] Tx-> 0602: 60 00 00 00 00 00 00 00 [DEBUG] Rx<- 0582: 00 43 6f 6e 74 72 6f 6c [DEBUG] Tx-> 0602: 70 00 00 00 00 00 00 00 [DEBUG] Rx<- 0582: 10 3a 42 31 20 50 6f 77 [DEBUG] Tx-> 0602: 60 00 00 00 00 00 00 00 [DEBUG] Rx<- 0582: 05 65 72 3a 31 30 00 00 (2) 0x1009 Control:B1 Power:10 [DEBUG] sdo read 2:100A:00 [DEBUG] Tx-> 0602: 40 0a 10 00 00 00 00 00 [DEBUG] Rx<- 0582: 41 0a 10 00 07 00 00 00 [DEBUG] Tx-> 0602: 60 00 00 00 00 00 00 00 [DEBUG] Rx<- 0582: 01 31 2e 34 31 2e 31 34 (2) 0x100a 1.41.14 [INFO ] state = STATE_PREOP [DEBUG] Tx-> 0000: 80 00 [INFO ] state = STATE_OP [DEBUG] Tx-> 0000: 01 00 [DEBUG] Tx-> 0080: end[DEBUG] Rx<- 0182: d0 02 01 00 00 [DEBUG] Rx<- 0482: 84 aa 03 00 00 00 00 00 [BDEBUG] Rx<- 0382: 84 aa 03 00 00 00 00 00 [DEBUG] Rx<- 0282: 84 aa 03 00 00 00 00 00 ```
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
QianMoth
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
我也来传一个CANOpen移植,RTT+STM32F107+CanOpenNode
2
谁有STM32裸跑的CANopen程序啊???
3
CAN驱动程序框架
4
CAN驱动接口如何规范一下
5
RTT无法进入线程.Cannot access Memory
6
编译提示arm-none-eabi/bin/ld: cannot find crt0.o: No such file o
7
rtt 2.1.0 正式版 mdk4 bsp/stm32 编译canapp.c错误
8
STM32F10XCAN驱动使用的问题
9
2.1版本stm32f10x分支bxcan驱动波特率设置的bug
10
rtthread2.1.0下,找不到can1设备
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
10
个答案
3
次被采纳
xiaorui
3
个答案
2
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
lizimu
2
篇文章
9
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部