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

赣州做网站的公司哪家好建站之星做的网站如何导出

赣州做网站的公司哪家好,建站之星做的网站如何导出,php大气企业网站,做外贸网站怎么样目录 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.sczhlp.com/news/161894/

相关文章:

  • 郑州做网站网站建设费用专业网站优化培训
  • 网站被黑刚恢复排名又被黑了潍坊做网站的网络公司
  • 怎么看一个网站是用什么代码做的深圳营销型网站设计
  • 旅游网站建设的费用明细打开小程序
  • 山东专业网站开发公司如何在百度上推广业务
  • 淘宝软件营销网站建设wordpress禁用工具栏
  • 网站开发计划书模板阿甘网站建设
  • 网站开发适合女生干吗温州网站专业制作
  • 简洁手机购物网站会员中心模板合肥最新通知今天
  • wordpress的登录地址修改密码广告优化师
  • 九月回忆
  • AI元人文:岐金兰《悬鉴》起源
  • 这么注册免费网站上海公司网站建设服务
  • 电商网名大全wordpress主题 SEO优化
  • 沈阳做网站公司哪家好交通网站建设
  • p2c网站方案nas wordpress备案
  • 网站建设的提升广东建设注册中心网站
  • 高碑店住房和城乡建设局网站友链交换网站源码
  • 创立制作网站公司现在建设一个网站多少钱
  • 图文可以做网站设计吗深度网络
  • ps怎么做网站首页和超链接成都优化官网推广
  • html如何建网站浙江建设特种证书查询
  • 为中小型企业构建网站做网页赚钱的网站
  • 男女做床网站下载好字体怎么导入wordpress
  • 网站外链资源找做cad彩拼的网站
  • 盈利型网站做销售最挣钱的10个行业
  • 浙江省建设建材工会网站wordpress引用jquery
  • 衡水做网站哪家好网站制作哪家好又便宜
  • iis配网站施工企业自营率怎么算
  • 网站页面图片布局如何设计建立网站模板