Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
CAN总线
STM32F407
STM32F407 CAN1 无法发送给CAN2
发布于 2020-12-01 17:44:36 浏览:1873
订阅该版
我用的是STM32F407的开发板,有两路CAN总线,我将两条CAN总线的端子连接起来,想让CAN1发送信号给CAN2,但是并没有成功,发送端卡死在了_can_int_tx()... 发送帧和接收帧的设置是直接抄的官方的参考文档 发送端 ``` msg_can.id = 0x78; /* ID 为 0x78 */ msg_can.ide = RT_CAN_STDID; /* 标准格式 */ msg_can.rtr = RT_CAN_DTR; /* 数据帧 */ msg_can.len = 8; /* 数据长度为 8 */ /* 待发送的 8 字节数据 */ msg_can.data[0] = 'c'; msg_can.data[1] = 'a'; msg_can.data[2] = 'n'; msg_can.data[3] = 's'; msg_can.data[4] = 't'; msg_can.data[5] = 'a'; msg_can.data[6] = 'r'; msg_can.data[7] = '\0'; // send a msg rt_kprintf("can_send data: %s\r\n", msg_can.data); rt_sem_release(can_sem[1]); ret = rt_device_write(can[0], 0, &msg_can, sizeof(msg_can)); ``` 接收端 ``` ret = rt_sem_take(can_sem[1], RT_WAITING_FOREVER); if (ret != -RT_ETIMEOUT) { rt_kprintf("rt_sem_t -- ret = %d\r\n", ret); // can test -- set filter #ifdef RT_CAN_USING_HDR struct rt_can_filter_item items[5] = { RT_CAN_FILTER_ITEM_INIT(0x100, 0, 0, 1, 0x700, RT_NULL,RT_NULL), /* std,match ID:0x100~0x1ff,hdr 为-1,设置默认过滤表 */ RT_CAN_FILTER_ITEM_INIT(0x300, 0, 0, 1, 0x700, RT_NULL,RT_NULL), /* std,match ID:0x300~0x3ff,hdr 为 - 1 */ RT_CAN_FILTER_ITEM_INIT(0x211, 0, 0, 1, 0x7ff, RT_NULL,RT_NULL), /* std,match ID:0x211,hdr 为 - 1 */ RT_CAN_FILTER_STD_INIT(0x486, RT_NULL,RT_NULL), /* std,match ID:0x486,hdr 为 - 1 */ {0x555,0,0,1,0x7ff,7,} /* std,match ID:0x555,hdr 为 7,指定设置 7 号过滤表 */ #endif }; ``` 我不知道该怎么解决了
查看更多
张世争
2020-12-02
学以致用
一般的解决思路: * (1)can驱动是否配置成功,can引脚、时钟是否在msp文件初始化。 * (2)一路一路的调通。再联调。 * (3)若还是不通,尝试使用ST官方HAL库的方式,先调通。 * (4)借助USB_CAN等工具。
2
个回答
默认排序
按发布时间排序
whj467467222
认证专家
2020-12-02
开源,分享,交流,共同进步
建议先用板子和CAN分析仪,测试通过后,再测试板子两个 CAN 之间的通讯
撰写答案
登录
注册新账号
关注者
0
被浏览
1.9k
关于作者
humourous94
这家伙很懒,什么也没写!
提问
4
回答
6
被采纳
1
关注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
【RT-Thread】【ci】【scons】将ci.attachconfig.yml和scons结合使用
2
Rt-thread中OTA下载后,bootloader不搬程序
3
ulog 日志 LOG_HEX 输出时间改为本地日期时间
4
在RT-Thread Studio中构建前执行python命令
5
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
热门标签
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
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
xusiwei1236
8
个答案
2
次被采纳
踩姑娘的小蘑菇
1
个答案
2
次被采纳
用户名由3_15位
9
个答案
1
次被采纳
bernard
4
个答案
1
次被采纳
RTT_逍遥
3
个答案
1
次被采纳
本月文章贡献
聚散无由
2
篇文章
15
次点赞
catcatbing
2
篇文章
5
次点赞
Wade
2
篇文章
4
次点赞
Ghost_Girls
1
篇文章
7
次点赞
xiaorui
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部