瑞芯微Rockchip开发者社区
登录
直播中
胡秋阳
13年用户
1601经验值
私信
关注
[问答]
请问CAN通信参数具体该怎么配置呢
开启该帖子的消息推送
CAN
通信
Linux
在做一个项目是CAN
通信
及基于CAN通信的应用,Linux使用Socket CAN机制 ,请问CAN 通信参数的配置实在构建Linux内核时做还是在应用初始化时候做?具体该怎么配置呢?
回帖
(1)
郭晓晨
2022-1-13 10:24:51
上位机的波特率怎么设置说详细点。最好的每个选项都说一下,谢谢啦!!!
程序采用的是原子哥的can程序,参数怎么设置才能让stm32的can和can分析仪通信,stm32的回环模式已经跑通,现在是采用的正常模式。
发送参数设置:
u8 Can_Send_Msg(u8* msg,u8 len)
{
u8 mbox;
u16 i=0;
CanTxMsg TxMessage;
TxMessage.StdId=0x12; //
TxMessage.ExtId=0x12; //
TxMessage.IDE=0; //
TxMessage.RTR=0; //
TxMessage.DLC=len; //
for(i=0;i<8;i++)
TxMessage.Data
=msg
; //
mbox= CAN_Transmit(CAN1, &TxMessage);
i=0;
while((CAN_TransmitStatus(CAN1, mbox)!=CAN_TxStatus_Failed)&&(i<0XFFF))i++; //
if(i>=0XFFF)return 1;
return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
can参数设置
CAN_InitStructure.CAN_TTCM=DISABLE;
CAN_InitStructure.CAN_ABOM=DISABLE;
CAN_InitStructure.CAN_AWUM=DISABLE;
CAN_InitStructure.CAN_NART=ENABLE;
CAN_InitStructure.CAN_RFLM=DISABLE;
CAN_InitStructure.CAN_TXFP=DISABLE;
CAN_InitStructure.CAN_Mode= mode;
CAN_InitStructure.CAN_SJW=tsjw;
CAN_InitStructure.CAN_BS1=tbs1;
CAN_InitStructure.CAN_BS2=tbs2;
CAN_InitStructure.CAN_Prescaler=brp;
CAN_Init(CAN1, &CAN_InitStructure);
CAN_FilterInitStructure.CAN_FilterNumber=0;
CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;
CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;
CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;
CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;
CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_Filter_FIFO0;
CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;
CAN_FilterInit(&CAN_FilterInitStructure);
#if CAN_RX0_INT_ENABLE
CAN_ITConfig(CAN1,CAN_IT_FMP0,ENABLE);
NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
上位机的波特率怎么设置说详细点。最好的每个选项都说一下,谢谢啦!!!
程序采用的是原子哥的can程序,参数怎么设置才能让stm32的can和can分析仪通信,stm32的回环模式已经跑通,现在是采用的正常模式。
发送参数设置:
u8 Can_Send_Msg(u8* msg,u8 len)
{
u8 mbox;
u16 i=0;
CanTxMsg TxMessage;
TxMessage.StdId=0x12; //
TxMessage.ExtId=0x12; //
TxMessage.IDE=0; //
TxMessage.RTR=0; //
TxMessage.DLC=len; //
for(i=0;i<8;i++)
TxMessage.Data
=msg
; //
mbox= CAN_Transmit(CAN1, &TxMessage);
i=0;
while((CAN_TransmitStatus(CAN1, mbox)!=CAN_TxStatus_Failed)&&(i<0XFFF))i++; //
if(i>=0XFFF)return 1;
return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
can参数设置
CAN_InitStructure.CAN_TTCM=DISABLE;
CAN_InitStructure.CAN_ABOM=DISABLE;
CAN_InitStructure.CAN_AWUM=DISABLE;
CAN_InitStructure.CAN_NART=ENABLE;
CAN_InitStructure.CAN_RFLM=DISABLE;
CAN_InitStructure.CAN_TXFP=DISABLE;
CAN_InitStructure.CAN_Mode= mode;
CAN_InitStructure.CAN_SJW=tsjw;
CAN_InitStructure.CAN_BS1=tbs1;
CAN_InitStructure.CAN_BS2=tbs2;
CAN_InitStructure.CAN_Prescaler=brp;
CAN_Init(CAN1, &CAN_InitStructure);
CAN_FilterInitStructure.CAN_FilterNumber=0;
CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;
CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;
CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;
CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;
CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_Filter_FIFO0;
CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;
CAN_FilterInit(&CAN_FilterInitStructure);
#if CAN_RX0_INT_ENABLE
CAN_ITConfig(CAN1,CAN_IT_FMP0,ENABLE);
NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
举报
更多回帖
rotate(-90deg);
回复
相关问答
CAN
通信
Linux
请问
CAN
通信
参数
具体
该
怎么
配置
呢
2022-01-10
1605
CAN
总线如何实现
通信
呢
?
2020-06-01
2138
am335x
can
配置
好dts好,启动开发板后没有找到
can
的节点,请教一下各位前辈,
can
驱动还要做哪些
配置
呢
?
2018-12-06
2031
TMS570
can
总线与其他设备
can
节点之间的
通信
问题
2018-06-23
3208
基于CubeMX HAL库的
CAN
该
如何去
配置
呢
2021-10-22
1255
多路AD转换信号怎么分别独立的进行
CAN
通信
2018-04-06
3775
请问
can
通讯转wifi模块在UDP模式下
该
注意什么
呢
?
2023-05-17
12987
请问
如果想使用
CAN
进行DMA接收
该
如何操作?
2022-10-24
2553
请问
一下如何对STM32的
CAN
总线进行
配置
呢
2021-11-25
1202
am335x
can
在dts里
配置
好后,启动开发板后没有找到
can
对应的节点,
请问
can
驱动是不是还要做相应的
配置
呢
?
2018-12-06
4036
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分