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

龙泉公路建设投资有限公司网站大连模板建站软件

龙泉公路建设投资有限公司网站,大连模板建站软件,怎么创建自己的app软件,电子工厂网站建设STM32 CAN波特率计算简介CAN总线收发#xff0c;中断方式接收配置代码部分reference简介 CAN通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔#xff0c;本文这里以数据帧为例。 显性电平对应逻辑0#xff0c;CAN_H和CAN_L之差为2.5V左右。而隐性电平对应逻辑1#x… STM32 CAN波特率计算简介CAN总线收发中断方式接收配置代码部分reference简介 CAN通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔本文这里以数据帧为例。 显性电平对应逻辑0CAN_H和CAN_L之差为2.5V左右。而隐性电平对应逻辑1CAN_H和CAN_L之差为0V. 数据帧有标准帧和扩张帧两种格式一个11位一个29位. 标准帧和扩张帧两种格式区别 1.扩展帧的仲裁域有29位可以出现2^29中报文且在数据链路上是有间隙的(对操作者透明)帧ID的范围是0000 0000-1FFF FFFF。PS目的就是构造29位的CAN ID可以实现更加庞大的ID群2.标准帧的仲裁域是连续的11位可以出现2^11种报文也就是帧ID的范围是000-7FF3.标准帧和扩张帧的控制帧中的DLC(数据长度)完全相同但保留位不同标准帧为IDE、R0扩展帧为R1、R0必须以显性电平发送(由数据链路层操作) 注意这里的帧ID 并不是表示发送的目的地址而是表示访问总线的消息的优先级帧ID值越小优先级越高最小是0x00000000 CAN协议特点 1、多主控制。 2、系统柔软性。 3、通讯速度快通讯距离远。 4、具有错误检测、错误通知、错误恢复功能。 5、故障封闭功能。 6、连接节点多 CAN总线具有自动仲裁功能这样就提高了总线的利用率。 CAN总线没有被发送出去的隐性信号会由CAN控制器后续发送出去。这里牵涉到CAN总线优先级的问题后续进一步讲述。 当然CAN相比485具有明显优势主要原因还是在于CAN控制器。 CAN直接通过TX连接对方的RX引脚单向传输可以双向传输就不行因为CAN控制器会实时监测发送出去的信号是否正确。也就是说TX要与RX信号一致才行否则CAN控制器认为你发送失败。 CAN总线收发中断方式接收配置 平台STM32F407VEt6 STM32CUBEMX V5.3 配置CAN CAN的波特率最大为1Mbps。 波特率计算方法时钟主频 / 分频 / (tq1 tq2 swj)以500K的波特率配置为例 stm32f407的CAN的时钟主频是42M分24频就是1.75M在除以(3 3 1)得到250K的波特率。 注意stm32cubemx生成的CAN代码是不带过滤器的需要自己手动添加。 CAN之数据帧格式 代码部分 CAN初始化 /* CAN1 init function */ void MX_CAN1_Init(void) {//hz 42 / 24 / (331)hcan1.Instance CAN1;hcan1.Init.Prescaler 24;hcan1.Init.Mode CAN_MODE_NORMAL;hcan1.Init.SyncJumpWidth CAN_SJW_1TQ;hcan1.Init.TimeSeg1 CAN_BS1_3TQ;hcan1.Init.TimeSeg2 CAN_BS2_3TQ;hcan1.Init.TimeTriggeredMode DISABLE;hcan1.Init.AutoBusOff DISABLE;hcan1.Init.AutoWakeUp DISABLE;hcan1.Init.AutoRetransmission DISABLE;hcan1.Init.ReceiveFifoLocked DISABLE;hcan1.Init.TransmitFifoPriority DISABLE;if (HAL_CAN_Init(hcan1) ! HAL_OK){Error_Handler();} }覆写接收中断回调函数 注意上面的配置我们使用的式FIFO0所以要覆写FIFO0的中断回调函数 //CANÖжϽÓÊջص÷º¯Êý£¬½ÓÊÕµ½µÄÖ¡Í·´æRxMessage£¬Êý¾Ý´ædataÊý×é void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) {uint8_t data[8];HAL_StatusTypeDef status;if (hcan hcan1) {status HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, RxMessage, data);if (HAL_OK status){CAN_IDRxMessage.StdId;//±ê×¼Ö¡ID¸´ÖÆ//memcpy(SendBuff,data,8);//½ÓÊÕµ½µÄÊý¾Ý¿½±´µ½·¢ËÍÊý×é}HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET);} }CA发送函数 /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ //CAN ·¢Ëͺ¯Êý void CAN_SendMsg(uint16_t msgID, uint8_t *Data) {CAN_TxHeaderTypeDef TxHeader;TxHeader.StdId msgID; //stdIDTxHeader.RTR CAN_RTR_DATA; //Êý¾ÝÖ¡,CAN_RTR_DATATxHeader.IDE CAN_ID_STD; //±ê×¼¸ñʽTxHeader.DLC 8; //Êý¾Ý³¤¶ÈTxHeader.TransmitGlobalTime DISABLE;uint8_t TxData[8]; //×î¶à8¸ö×Ö½ÚTxData[7] *(Data0);TxData[6] *(Data1);TxData[5] *(Data2);TxData[4] *(Data3); TxData[3] *(Data4);TxData[2] *(Data5);TxData[1] *(Data6);TxData[0] *(Data7);while(HAL_CAN_GetTxMailboxesFreeLevel(hcan1) 1) {} //µÈ´ýÓпÉÓõķ¢ËÍÓÊÏäuint32_t TxMailbox; //ÁÙʱ±äÁ¿, ÓÃÓÚ·µ»ØÊ¹ÓõÄÓÊÏä±àºÅ/* ·¢Ë͵½ÓÊÏ䣬ÓÉCANÄ£¿é¸ºÔð·¢Ë͵½CAN×ÜÏß */if(HAL_CAN_AddTxMessage(hcan1, TxHeader, TxData, TxMailbox) ! HAL_OK){} }reference STM32 CAN通讯配置
http://www.hkea.cn/news/14384289/

