Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
CAN总线
用stm32F103测试CAN例程,始终发送失败 求助!!!
发布于 2020-08-03 09:58:36 浏览:2717
订阅该版
单片机用的是STM32F103CBT6 RTT版本是lts-v3.1.4 将BSP里的CAN驱动.c和.h加入到工程 开启宏定义#define BSP_USING_CAN #define BSP_USING_CAN1 CubeMX生成的HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)函数加入到board.c 板子通过CAN盒连接到电脑,用CANtest接收 修改CAN例程为周期发送,后附代码 问题:控制台通过list_device可以看到CAN1已经注册,运行例程始终发送失败, \ | / - RT - Thread Operating System / | \ 3.1.4 build Jul 31 2020 2006 - 2019 Copyright by rt-thread team [D/main] Hello RT-Thread! msh >list_device device type ref count ------ -------------------- ---------- can1 CAN Device 0 uart2 Character Device 2 pin Miscellaneous Device 0 msh >can_sample can dev write data failed! can dev write data failed! can dev write data failed! can dev write data failed! can dev write data failed! can dev write data failed! can dev write data failed! #include
#include "rtdevice.h" #define CAN_DEV_NAME "can1" /* CAN 设备名称 */ static rt_device_t can_dev; /* CAN 设备句柄 */ int can_sample(int argc, char *argv[]) { struct rt_can_msg msg = {0}; rt_err_t res; rt_size_t size; can_dev = rt_device_find(CAN_DEV_NAME); if (!can_dev) { rt_kprintf("find %s failed!\n", CAN_DEV_NAME); return RT_ERROR; } /* 以中断接收及发送方式打开CAN设备 */ res = rt_device_open(can_dev, RT_DEVICE_FLAG_INT_TX | RT_DEVICE_FLAG_INT_RX); RT_ASSERT(res == RT_EOK); rt_device_control(can_dev, RT_CAN_CMD_SET_MODE, (void *)RT_CAN_MODE_NORMAL); rt_device_control(can_dev, RT_CAN_CMD_SET_BAUD,(void *)CAN250kBaud); msg.id = 0x78; /* ID为0x78 */ msg.ide = RT_CAN_STDID; /* 标准格式 */ msg.rtr = RT_CAN_DTR; /* 数据帧 */ msg.len = 8; /* 数据长度为8 */ /* 待发送的8字节数据 */ msg.data[0] = 0x00; msg.data[1] = 0x11; msg.data[2] = 0x22; msg.data[3] = 0x33; msg.data[4] = 0x44; msg.data[5] = 0x55; msg.data[6] = 0x66; msg.data[7] = 0x77; /* 发送一帧CAN数据 */ while(1){ size = rt_device_write(can_dev, 0, &msg, sizeof(msg)); if (size == 0) { rt_kprintf("can dev write data failed!\n"); } rt_thread_mdelay(1000); } return res; } /* 导出到 msh 命令列表中 */ MSH_CMD_EXPORT(can_sample, can device sample);
查看更多
china_tianshi
2020-08-12
这家伙很懒,什么也没写!
已经解决。 之前将CubeMX生成的HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)函数加入到board.c里不好用,应该是没有调用到这个函数,调用的是HAL库里的__weak void HAL_CAN_MspInit(CAN_HandleTypeDef *hcan) { /* Prevent unused argument(s) compilation warning */ UNUSED(hcan); /* NOTE : This function Should not be modified, when the callback is needed, the HAL_CAN_MspInit could be implemented in the user file */ } 解决办法是将CubeMX生成工程内的stm32f1xx_hal_msp.c文件复制到RTT工程的drivers文件夹下,将其他不用的函数删掉 将包含文件的main.h改为board.h
2
个回答
默认排序
按发布时间排序
Ricky_Zhang
2020-08-26
这家伙很懒,什么也没写!
我现在也在调试CAN程序,使用回环模式发送接收成功,但是正常发送模式一直长度一直是0,看现象和这个很类似,能否指导一下?
撰写答案
登录
注册新账号
关注者
0
被浏览
2.7k
关于作者
china_tianshi
这家伙很懒,什么也没写!
提问
2
回答
1
被采纳
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动态模块
2
RT-Thread项目助手v0.3 | Ubuntu与MacOS平台的RT-Thread Env
3
【FRA156测评DM-MCX】- 环境配置篇
4
【基于HPM6750+RW007的网页服务器】---SD卡文件系统
5
有关RT_thread studio使用WDT的一点经验
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
rt-smart
RTC
FAL
I2C_IIC
ESP8266
UART
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
Debug
keil_MDK
SFUD
msh
ulog
C++_cpp
MicroPython
本月问答贡献
lchnu
3
个答案
2
次被采纳
张世争
1
个答案
2
次被采纳
a1012112796
9
个答案
1
次被采纳
三世执戟
8
个答案
1
次被采纳
聚散无由
5
个答案
1
次被采纳
本月文章贡献
jinchanchan
9
篇文章
13
次点赞
ssdd45555
3
篇文章
2
次点赞
聚散无由
1
篇文章
4
次点赞
rvcore
1
篇文章
1
次点赞
lvdongchina
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部