# 定时开关 **Repository Path**: yuyaowen/timing-switch ## Basic Information - **Project Name**: 定时开关 - **Description**: 基于STM32F103的定时开关 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2021-10-08 - **Last Updated**: 2022-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 定时开关 功能需求: ## 一、绝对时间执行 > 1. 到达某个时间点执行开/关动作; > 2. 例如:2021年12月1日15时20分17秒,打开;; > 3. 此定时仅执行一次,执行后关闭,但不删除定时器; > 4. 当年、月、日、时、分、秒中某个字段设为x时,意味着设置为x的字段直接认为有效; > 5. 例如:2021年12月x日15时20分17秒,打开,即2021年12月每日15时20分17秒打开;并且执行一次后不关闭该任务,等待下次条件成立继续执行; ## 二、倒计时执行 > 1. 倒计时计数为0时,执行开/关动作; > 2. 例如:计时x年x月x日x时x分x秒后打开; > 3. 年、月、日、时、分、秒实行自动换算进位,比如需要倒计时90秒,则显示为倒计时1分30秒; > 4. 此定时仅执行一次,执行后关闭,但不删除定时器; ## 三、周期倒计时执行执行 > 1. 此操作为一系列“倒计时执行”的指令集合,循环往复执行; > 2. 例如: > * a、30秒后开; > * b、20秒后关; > a、b任务循环顺序执行,直到手动启动了其他任务为止; ## 四、常开/常关 > 1. 常开/常关操作直接关闭但不删除当前正在运行的任务; > 2. 按下立即执行,不存储状态 ## 五、冲突 > 1. 每个通道(继电器)仅允许一个定时任务开启,以最后一个设置的定时任务为准,关闭但不删除早期任务; > 2. 新任务开始执行时,在触发条件到来前,不改变当前继电器状态; ## 六、其他 > 1. 上电每个通道自检一次,开1秒后关闭; > 2. 每个任务都要存储到flash中,每种任务存x个(暂不设限); > 3. RTC需要掉电保持运行 ## 七、注意 > 1. 打开、关闭是两个操作,使用时,不要忘记设置关闭设备的定时器。