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

合肥网站开发网络公司国际新闻大事

合肥网站开发网络公司,国际新闻大事,做网站的模仿还要去量宽高吗,注册网站怎么办理流程一、环境 MCU:STM32G0B1CEU6 CAN收发器:JIA1042 二、MX配置 配置SYS 配置canfd并开启中断,我开了两个FDCAN,配置是一样的,这里贴一下波特率的计算公式: 也就是:CAN时钟频率/预分频器/&…

一、环境

MCU:STM32G0B1CEU6
CAN收发器:JIA1042

二、MX配置

配置SYS
在这里插入图片描述在这里插入图片描述在这里插入图片描述

配置canfd并开启中断,我开了两个FDCAN,配置是一样的,这里贴一下波特率的计算公式:
在这里插入图片描述
也就是:CAN时钟频率/预分频器/(1+TS1+TS2)
按照我这里的时钟就是:
CAN时钟频率为40MHZ,预分频器为1,TS1=5,TS2=4
所以数据段的频率为40/8/(1+5+4)=500MHZ
在这里插入图片描述

在这里插入图片描述

同时我这里开了个uart用作调试,配置完成后生成
在这里插入图片描述

三、滤波器配置

这里设置了ID为0x000,使用CANFD,数据长度64,滤波器在系统初始化完成后就可以进行配置了

void FDCAN1_config(void){FDCAN_FilterTypeDef sFilterConfig;/* Configure Rx filter */sFilterConfig.IdType = FDCAN_STANDARD_ID;sFilterConfig.FilterIndex = 0;sFilterConfig.FilterType = FDCAN_FILTER_MASK;sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;sFilterConfig.FilterID1 = 0x000;sFilterConfig.FilterID2 = 0x000;if (HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig) != HAL_OK){Error_Handler();}/* Configure global filter:Filter all remote frames with STD and EXT IDReject non matching frames with STD ID and EXT ID */if (HAL_FDCAN_ConfigGlobalFilter(&hfdcan1, FDCAN_REJECT, FDCAN_REJECT, FDCAN_FILTER_REMOTE, FDCAN_FILTER_REMOTE) != HAL_OK){Error_Handler();}/* Start the FDCAN module */if (HAL_FDCAN_Start(&hfdcan1) != HAL_OK){Error_Handler();}if (HAL_FDCAN_ActivateNotification(&hfdcan1, FDCAN_IT_RX_FIFO0_NEW_MESSAGE, 0) != HAL_OK){Error_Handler();}TxHeader.Identifier = 0x000;                 // CAN IDTxHeader.IdType = FDCAN_STANDARD_ID;        // 标准IDTxHeader.TxFrameType = FDCAN_DATA_FRAME;           TxHeader.DataLength = FDCAN_DLC_BYTES_64;TxHeader.ErrorStateIndicator = FDCAN_ESI_ACTIVE;TxHeader.BitRateSwitch = FDCAN_BRS_ON;TxHeader.FDFormat = FDCAN_FD_CAN;                  // CANFDTxHeader.TxEventFifoControl = FDCAN_NO_TX_EVENTS;TxHeader.MessageMarker = 0;
}
void FDCAN2_config(void){FDCAN_FilterTypeDef sFilterConfig;/* Configure Rx filter */sFilterConfig.IdType = FDCAN_STANDARD_ID;sFilterConfig.FilterIndex = 0;sFilterConfig.FilterType = FDCAN_FILTER_MASK;sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;sFilterConfig.FilterID1 = 0x000;sFilterConfig.FilterID2 = 0x000;if (HAL_FDCAN_ConfigFilter(&hfdcan2, &sFilterConfig) != HAL_OK){Error_Handler();}/* Configure global filter:Filter all remote frames with STD and EXT IDReject non matching frames with STD ID and EXT ID */if (HAL_FDCAN_ConfigGlobalFilter(&hfdcan2, FDCAN_REJECT, FDCAN_REJECT, FDCAN_FILTER_REMOTE, FDCAN_FILTER_REMOTE) != HAL_OK){Error_Handler();}/* Start the FDCAN module */if (HAL_FDCAN_Start(&hfdcan2) != HAL_OK){Error_Handler();}if (HAL_FDCAN_ActivateNotification(&hfdcan2, FDCAN_IT_RX_FIFO0_NEW_MESSAGE, 0) != HAL_OK){Error_Handler();}TxHeader.Identifier = 0x000;                 // CAN IDTxHeader.IdType = FDCAN_STANDARD_ID;        // 标准IDTxHeader.TxFrameType = FDCAN_DATA_FRAME;           TxHeader.DataLength = FDCAN_DLC_BYTES_64;TxHeader.ErrorStateIndicator = FDCAN_ESI_ACTIVE;TxHeader.BitRateSwitch = FDCAN_BRS_ON;TxHeader.FDFormat = FDCAN_FD_CAN;                  // CANFDTxHeader.TxEventFifoControl = FDCAN_NO_TX_EVENTS;TxHeader.MessageMarker = 0;
}

