# simple_sensor **Repository Path**: LY3T/simple_sensor ## Basic Information - **Project Name**: simple_sensor - **Description**: A simple sensor library - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-05-08 - **Last Updated**: 2025-03-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: simple ## README # SimpleSensor ## 简介 SimpleSensor是一个小巧简单的传感器模块,可以任意拓展传感器,传感器处理回调函数可以简单快捷地进行滤波处理。 ## 特征 - 任意拓展传感器 - 通过回调函数进行读写/滤波 ## 用法 1.创建传感器 ```c simple_sensor_t sensor_0; ``` 2.初始化传感器 ```c sp_sensor_init(&sensor_0, &cfg); ``` 3.添加传感器 ```c sp_sensor_add(&sensor_0); ``` 4.使能传感器 ```c sp_sensor_enable(&sensor_0, ENABLE); ``` 5.启动模块 ```c sp_sensor_start(); ``` 6.后台处理 ```c //定时器中断处理 //滴哒定时器为例 void SysTick_Handler(void) { ... sp_sensor_ticks(); ... } //主程序处理/裸机 int main(void) { while(1) { ... sp_sensor_ticks(); ... } return 0; } //任务处理/系统 //FreeRTOS为例 void sensor_task(void *pvParameters) { while(1) { ... sp_sensor_ticks(); ... vTaskDelay(5); } } ``` ## 例程 ```c #include "simple_sensor.h" int main(void) { simple_sensor_t sensor_0; sensor_cfg_t cfg_0; sp_sensor_init(&sensor_0, &cfg_0); sp_sensor_add(&sensor_0); sp_sensor_enable(&sensor_0, ENABLE); simple_sensor_t sensor_1; sensor_cfg_t cfg_1; sp_sensor_init(&sensor_1, &cfg_1); sp_sensor_add(&sensor_1); sp_sensor_enable(&sensor_1, ENABLE); sp_sensor_start(); while(1) { sp_sensor_ticks(); delayms(1); } return 0; } ``` ## 贡献 本模块参考MultiButton,感谢开源分享 https://github.com/0x1abin/MultiButton