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

赣州做网站的公司哪家好宿舍网页设计html模板

赣州做网站的公司哪家好,宿舍网页设计html模板,简述网站推广方式,深圳官方网站目录 1.dac设备基类2.dac设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 设备io管理层 4.总结5.使用 1.dac设备基类 此层处于设备驱动框架层。也是抽象类。 在/ components / drivers / include / drivers 下的dac.h定义了如下dac设备基类 struct rt_da… 目录 1.dac设备基类2.dac设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 设备io管理层 4.总结5.使用 1.dac设备基类 此层处于设备驱动框架层。也是抽象类。 在/ components / drivers / include / drivers 下的dac.h定义了如下dac设备基类 struct rt_dac_device { struct rt_device parent; const struct rt_dac_ops *ops; }; dac设备基类的方法定义如下 struct rt_dac_ops { rt_err_t (*disabled)(struct rt_dac_device *device, rt_uint32_t channel); rt_err_t (*enabled)(struct rt_dac_device *device, rt_uint32_t channel); rt_err_t (*convert)(struct rt_dac_device *device, rt_uint32_t channel, rt_uint32_t *value); rt_uint8_t (*get_resolution)(struct rt_dac_device *device); }; 抽象出来dac设备的共性成为dac设备基类的方法。 共性:失能dac使能dac转换分辨率。 2.dac设备基类的子类 各个看dac设备基类的子类已经是在bsp的驱动层来实现了例如 / bsp / stm32 / libraries / HAL_Drivers / drivers 下的drv_dac.c定义的stm32 dac类这些都是可以实例化的终类。其他芯片厂家如此这般一样。 3.初始化/构造流程 以stm32为例从设备驱动层、设备驱动框架层到设备io管理层从下到上的构造/初始化流程如下 3.1设备驱动层 此层是bsp层可以实例化的终类地。 c文件: / bsp / stm32 / libraries / HAL_Drivers / drivers 下的drv_dac.c。 定义了stm32的dac类 struct stm32_dac { DAC_HandleTypeDef DAC_Handler; struct rt_dac_device stm32_dac_device; }; 总感觉不舒服和rtt设备io框架类继承机制不一致应该改成这样 struct stm32_dac { struct rt_dac_device stm32_dac_device; DAC_HandleTypeDef DAC_Handler; }; 这就是舒服许多了。 实例化了stm32的dac设备: static struct stm32_dac stm32_dac_obj[sizeof(dac_config) / sizeof(dac_config[0])]; 重写了dac设备基类的方法: static const struct rt_dac_ops stm_dac_ops { .disabled stm32_dac_disabled, .enabled stm32_dac_enabled, .convert stm32_set_dac_value, .get_resolution stm32_dac_get_resolution, }; stm32_dac_init中开启stm32的dac设备的初始化: 调用/ components / drivers / misc /dac.c的rt_hw_dac_register函数来初始化adc设备基类对象: rt_hw_dac_register(stm32_dac_obj[i].stm32_dac_device, name_buf, stm_dac_ops, stm32_dac_obj[i].DAC_Handler) 注意把重写的dac设备基类方法传递进去了。 3.2 设备驱动框架层 rt_hw_dac_register是dac设备驱动框架层的入口开启dac设备基类的构造/初始化流程。 其主要是重写设备基类对象的方法如下 / components / drivers / misc 下的dac.c实现了设备驱动框架层接口。 重写dac设备基类的父类设备基类的方法如下 #ifdef RT_USING_DEVICE_OPS device-parent.ops dac_ops; #else device-parent.init RT_NULL; device-parent.open RT_NULL; device-parent.close RT_NULL; device-parent.read RT_NULL; device-parent.write _dac_write; device-parent.control _dac_control; #endif 同时重写dac设备基类的方法。 device-ops ops; 并最终调用设备基类的初始化/构造函数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.tj-hxxt.cn/news/139914.html

相关文章:

  • 制作企业网站的版式电子商城网站建设
  • 网站建设与研发国外扁平化风格网站
  • dw网站建设基本流程网站聚合页面模板
  • 杭州网站建设出名婚恋网站开发
  • 资中做网站多少钱中国纪检监察报在线阅读
  • 如何搭建手机网站源码怎样网站建设
  • 杭州做卖房子的工作哪个网站好专业的微商城网站建设
  • 怎么查看一个网站是用什么程序做的国外设计网站怎么打开
  • 成都网站建设收费西安网站建设模板
  • 网站程序安装效果好网站建设哪家便宜
  • 网站开发 如何备案网站后台管理系统进度
  • 网站建设品牌公司哪家好英文网站怎么做
  • 做网站后台需要什么短视频引流推广软件
  • 广州的企业网站建设中国的51区在哪里
  • 怎么查看网站用什么做的做seo的公司
  • 域名和网站名不一样wordpress主题源文件
  • 英文网站标题字体wordpress与商城
  • 怎样用别人的网站做修改病句公司制作官网
  • 网站空间购买哪个好养老网站建设的意义
  • 好的学校网站设计东莞网站设计找谁
  • c2c网站的特点及主要功能win8风格网站开发实例
  • 楚雄市城乡建设局网站成品网站5668入口的功能介绍
  • 网站开发方法有哪些百度做广告怎么做
  • 网站建设方案情况汇报公司微信网站开发
  • 专业的网站制作设计福田祥菱官网
  • 网站开发工作量个人网站免费申请注册
  • 代码网站怎么制作品质好可以说成品质什么
  • 王者荣耀网站开发目的产品开发的流程
  • 重生做皇帝小说网站个人门户网站
  • 微网站做的比较好的网站长图怎么做