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

绥化市网站建设_网站建设公司_企业官网_seo优化

长沙企业网站开发微联讯点,企业网站建设及运营现状分析,网站seo诊断优化分析该怎么做,新闻事件RT-Thread Sensor框架使用 - 1 简介Sensor框架结构函数说明rt_device_findrt_device_openrt_device_read 简介 使用气体传感器#xff0c;对接到sensor框架中使用。 Sensor框架结构 device框架 --》sensor框架 --》具体的设备 函数说明 rt_device_find 查找设备时的名称… RT-Thread Sensor框架使用 - 1 简介Sensor框架结构函数说明rt_device_findrt_device_openrt_device_read 简介 使用气体传感器对接到sensor框架中使用。 Sensor框架结构 device框架 --》sensor框架 --》具体的设备 函数说明 rt_device_find 查找设备时的名称为sensor.c文件中的sensor_name_str变量定义的头部分。 static char *const sensor_name_str[] {none,acce_, /* Accelerometer */gyro_, /* Gyroscope */mag_, /* Magnetometer */temp_, /* Temperature */humi_, /* Relative Humidity */baro_, /* Barometer */li_, /* Ambient light */pr_, /* Proximity */hr_, /* Heart Rate */tvoc_, /* TVOC Level */noi_, /* Noise Loudness */step_, /* Step sensor */forc_, /* Force sensor */dust_, /* Dust sensor */eco2_, /* eCO2 sensor */gnss_, /* GPS/GNSS sensor */ // tof_, /* TOF sensor */ // spo2_ /* SpO2 sensor */ch4_ /* CH4 sensor */ };在注册的时候将后半部分的名称写入进去 result rt_hw_sensor_register(sensor_temp,gas, RT_DEVICE_FLAG_RDONLY, RT_NULL);在该函数中通过调用初始化的时候的设备类型地址对设备名称的前部分进行查表注册。 sensor_name sensor_name_str[sensor-info. Type];#define RT_SENSOR_CLASS_NONE (0) #define RT_SENSOR_CLASS_ACCE (1) /* Accelerometer */ #define RT_SENSOR_CLASS_GYRO (2) /* Gyroscope */ #define RT_SENSOR_CLASS_MAG (3) /* Magnetometer */ #define RT_SENSOR_CLASS_TEMP (4) /* Temperature */ #define RT_SENSOR_CLASS_HUMI (5) /* Relative Humidity */ #define RT_SENSOR_CLASS_BARO (6) /* Barometer */ #define RT_SENSOR_CLASS_LIGHT (7) /* Ambient light */ #define RT_SENSOR_CLASS_PROXIMITY (8) /* Proximity */ #define RT_SENSOR_CLASS_HR (9) /* Heart Rate */ #define RT_SENSOR_CLASS_TVOC (10) /* TVOC Level */ #define RT_SENSOR_CLASS_NOISE (11) /* Noise Loudness */ #define RT_SENSOR_CLASS_STEP (12) /* Step sensor */ #define RT_SENSOR_CLASS_FORCE (13) /* Force sensor */ #define RT_SENSOR_CLASS_DUST (14) /* Dust sensor */ #define RT_SENSOR_CLASS_ECO2 (15) /* eCO2 sensor */ #define RT_SENSOR_CLASS_GNSS (16) /* GPS/GNSS sensor */ #define RT_SENSOR_CLASS_CH4 (17) /* CH4 sensor */rt_device_open 该参数通过sensorc中的下列函数实现的 /* RT-Thread Device Interface */ static rt_err_t rt_sensor_open(rt_device_t dev, rt_uint16_t oflag) {rt_sensor_t sensor (rt_sensor_t)dev;RT_ASSERT(dev ! RT_NULL);rt_err_t res RT_EOK;rt_err_t (*local_ctrl)(struct rt_sensor_device *sensor, int cmd, void *arg) local_control;if (sensor-module){/* take the module mutex */rt_mutex_take(sensor-module-lock, RT_WAITING_FOREVER);}if (sensor-module ! RT_NULL sensor-info.fifo_max 0 sensor-data_buf RT_NULL){/* Allocate memory for the sensor buffer */sensor-data_buf rt_malloc(sizeof(struct rt_sensor_data) * sensor-info.fifo_max);if (sensor-data_buf RT_NULL){res -RT_ENOMEM;goto __exit;}}if (sensor-ops-control ! RT_NULL){local_ctrl sensor-ops-control;}sensor-config.mode RT_SENSOR_MODE_POLLING;if (oflag RT_DEVICE_FLAG_RDONLY dev-flag RT_DEVICE_FLAG_RDONLY){/* If polling mode is supported, configure it to polling mode */local_ctrl(sensor, RT_SENSOR_CTRL_SET_MODE, (void *)RT_SENSOR_MODE_POLLING);}else if (oflag RT_DEVICE_FLAG_INT_RX dev-flag RT_DEVICE_FLAG_INT_RX){/* If interrupt mode is supported, configure it to interrupt mode */if (local_ctrl(sensor, RT_SENSOR_CTRL_SET_MODE, (void *)RT_SENSOR_MODE_INT) RT_EOK){/* Initialization sensor interrupt */rt_sensor_irq_init(sensor);sensor-config.mode RT_SENSOR_MODE_INT;}}else if (oflag RT_DEVICE_FLAG_FIFO_RX dev-flag RT_DEVICE_FLAG_FIFO_RX){/* If fifo mode is supported, configure it to fifo mode */if (local_ctrl(sensor, RT_SENSOR_CTRL_SET_MODE, (void *)RT_SENSOR_MODE_FIFO) RT_EOK){/* Initialization sensor interrupt */rt_sensor_irq_init(sensor);sensor-config.mode RT_SENSOR_MODE_FIFO;}}else{res -RT_EINVAL;goto __exit;}/* Configure power mode to normal mode */if (local_ctrl(sensor, RT_SENSOR_CTRL_SET_POWER, (void *)RT_SENSOR_POWER_NORMAL) RT_EOK){sensor-config.power RT_SENSOR_POWER_NORMAL;}__exit:if (sensor-module){/* release the module mutex */rt_mutex_release(sensor-module-lock);}return res; }可以看到实际上开启函数是对control函数进行的控制实现的开启和关闭。 rt_device_read 该函数的输入参数是struct rt_sensor_data data; struct rt_sensor_data {rt_uint32_t timestamp; /* The timestamp when the data was received */rt_uint8_t type; /* The sensor type of the data */rt_uint8_t state; /* The sensor state*/union{struct sensor_3_axis acce; /* Accelerometer. unit: mG */struct sensor_3_axis gyro; /* Gyroscope. unit: mdps */struct sensor_3_axis mag; /* Magnetometer. unit: mGauss */struct coordinates coord; /* Coordinates unit: degrees */float temp; /* Temperature. unit: dCelsius */float humi; /* Relative humidity. unit: permillage */rt_int32_t baro; /* Pressure. unit: pascal (Pa) */rt_int32_t light; /* Light. unit: lux */rt_int32_t proximity; /* Distance. unit: centimeters */rt_int32_t hr; /* Heart rate. unit: bpm */rt_int32_t tvoc; /* TVOC. unit: permillage */rt_int32_t noise; /* Noise Loudness. unit: HZ */rt_uint32_t step; /* Step sensor. unit: 1 */rt_int32_t force; /* Force sensor. unit: mN */rt_uint32_t dust; /* Dust sensor. unit: ug/m3 */rt_uint32_t eco2; /* eCO2 sensor. unit: ppm */rt_uint8_t ch4; /* CH4 sensor. unit: LEL */} data; };在实际使用的时候根据具体的传感器选择具体的数据类型进行选择。在编写底层对接函数的时候在获取数据部分也需要同步将数据写入到相同的传感器类型的数据中去。
http://www.ihoyoo.com/news/18187.html