相关文章:

  • 备案 网站负责人中国工厂网
  • 最简单的网站高端品牌名称
  • 营销型网站建设风格设定包括哪些方面做网站需要的课程
  • 网站开发需要如何压缩代码一般网站建设
  • cadisen卡迪森手表网站免费搭建单页网站
  • 郑州怎么做网站排名万网二手已备案域名
  • 湖北微网站建设价格寿光市网站建设
  • 做网站需要什么花费谷城网站定制
  • 网站开发8080无法访问此页面关键词怎么选择技巧
  • 台前网站建设电话汽车行业网站建设维护服务
  • 淮北建设工程质量安全站网站浙江省专业网站制作网站建设
  • flash型网站网址2022年楼市最新政策
  • 南宁 建网站知道网站域名怎么联系
  • 哈尔滨建设工程招聘信息网站湖南搜索引擎推广平台
  • 网站开发如何跟客户沟通需求简历在线编辑免费
  • html5的网站设计二级域名分发网站
  • 深圳网站制作设计猎场第几集做的网站推广
  • 成都网站建设qghlwordpress注册免邮件
  • 做的网站在小窗口中怎么保持中间网站建设 开发网站代码
  • 上海网站建设与设计浙江中钦建设有限公司网站
  • c2c电子商务网站食品建设网站
  • 珠海网站设计京东联盟 wordpress
  • 怎么做自己的外卖网站wordpress小清新模板
  • 哪些网站可以做设计赚钱中盛腾龙建设工程有限公司网站
  • 北京品牌网站开发什么是网站集约化建设
  • 集团网站建设h5动态页面怎么做的
  • 网站建设总体目标英文响应式网站建设
  • 龙华做棋牌网站建设哪家公司便宜网站建立与推广
  • 巩义网站建设方案表全面的vi设计公司
  • 影响网站访问速度服务器怎样做网站呢