传感网应用开发(高级)课件32CAN总线开发代码讲解.ppt

上传人(卖家):晟晟文业 文档编号:4046267 上传时间:2022-11-06 格式:PPT 页数:15 大小:2.10MB
下载 相关 举报
传感网应用开发(高级)课件32CAN总线开发代码讲解.ppt_第1页
第1页 / 共15页
传感网应用开发(高级)课件32CAN总线开发代码讲解.ppt_第2页
第2页 / 共15页
传感网应用开发(高级)课件32CAN总线开发代码讲解.ppt_第3页
第3页 / 共15页
传感网应用开发(高级)课件32CAN总线开发代码讲解.ppt_第4页
第4页 / 共15页
传感网应用开发(高级)课件32CAN总线开发代码讲解.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、01CANCAN总线代码编写方法概览总线代码编写方法概览02CAN总线代码的数据结构03CAN总线使用方法和函数目录目录CONTENTS04CAN总线实例流程图05CAN总线代码概览06代码编写建议CAN总线代码编写方法概览1.CAN总线配置:工作模式配置(初始化,正常,睡眠)CAN_MCR寄存器,过滤器模式设置,过滤器优先级设置等。2.发送数据:选择一个空的发送邮箱,设置标志符,数据长度,待发送数据,CAN_T1xR寄存器置1,请求发送3.接收数据01CAN总线代码编写方法概览02CANCAN总线总线代码的数据结构代码的数据结构03CAN总线使用方法和函数目录目录CONTENTS04CAN总

2、线实例流程图05CAN总线代码概览06代码编写建议CAN_HandleTypeDefCAN总线结构体CAN_HandleTypeDefCAN总线结构体:typedef struct _CAN_HandleTypeDef CAN_TypeDef *Instance;/*!Register base address*/CAN_InitTypeDef Init;/*!CAN required parameters*/_IO HAL_CAN_StateTypeDef State;/*!CAN communication state*/_IO uint32_t ErrorCode;/*!CAN Erro

3、r code.CAN_HandleTypeDef;CAN_TypeDef-CAN寄存器结构体见P102详细描述typedef struct _IO uint32_t MCR;_IO uint32_t MSR;_IO uint32_t TSR;_IO uint32_t RF0R;_IO uint32_t RF1R;_IO uint32_t IER;_IO uint32_t ESR;_IO uint32_t BTR;uint32_t RESERVED088;CAN_TxMailBox_TypeDef sTxMailBox3;CAN_FIFOMailBox_TypeDef sFIFOMailBox2

4、;uint32_t RESERVED112;_IO uint32_t FMR;_IO uint32_t FM1R;uint32_t RESERVED2;_IO uint32_t FS1R;uint32_t RESERVED3;_IO uint32_t FFA1R;uint32_t RESERVED4;_IO uint32_t FA1R;uint32_t RESERVED58;CAN_FilterRegister_TypeDef sFilterRegister14;CAN_TypeDef;01CAN总线代码编写方法概览02CAN总线代码的数据结构03CANCAN总线使用方法和函数总线使用方法和函

5、数目录目录CONTENTS04CAN总线实例流程图05CAN总线代码概览06代码编写建议MX_CAN_Init():CAN工作模式配置 hcan.Instance=CAN1;hcan.Init.Prescaler=40;hcan.Init.Mode=CAN_MODE_NORMAL;hcan.Init.SyncJumpWidth=CAN_SJW_1TQ;hcan.Init.TimeSeg1=CAN_BS1_6TQ;hcan.Init.TimeSeg2=CAN_BS2_2TQ;hcan.Init.TimeTriggeredMode=DISABLE;hcan.Init.AutoBusOff=ENAB

6、LE;hcan.Init.AutoWakeUp=DISABLE;hcan.Init.AutoRetransmission=DISABLE;hcan.Init.ReceiveFifoLocked=DISABLE;hcan.Init.TransmitFifoPriority=DISABLE;见P102CAN函数的用法见user_can.c1.MX_CAN_Init():CAN工作模式配置2.CAN_User_Init(),CAN总线配置,过滤器的配置和启用3.can_start(),启动CAN总线4.can_stop(),停止CAN总线5.Can_Send_Msg(),CAN发送数据6.Can_S

7、end_Msg_StdId(),CAN发送自定义格式数据7.HAL_CAN_RxFifo0MsgPendingCallback(),CAN接收回调函数8.FilterID(),过滤屏蔽接收ID01CAN总线代码编写方法概览02CAN总线代码的数据结构03CAN总线使用方法和函数目录目录CONTENTS04CANCAN总线总线实例流程图实例流程图05CAN总线代码概览06代码编写建议开始初始化HAL库(FLASH接口,NVIC,基准时间)系统时钟配置(CPU,AHB和APB总线时钟)可配置设备初始化(GPIO,ADC,UART,TIMER,温湿度和红外传感器,启用串口接收中断)CAN初始化(MX

8、_CAN_Init(),CAN_User_Init)启动CAN总线定时读取各类型传感器数据CAN网关节点把所有传感器数据通过485总线上报到物联网网关CAN终端节点把所有传感器数据放在空闲的发送邮箱去处理处理接收的串行口数据流程图01CAN总线代码编写方法概览02CAN总线代码的数据结构03CAN总线使用方法和函数目录目录CONTENTS04CAN总线实例流程图05CANCAN总线代码概览总线代码概览06代码编写建议代码浏览代码浏览01CAN总线代码编写方法概览02CAN总线代码的数据结构03CAN总线使用方法和函数目录目录CONTENTS04CAN总线实例流程图05CAN总线代码概览06代码编写建议代码编写建议代码改进的一些建议 1.变量,函数命名方法没有遵循规范:比如有的用英文,有的用拼音;有的用驼峰命名法,有的没用。有的没有对齐。2.函数的形式参数没有做范围检测。3.函数的形式参数是指针类型的,没有做空的判断。4.数据类型没有做统一定义,比如有的还在用unsigned short 5.代码的注释不规范、不完整,增加维护的成本。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(传感网应用开发(高级)课件32CAN总线开发代码讲解.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|