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

做a手机视频在线观看网站网页程序开发采购

做a手机视频在线观看网站,网页程序开发采购,用jsp做的网站需要什么工具,家具网站建设目的及功能定位是什么? 汽车工程师的总线协议为什么? 1980年代初期,由于没有可满足汽车工程师的总线协议,人们开始开发新的串行总线在底特律举行SAE会议上CAN总线诞生,称之为Automotive Serial Controller Area Network怎么做? 核心本质 两根线上特殊电平的特殊协议张嘴显性电平‘0’,…

是什么?

  • 汽车工程师的总线协议

为什么?

  • 1980年代初期,由于没有可满足汽车工程师的总线协议,人们开始开发新的串行总线
  • 在底特律举行SAE会议上CAN总线诞生,称之为Automotive Serial Controller Area Network

在这里插入图片描述


怎么做?


核心本质

  • 两根线上特殊电平的特殊协议
  • 张嘴显性电平‘0’,闭嘴隐形电平‘1’
  • 头是识别头,身是控制端加数据段,尾是识别尾
  • CANFD 数据多 CRC多 速度快

电平定义

两个ISO标准

  • CAN ISO11898 标准和 ISO11519-2 标准
    • ISO11898 是针对通信速率为 125Kbps~1Mbps 的高速通信标准
    • ISO11519-2 是针对通信速率为 125Kbps 以下的低速通信标准

在这里插入图片描述

在这里插入图片描述

张嘴是嘴巴形状是显性电平,闭嘴如横着的隐性电平

在这里插入图片描述


CAN帧类型

在这里插入图片描述

数据帧

  • 数据帧一般由 7 个段构成

传统CAN

在这里插入图片描述

CAN-FD

在这里插入图片描述

仲裁段

在这里插入图片描述

控制段

在这里插入图片描述

DLC

在这里插入图片描述

CRC

在这里插入图片描述

ACK

在这里插入图片描述

在这里插入图片描述

错误帧

在这里插入图片描述

总结

  • 开始了SOF
  • 我是谁ID
  • 我要告诉你几件事DLC
  • 下面是具体事情DATA
  • 这是几件事验证码CRC
  • 你知晓了事情给我回信ACK
  • 结束EOF

Tq采样点

CAN位时序

在这里插入图片描述

在这里插入图片描述

STM位时序

在这里插入图片描述


仲裁功能

  • 当多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁。连续输出显性 电平最多的单元可继续发送

在这里插入图片描述


过滤器(屏蔽位、标志位)

在这里插入图片描述

  • CANFD支持:
    • 范围过滤器(Rangefilter):该过滤器匹配标识符在两个ID定义的范围内的所有消息。
    • 专用ID的过滤器(Filter for dedicatedIDs):可以将过滤器配置为匹配一个或两个特定的标识符。
    • 经典位屏蔽过滤器(classic bit mask filter):通过对接收到的标识符的位进行屏蔽来匹配标识符组。

STM流程控制

STM发送流程

在这里插入图片描述

在这里插入图片描述


STM接收流程

在这里插入图片描述


STM- TJA1050

在这里插入图片描述


STM 代码

  • STM32F429 提供了两种测试模式,环回模式和静默模式
CAN_HandleTypeDef CAN1_Handler; //CAN1 句柄
CanTxMsgTypeDef TxMessage; //发送消息
CanRxMsgTypeDef RxMessage; //接收消息
CAN_FilterConfTypeDef CAN1_FilerConfHAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef* hcan);
void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan);//回调函数
HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef* hcan, CAN_FilterConfTypeDef* sFilterConfig);
HAL_StatusTypeDef HAL_CAN_Transmit(CAN_HandleTypeDef* hcan, uint32_t Timeout);
HAL_StatusTypeDef HAL_CAN_Receive(CAN_HandleTypeDef* hcan, uint8_t FIFONumber, uint32_t Timeout);
u8 CAN1_Mode_Init(u32 tsjw,u32 tbs2,u32 tbs1,u16 brp,u32 mode)
{CAN_FilterConfTypeDef CAN1_FilerConf;CAN1_Handler.Instance=CAN1; CAN1_Handler.pTxMsg=&TxMessage; //发送消息CAN1_Handler.pRxMsg=&RxMessage; //接收消息CAN1_Handler.Init.Prescaler=brp; //分频系数(Fdiv)为 brp+1CAN1_Handler.Init.Mode=mode; //模式设置CAN1_Handler.Init.SJW=tsjw; //重新同步跳跃宽度CAN1_Handler.Init.BS1=tbs1; //tbs1 范围 CAN_BS1_1TQ~CAN_BS1_16TQCAN1_Handler.Init.BS2=tbs2; //tbs2 范围 CAN_BS2_1TQ~CAN_BS2_8TQCAN1_Handler.Init.TTCM=DISABLE; //非时间触发通信模式CAN1_Handler.Init.ABOM=DISABLE; //软件自动离线管理CAN1_Handler.Init.AWUM=DISABLE; //睡眠模式通过软件唤醒CAN1_Handler.Init.NART=ENABLE; //禁止报文自动传送CAN1_Handler.Init.RFLM=DISABLE; //报文不锁定,新的覆盖旧的CAN1_Handler.Init.TXFP=DISABLE; //优先级由报文标识符决定if(HAL_CAN_Init(&CAN1_Handler)!=HAL_OK) return 1; //初始化 CAN1CAN1_FilerConf.FilterIdHigh=0X0000; //32 位 IDCAN1_FilerConf.FilterIdLow=0X0000;CAN1_FilerConf.FilterMaskIdHigh=0X0000; //32 位 MASKCAN1_FilerConf.FilterMaskIdLow=0X0000; CAN1_FilerConf.FilterFIFOAssignment=CAN_FILTER_FIFO0;//过滤器 0 关联到 FIFO0CAN1_FilerConf.FilterNumber=0; //过滤器 0CAN1_FilerConf.FilterMode=CAN_FILTERMODE_IDMASK;CAN1_FilerConf.FilterScale=CAN_FILTERSCALE_32BIT;CAN1_FilerConf.FilterActivation=ENABLE; //激活滤波器 0CAN1_FilerConf.BankNumber=14;
if(HAL_CAN_ConfigFilter(&CAN1_Handler,&CAN1_FilerConf)!=HAL_OK) return 2;
//滤波器初始化return 0;
}