相关文章:

  • 旅游网站的设计栏目服务器安全加固
  • 网站运行速度慢的原因苏州市建设局老网站
  • 行政单位门户网站建设规定wordpress如何访问后台页面
  • 本地资讯网站做的最好的广州seo好找工作吗
  • 做网站工资多少钱重庆网站建设 制作 设计 优惠价
  • 中国室内设计装饰协会佛山优化企业网站排名平台
  • 江南网盟-专注中小企业网站建设服务国外可以用什么网站做问卷
  • 茂名哪里有网站开发公司阿里巴巴上面可以做网站
  • 中国人事建设部网站u钙网logo设计影视剪辑
  • 一个网站做seo免费做拍卖网站
  • 凡科建站官网黑群晖的做网站文件
  • 建设一个网站需要学哪些建筑人才网下载安装
  • 企业网站怎样做优化Oss怎么做静态网站
  • 带dede后台的整套网站源码 数据库连接不上郑州网站建设方案书
  • 郑州自助建站软件自建论坛要多少钱
  • 上海制作网站开发三河网站建设公司
  • 网站首页设计收费阳江网上办事大厅
  • 销售类网站开发架构如何开发安卓app
  • 精品网名白帽seo
  • 佛山市网站建设企业专业搜索引擎优化电话
  • 网站建设客户好评信网站制作 万网
  • 建立商城网站上海基础微网站开发
  • 房屋信息网站wordpress php版本
  • 阿里快速建站wordpress+弹窗打开
  • 网站备案被拒绝微信小程序代理
  • 大连建设局网站地址老年大学网站开发
  • 东莞网站设计资讯c语言网站开发
  • 网站 做实名认证吗wordpress 登陆原理
  • 北京 集团公司网站建设厦门seo外包服务
  • 陶瓷企业 瓷砖地板公司网站建设男女做羞羞漫画网站