Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
CAN总线
CANopen_canfestival
CanFestvial(CanOpen)调试时遇到问题
发布于 2019-05-09 17:33:56 浏览:4245
订阅该版
用的STM32F4正点原子开发板,在ENV上已经使能了CAN,TIMER和`CanFestival`软件包。调试过程中,软件在`canopen_recv_thread_entry`线程中返回错误码,具体位置如图 单步调试后发现rt_event_recv的set为恒为0。 ![BaiduShurufa_2019-5-9_17-31-42.png](/uploads/201905/09/173228l53pe9vmr5hh9pez.png) set值为`(1 << canpara->filter->items[0].hdr)`,其中`canpara->filter->items[0].hdr`是在`can.h`中定义的,如图 ![BaiduShurufa_2019-5-9_17-26-34.png](/uploads/201905/09/173028qdldg5z5bdn055jg.png)
查看更多
10
个回答
默认排序
按发布时间排序
fovery
2020-08-17
Simple yet extraordinary
最近移植CanOpen到STM32F407,同样遇到了楼主的问题,我的做法如下: 1、不要使用CAN硬件滤波,官方的RT_CAN_FILTER_ITEM_INIT宏定义用在在STM32存在问题。 2、在不启用官方CAN硬件滤波时,更改例程Master402中can_rtthread.c的收发处理。 3、最后记得将drv_hwtimer.c中的timer_start()函数改下,增加if(t<=1) t=2;因为例程Master402中会设置硬件定时器为0s,而官方hwtimer驱动,在定时器设置为0时不会进入回调函数,导致无法初始化canopen。
走着走着
2020-08-18
这家伙很懒,什么也没写!
我也是遇到这个问题
Pekingbear
2019-05-09
这家伙很懒,什么也没写!
有大牛调试过吗,帮我解答下,谢谢
moss
2019-05-10
这家伙很懒,什么也没写!
hdr是硬件过滤器的编号,CAN驱动配置完成后应该是>=0的,你可以跟踪下CAN驱动的配置过程,看看有没有出错。
Pekingbear
2019-05-10
这家伙很懒,什么也没写!
>hdr是硬件过滤器的编号,CAN驱动配置完成后应该是`>=0`的,你可以跟踪下CAN驱动的配置过程,看看有没有出错。 ... 找到原因了应该是图示那段函数是空的,没有对筛选器进行配置。 这段函数目前stm32f4版本的rt-thread还没有完善吗? ![145721yo2hzozjg9tet680.png](https://oss-club.rt-thread.org/uploads/201905/10/145721yo2hzozjg9tet680.png)
moss
2019-05-13
这家伙很懒,什么也没写!
不知道,不过配置可能在open函数里完成,所以这个SET_FILTER没有实现
RT-WH
2019-06-11
这家伙很懒,什么也没写!
遇到同样的问题
moss
2019-06-12
这家伙很懒,什么也没写!
我以前用的是 bsp/stm32f10x 里的驱动,你可以对比一下有什么区别
Jam
2020-06-15
这家伙很懒,什么也没写!
遇到同样的问题 ```c void canopen_recv_thread_entry(void* parameter) { struct can_app_struct *canpara = (struct can_app_struct *) parameter; struct rt_can_msg msg; rt_uint32_t e; Message co_msg; candev = rt_device_find(canpara->name); RT_ASSERT(candev); rt_event_init(&canpara->event, canpara->name, RT_IPC_FLAG_FIFO); rt_device_open(candev, (RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_INT_RX | RT_DEVICE_FLAG_INT_TX)); rt_device_control(candev, RT_CAN_CMD_SET_FILTER, canpara->filter); while (1) { if (rt_event_recv(&canpara->event, (1 << canpara->filter->items[0].hdr), canpara->eventopt, RT_WAITING_FOREVER, &e) != RT_EOK) { continue;//不断的进入这里,这个任务没有延时,会一直占用着cpu吧? } if (e & (1 << canpara->filter->items[0].hdr)) { msg.hdr = canpara->filter->items[0].hdr; while (rt_device_read(candev, 0, &msg, sizeof(msg)) == sizeof(msg)) { co_msg.cob_id = msg.id; co_msg.len = msg.len; co_msg.rtr = msg.rtr; memcpy(co_msg.data, msg.data, msg.len); EnterMutex(); canDispatch(OD_Data, &co_msg); LeaveMutex(); } } } } ```
dingzijie
2020-06-28
这家伙很懒,什么也没写!
我的是用BSP STM32F767 的基础上用CanFestvial。 `can.c`里已经包含了`case RT_CAN_CMD_SET_FILTER:`的代码。 但是`rt_event_recv`的set为恒为0 程序还是不能运行。 RTT的`CanFestvial`的402例子程序到底应该怎么用? 我用周力工测试can口通讯是正常的。
撰写答案
登录
注册新账号
关注者
4
被浏览
4.2k
关于作者
Pekingbear
这家伙很懒,什么也没写!
提问
1
回答
5
被采纳
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组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
7
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部