//CAN 底层驱动,引脚配置,时钟配置,中断配置
//此函数会被 HAL_CAN_Init()调用
//hcan:CAN 句柄
void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
{GPIO_InitTypeDef GPIO_Initure;__HAL_RCC_CAN1_CLK_ENABLE(); //使能 CAN1 时钟__HAL_RCC_GPIOA_CLK_ENABLE(); //开启 GPIOA 时钟GPIO_Initure.Pin=GPIO_PIN_11|GPIO_PIN_12; //PA11,12GPIO_Initure.Mode=GPIO_MODE_AF_PP; //推挽复用GPIO_Initure.Pull=GPIO_PULLUP; //上拉GPIO_Initure.Speed=GPIO_SPEED_FAST; //快速GPIO_Initure.Alternate=GPIO_AF9_CAN1; //复用为 CAN1HAL_GPIO_Init(GPIOA,&GPIO_Initure); //初始化#if CAN1_RX0_INT_ENABLE__HAL_CAN_ENABLE_IT(&CAN1_Handler,CAN_IT_FMP0);//FIFO0 挂起中断允许.HAL_NVIC_SetPriority(CAN1_RX0_IRQn,1,2); //抢占优先级 1,子优先级 2HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn); //使能中断
#endif
}
#if CAN1_RX0_INT_ENABLE //使能 RX0 中断
//CAN 中断服务函数
void CAN1_RX0_IRQHandler(void)
{HAL_CAN_IRQHandler(&CAN1_Handler);//此函数会调用 CAN_Receive_IT()接收数据
}

//CAN 中断处理过程
//此函数会被 CAN_Receive_IT()调用
//hcan:CAN 句柄
void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef* hcan)
{int i=0;
//CAN_Receive_IT()函数会关闭 FIFO0 消息挂号中断,因此我们需要重新打开__HAL_CAN_ENABLE_IT(&CAN1_Handler,CAN_IT_FMP0);
//重新开启 FIF00 消息挂号中断printf("id:%d\r\n",CAN1_Handler.pRxMsg->StdId);printf("ide:%d\r\n",CAN1_Handler.pRxMsg->IDE);printf("rtr:%d\r\n",CAN1_Handler
http://www.dtcms.com/a/596476.html

相关文章:

  • USP-Ulysses+Ring-Attention技术原理
  • mirage 接口mock 拦截
  • flash网站设计教程北京建设网上银行
  • 高端网站建设设计公司有哪些wordpress网站迁移后插件
  • redis进阶 - 底层数据结构
  • 【自然语言处理】语料库:自然语言处理的基石资源与发展全景
  • Rust: 量化策略回测与简易线程池构建、子线程执行观测
  • 基于systemd的系统负载控制与检测方案
  • 闲谈-三十而已
  • LangChain 是一个 **大语言模型(LLM)应用开发框架**
  • 从RAM/ROM到Redis:项目架构设计的存储智慧
  • 高中课程免费教学网站网页塔防游戏排行榜
  • Access导出带图表的 HTML 报表:技术实现详解
  • 郑州上海做网站的公司嘉兴网站建设有前途吗
  • 学习JavaScript进阶记录(二)
  • 优化用户体验的小点:乐观更新链路 双数据库查询
  • C++—list:list的使用及模拟实现
  • EasyExcel 与 Apache POI 版本冲突导致的 `NoSuchMethodError` 异常
  • WebServer04
  • 品牌网站建设技术网站搜索引擎优化诊断
  • 优秀企业网站设计WordPress评论楼层
  • 卡索(CASO)汽车调查:新能源时代如何精准度量用户体验?
  • 手动模拟Spring(简易版)
  • 蓝牙钥匙 第88次 蓝牙钥匙未来发展趋势篇:用户体验未来趋势深度解析
  • jmeter集群压测配置方法和注意事项
  • [笔记]SolidWorks转URDF 在rviz2中显示
  • 抖音商城店铺用户体验优化研究(开题报告)
  • 北京网站推广公司排名永久免费的cms系统带商城
  • STM32外设学习--USART串口协议--学习笔记。
  • 汉狮做网站公司郑州苏州建设网站的网络公司