Flash_synchronizer.c 1.85 KB
Newer Older
崔立宝's avatar
崔立宝 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
/******************************************************************************
文 件 名:Flash_synchronizer.h
功能描述:闪烁同步信号发生器库文件
作    者:张暄
版    本:V1.0
日    期:2017.04.02
******************************************************************************/

#include "Flash_synchronizer.h"

volatile uint8_t FlashSync1Hz;
volatile uint8_t FlashSync2Hz;
volatile uint8_t FlashSync5Hz;
volatile uint8_t FlashSync7Hz;

const uint8_t FlashSync1HzTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                                    };
const uint8_t FlashSync2HzTable[] = {0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
                                     0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
                                    };
const uint8_t FlashSync5HzTable[] = {0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
                                     1, 1, 0, 0, 1, 1, 0, 0, 1, 1,
                                    };
const uint8_t FlashSync7HzTable[] = {0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
                                     0, 1, 0, 0, 1, 0, 0, 1, 0, 1,
                                    };

uint8_t FlashTimer;

/******************************************************************************
函数名:Flash_Sync_Signal_Generation_Service
功  能:闪烁同步信号发生服务
参  数:无
返回值:无
*******************************************************************************
注  意:该服务函数必须每50ms被调用一次
******************************************************************************/
void Flash_Sync_Signal_Generation_Service(void)
{
  FlashTimer++;       //50ms一次 加  1
  if (FlashTimer >= 20)
    FlashTimer = 0;
  FLASH_SYNC_1Hz = FlashSync1HzTable[FlashTimer]; //500ms
  FLASH_SYNC_2Hz = FlashSync2HzTable[FlashTimer]; //250ms
  FLASH_SYNC_5Hz = FlashSync5HzTable[FlashTimer]; //200ms
  FLASH_SYNC_7Hz = FlashSync7HzTable[FlashTimer]; //100ms
}