四、发送和接收函数
这里我的发送是写在while里面的,实现的功能flag标志位1时,是一个canfd1发送数据,canfd2接收后flag值为2;flag为2时,canfd2发送数据,canfd1接收将flag值等于1
HAL库发送函数为:

HAL_FDCAN_AddMessageToTxFifoQ(FDCAN_HandleTypeDef *hfdcan, const FDCAN_TxHeaderTypeDef *pTxHeader,const uint8_t *pTxData)

接收函数为:

HAL_FDCAN_GetRxMessage(FDCAN_HandleTypeDef *hfdcan, uint32_t RxLocation,FDCAN_RxHeaderTypeDef *pRxHeader, uint8_t *pRxData)

下面时我的main(发送)和中断回调函数(接收)函数:

FDCAN_RxHeaderTypeDef RxHeader;
FDCAN_TxHeaderTypeDef TxHeader;
uint8_t TXData[64]={0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00};
uint8_t RxData[64]={0};
uint8_t flag=1;
int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_FDCAN1_Init();MX_FDCAN2_Init();MX_USART3_UART_Init();/* USER CODE BEGIN 2 */FDCAN1_config();FDCAN2_config();HAL_Delay(2000);/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){if(flag==0x01){if(HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan1, &TxHeader, TXData)!=HAL_OK){Error_Handler();}HAL_Delay(1000);}else{if(HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan2, &TxHeader, TXData)!=HAL_OK){Error_Handler();}HAL_Delay(1000);}HAL_Delay(1000);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}
void HAL_FDCAN_RxFifo0Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo0ITs)
{if((RxFifo0ITs & FDCAN_IT_RX_FIFO0_NEW_MESSAGE) != RESET){if(hfdcan->Instance == FDCAN1){if (HAL_FDCAN_GetRxMessage(hfdcan, FDCAN_RX_FIFO0, &RxHeader, RxData) != HAL_OK){Error_Handler();}flag=0x01;HAL_UART_Transmit(&huart3,&flag,1,1000);}if(hfdcan->Instance == FDCAN2){if (HAL_FDCAN_GetRxMessage(hfdcan, FDCAN_RX_FIFO0, &RxHeader, RxData) != HAL_OK){Error_Handler();}flag=0x02;HAL_UART_Transmit(&huart3,&flag,1,1000);}}
}

五、实际使用

实际使用过程中,需要将两个CANFD建立在一个CAN网络中才能进行通讯

六、源码工程

https://download.csdn.net/download/weixin_46516921/90080900

http://www.tj-hxxt.cn/news/2359.html

相关文章:

  • 网站流量统计系统企业版百度联盟app
  • 网站建设常用编程语言seo 公司
  • 企业铭做网站torrentkitty磁力猫引擎
  • 中国网站建设公司排行榜seo培训中心
  • 桂林北站到阳朔怎么坐车百度识图软件
  • 建设手机网站费用吗百度推广营销
  • 织梦图片瀑布流网站模板seo优化有百度系和什么
  • c 网站开发的好处汕头网站快速优化排名
  • 手机网站设计公司只找亿企邦app开发工具
  • 网站开发_运行及维护日喀则网站seo
  • 网站悬浮窗seo网站推广企业
  • 陕西省建设监理协会网站北京网站营销seo方案
  • wordpress 评论跳转温州企业网站排名优化
  • 自助建手机网站免费肇庆百度快照优化
  • 广州网站改版方案哪个平台可以免费发广告
  • 怎么制作网站链接手机安卓优化大师
  • 网站 全屏幻灯片深圳网站制作
  • 网站制作公司数据库管理排名北京疫情最新情况
  • 二级学院网站建设方案石家庄seo网站管理
  • 做网站后期续费是怎么算的seo经验是什么
  • 知名营销网站开发建网站多少钱
  • 深圳网站设计要点关键词优化怎么弄
  • 福建网站建设公司网店推广运营
  • 专注集团网站建设2023疫情最新情况
  • 相亲网站认识的可以做朋友杭州seo建站
  • 山东网优网络推广seo怎么弄
  • 软件开发包括网站开发吗网站恶意点击软件
  • 最新版天堂资源在线宁德seo培训
  • 南昌市有帮做网站的吗品牌网站建设公司
  • ecshop网站手机版识别关键词软件