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

html网站系统做网站需要具备什么

html网站系统,做网站需要具备什么,什么类型客户做网站,营销型网站建设的选择方式目录 1.脉冲编码器设备基类2.脉冲编码器设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 设备io管理层 4.总结5.使用 1.脉冲编码器设备基类 此层处于设备驱动框架层。也是抽象类。 在/ components / drivers / include / drivers 下的pulse_encoder.h定义… 目录 1.脉冲编码器设备基类2.脉冲编码器设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 设备io管理层 4.总结5.使用 1.脉冲编码器设备基类 此层处于设备驱动框架层。也是抽象类。 在/ components / drivers / include / drivers 下的pulse_encoder.h定义了如下脉冲编码器设备基类 struct rt_pulse_encoder_device { struct rt_device parent; const struct rt_pulse_encoder_ops *ops; enum rt_pulse_encoder_type type; }; 脉冲编码器设备基类的方法定义如下 struct rt_pulse_encoder_ops { rt_err_t (*init)(struct rt_pulse_encoder_device *pulse_encoder); rt_int32_t (*get_count)(struct rt_pulse_encoder_device *pulse_encoder); rt_err_t (*clear_count)(struct rt_pulse_encoder_device *pulse_encoder); rt_err_t (*control)(struct rt_pulse_encoder_device *pulse_encoder, rt_uint32_t cmd, void *args); }; 抽象出来共性成为脉冲编码器设备基类的方法。 2.脉冲编码器设备基类的子类 各个看脉冲编码设备基类的子类已经是在bsp的驱动层来实现了例如 / bsp / stm32 / libraries / HAL_Drivers / drivers 下的drv_pulse_encoder.c定义的stm32脉宽编码器类这些都是可以实例化的终类。其他芯片厂家如此这般一样。 3.初始化/构造流程 以stm32为例从设备驱动层、设备驱动框架层到设备io管理层从下到上的构造/初始化流程如下 3.1设备驱动层 此层是bsp层可以实例化的终类地。 c文件: / bsp / stm32 / libraries / HAL_Drivers / drivers 下的drv_pulse_encoder.c。 定义了stm32脉宽编码器类 struct stm32_pulse_encoder_device { struct rt_pulse_encoder_device pulse_encoder; TIM_HandleTypeDef tim_handler; IRQn_Type encoder_irqn; rt_int32_t over_under_flowcount; char *name; }; 实例化了stm32的脉宽编码器设备: static struct stm32_pulse_encoder_device stm32_pulse_encoder_obj[] ; 重写了脉宽编码器设备基类的方法: static const struct rt_pulse_encoder_ops _ops { .init pulse_encoder_init, .get_count pulse_encoder_get_count, .clear_count pulse_encoder_clear_count, .control pulse_encoder_control, }; hw_pulse_encoder_init中开启stm32脉宽编码器设备的初始化: 调用/ components / drivers / misc /pulse_encoder.c的rt_device_pulse_encoder_register函数来初始化脉宽编码器设备基类对象: stm32_pulse_encoder_obj[i].pulse_encoder.ops _ops; rt_device_pulse_encoder_register(stm32_pulse_encoder_obj[i].pulse_encoder, stm32_pulse_encoder_obj[i].name, RT_NULL) ; 注意重写了脉宽编码器设备基类的方法。 3.2 设备驱动框架层 rt_device_pulse_encoder_register是脉宽编码器设备驱动框架层的入口开启脉宽编码器设备基类的构造/初始化流程。 其主要是重写设备基类对象的方法如下 / components / drivers / misc 下的pulse_encoder.c实现了设备驱动框架层接口。 重写的脉宽编码设备基类的父类——设备基类——的方法如下 #ifdef RT_USING_DEVICE_OPS device-ops pulse_encoder_ops; #else device-init rt_pulse_encoder_init; device-open rt_pulse_encoder_open; device-close rt_pulse_encoder_close; device-read rt_pulse_encoder_read; device-write RT_NULL; device-control rt_pulse_encoder_control; #endif 并最终调用设备基类的初始化/构造函数rt_device_register。 3.3 设备io管理层 rt_device_register是io管理层的入口。从框架章节可以知道所有设备类都继承自设备基类rt_device自然都要实现设备基类rt_device的约束方法上面已经重写。 在/ components / drivers / core 下的device.c中实现了rt_device_register由它将pin设备放到容器里管理。 4.总结 整个设备对象的构造/初始化流程其实是对具体设备对象也就是结构体进行初始化赋值按照先调用子类构造/初始化函数再调用父类的构造/初始化函数方式——其实也是子类构造/初始化函数调用父类构造/初始化函数的流程来完成设备对象的初始化/构造。最终放到对象容器里来管理。 5.使用 文档
http://www.pierceye.com/news/847932/

相关文章:

  • 区网站建设有域名后怎样做网站
  • 加强网站基础建设推广app的平台
  • 全球访问量最大的网站排名中国贸易公司100强
  • 衡水市网站制作有没有专门做儿童房的网站
  • 网站建设如何做报价网络工程师考试时间
  • wordpress建公司网站ftp转换wordpress
  • 网站开发 公司简介网站开发工具有哪些
  • 阿里云备案 网站备案域名购买河南洛阳网络公司
  • 工会网站建设请示怎么做属于自己的售卡网站
  • 怎么用ftp工具上传网站源码极速网站建设定制多少钱
  • 文山网站建设哪家好网站开发需要会的东西
  • ie9网站后台编辑器网络公司办公室图片
  • 山西格泰网站建设空间商网站
  • 做网站建设哪家便宜python 做电商网站
  • 网站项目ppt怎么做网络销售推广平台
  • 网站推广营销策略一级a做爰片免费网站 小说
  • 音乐网站排名室内设计基础知识点
  • 毕业设计音乐网站开发背景网站内容怎么修改
  • 风琴折叠图片效果网站宁波seo托管公司
  • app定制研发app开发seozou是什么意思
  • 手机在线制作表白网站集团网站建设价格
  • 手工蛋糕网站开发报告网站集群建设实施方案
  • 定制小程序网站开发公司如何做网站详细步骤
  • 济南做网站多钱网站美化公司
  • 信息流广告的特点青岛网站优化公司哪家好
  • 东莞网站优化公司亚马逊网站开发使用的什么方式
  • 天津网站免费制作专门做教育的视频网站
  • 深圳做网站的公司 cheungdom贵阳软件开发公司在哪里
  • 铜川做网站的公司电话超链接对做网站重要吗
  • 东莞市公租房申请网站-建设网厦门公司建站