当前位置: 首页 > news >正文

网站开发 密码新闻源软文发布平台

网站开发 密码,新闻源软文发布平台,动画制作软件flash教程,wordpress+整容模板1.硬件连接 PB8作为CAN_RX,PB9作为CAN_TX,连接一个CAN收发器TJA1051T/3 2. CubeMX里配置CAN 设置连接FDCAN1的参数,使用1个标准过滤器,波特率位500K 使能FDCAN1的中断 3 自动生成代码 3.1 初始化 static void MX_FDCAN1_In…

1.硬件连接

PB8作为CAN_RX,PB9作为CAN_TX,连接一个CAN收发器TJA1051T/3
在这里插入图片描述

2. CubeMX里配置CAN

在这里插入图片描述
在这里插入图片描述
设置连接FDCAN1的参数,使用1个标准过滤器,波特率位500K
在这里插入图片描述
使能FDCAN1的中断

3 自动生成代码

3.1 初始化

static void MX_FDCAN1_Init(void)
{/* USER CODE BEGIN FDCAN1_Init 0 */__HAL_RCC_FDCAN_CLK_ENABLE();/* USER CODE END FDCAN1_Init 0 *//* USER CODE BEGIN FDCAN1_Init 1 *//* USER CODE END FDCAN1_Init 1 */hfdcan1.Instance = FDCAN1;hfdcan1.Init.ClockDivider = FDCAN_CLOCK_DIV2;hfdcan1.Init.FrameFormat = FDCAN_FRAME_CLASSIC;hfdcan1.Init.Mode = FDCAN_MODE_NORMAL;hfdcan1.Init.AutoRetransmission = DISABLE;hfdcan1.Init.TransmitPause = DISABLE;hfdcan1.Init.ProtocolException = DISABLE;hfdcan1.Init.NominalPrescaler = 2;hfdcan1.Init.NominalSyncJumpWidth = 1;hfdcan1.Init.NominalTimeSeg1 = 14;hfdcan1.Init.NominalTimeSeg2 = 3;hfdcan1.Init.DataPrescaler = 1;hfdcan1.Init.DataSyncJumpWidth = 1;hfdcan1.Init.DataTimeSeg1 = 1;hfdcan1.Init.DataTimeSeg2 = 1;hfdcan1.Init.StdFiltersNbr = 1;hfdcan1.Init.ExtFiltersNbr = 0;hfdcan1.Init.TxFifoQueueMode = FDCAN_TX_FIFO_OPERATION;if (HAL_FDCAN_Init(&hfdcan1) != HAL_OK){Error_Handler();}/* USER CODE BEGIN FDCAN1_Init 2 */CAN_SetFilter();HAL_FDCAN_Start(&hfdcan1);// Activate notificationsHAL_FDCAN_ActivateNotification(&hfdcan1, FDCAN_IT_TX_FIFO_EMPTY,0);HAL_FDCAN_ActivateNotification(&hfdcan1, FDCAN_IT_RX_FIFO0_NEW_MESSAGE,0);/* USER CODE END FDCAN1_Init 2 */}

手工增加:

  • FDCAN时钟使能 __HAL_RCC_FDCAN_CLK_ENABLE();
  • 过滤器设置 CAN_SetFilter();
  • 激活中断信号,发送完成和FIFO0收到新消息
  • 启动 HAL_FDCAN_Start(&hfdcan1);

3.2 过滤器设置

/* USER CODE BEGIN 4 */
void CAN_SetFilter()
{FDCAN_FilterTypeDef sFilterConfig;// 初始化过滤器配置结构sFilterConfig.IdType=FDCAN_STANDARD_ID;sFilterConfig.FilterIndex=0;sFilterConfig.FilterType=FDCAN_FILTER_DUAL;sFilterConfig.FilterConfig=FDCAN_FILTER_TO_RXFIFO0;sFilterConfig.FilterID1=0x11;sFilterConfig.FilterID2=0x22;if (HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig) != HAL_OK){// 处理错误Error_Handler();}//全局过滤器设置,如果包含上述条件的帧则通过HAL_FDCAN_ConfigGlobalFilter(&hfdcan1,FDCAN_REJECT, FDCAN_REJECT, FDCAN_FILTER_REMOTE, FDCAN_FILTER_REMOTE);
}
  • 采用一个标准过滤器,过滤器号:0, 过滤类型FDCAN_FILTER_DUAL,就是把FilterID1和FilterID2当成2个CAN ID,过滤器配置为FDCAN_FILTER_TO_RXFIFO0,即把那两个CANID的消息存入RX FIFO0
  • 记得进行全局过滤设置,其函数原型如下:
  • 在这里插入图片描述
    本例中拒绝不匹配的标准帧,拒绝不匹配的扩展帧,接收过滤后的标准远程帧,接收过滤后的扩展远程帧。

3.3 中断处理

void FDCAN1_IT0_IRQHandler(void)
{/* USER CODE BEGIN FDCAN1_IT0_IRQn 0 */CAN_Rcv_IR();/* USER CODE END FDCAN1_IT0_IRQn 0 */HAL_FDCAN_IRQHandler(&hfdcan1);/* USER CODE BEGIN FDCAN1_IT0_IRQn 1 *//* USER CODE END FDCAN1_IT0_IRQn 1 */
}

加入接收中断处理函数:CAN_Rcv_IR();

void CAN_Rcv_IR()
{if (__HAL_FDCAN_GET_FLAG(&hfdcan1, FDCAN_FLAG_RX_FIFO0_NEW_MESSAGE)){	       FDCAN_RxHeaderTypeDef pHeader;uint8_t pData[64];// 循环处理新消息while (HAL_FDCAN_GetRxFifoFillLevel(&hfdcan1,FDCAN_RX_FIFO0 ) > 0){// 从Rx FIFO 0中读取消�?if(HAL_FDCAN_GetRxMessage(&hfdcan1,FDCAN_RX_FIFO0 ,&pHeader,pData)== HAL_OK){TxData[4]=pHeader.RxTimestamp & 0xFF;TxData[5]=pHeader.DataLength & 0xFF;TxData[6]=pHeader.Identifier & 0xFF;TxData[7]=pData[0];counter++;CAN_Send();}else{// 处理读取消息时的错误Error_Handler();}}// 清除Rx FIFO 0新消息标志__HAL_FDCAN_CLEAR_FLAG(&hfdcan1, FDCAN_FLAG_RX_FIFO0_NEW_MESSAGE);}
}

如果检测到FIFO0新消息标志:FDCAN_FLAG_RX_FIFO0_NEW_MESSAGE
则循环处理FIFO0中的消息

http://www.wangmingla.cn/news/151991.html

相关文章:

  • 南宁网站建设-中国互联网站seo招聘
  • 郑州装修公司哪家好seo网络推广到底是做什么的
  • 如何搭建一个appseo的中文意思
  • 网站建设全包广州网推接单平台有哪些
  • 手机app微信网站个人怎么做推广
  • 海淘网站建设的目的百度推广客户端下载
  • 加强门户网站建设的方案百度搜首页
  • 做网站软件j什么是网站推广
  • 做网站平台公司如何广告推广
  • 连环画网页设计教程宁波seo网页怎么优化
  • wordpress是什么意思网站建设seo
  • 网站访问统计 曲线图企业seo排名有 名
  • 海林建设局网站全国知名网站排名
  • 跳舞游戏做的广告视频网站做网络推广怎么收费
  • 潍坊专业做网站推广吧
  • 个人网站备注全媒体广告代理
  • 河北住房与城乡建设部网站公司推广策划方案
  • 网站网页设计费用国外搜索引擎排行榜
  • 如何做网站的cdn研究生培训机构排名
  • wordpress中文版邮件发送seo做什么网站赚钱
  • 营销型网站建设技术指标网站seo提升
  • 湖南网站制作电话推广之家app下载
  • 做网站需要交印花税百度快照入口官网
  • 旅游网站只做自助友链平台
  • 淄博做网站的公司东莞网站快速排名提升
  • wap网站建设兴田德润优惠深圳谷歌seo公司
  • 徐州苏视网站建设公司官网怎么做
  • 休闲文化网站百度竞价关键词价格查询工具
  • wordpress如何关闭网站搜索引擎优化的基本内容
  • 提供设计网站效果图东莞服务好的营销型网站建设