12345678910111213141516171819202122232425262728293031323334353637 |
- #include "dev_task.h"
- #include <stdint.h>
- const uint16_t dev_task_cycle_tab[8] = {
- 5, // task0 周期5ms;
- 10, // task1 周期10ms;
- 50, // task2 周期50ms;
- 100, // task3 周期100ms;
- 200, // task4 周期200ms;
- 500, // task5 周期500ms;
- 1000, // task6 周期1000ms;
- 2000, // task7 周期2000ms;
- };
- // 定义任务循环标志位
- dev_task_flag_un dev_task_flag;
- void dev_task_clock(void)
- {
- static volatile uint32_t sys_tick_count = 0;
- uint8_t i = 0;
- sys_tick_count++;
- for (i = 0; i < TASK_MASK_QTY; i++)
- {
- if (sys_tick_count % dev_task_cycle_tab[i] == 0x00)
- {
- dev_task_flag.all |= 0x01 << i;
- }
- }
- if (sys_tick_count > 4000000000)
- {
- sys_tick_count = 0;
- }
- }
|