获取KEIL编译器编译时间用于管理固件版本

KEIL内置的__DATE__ 和 TIME
利用KEIL内置_DATE_和_TIME_宏获取编译日期和时间

//加入MDK自己的年月日
#define MDK_YEAR ((((__DATE__[7] - '0')*10 + __DATE__[8] - '0')*10 \
                 +(__DATE__[9] - '0'))*10+(__DATE__[10] - '0'))               
#define MDK_MONTH get_month()            
#define MDK_DAY   ((__DATE__[4]==' ' ? 0 : __DATE__[4]-'0')*10 \
                    +(__DATE__[5] - '0'))
#define MDK_HOUR  ((__TIME__[0]-'0')*10 + __TIME__[1]-'0')
#define MDK_MIN   ((__TIME__[3]-'0')*10 + __TIME__[4]-'0')
#define MDK_SEC   ((__TIME__[6]-'0')*10 + __TIME__[7]-'0')

//从宏定义__DATE__中获取月份
uint8_t get_month(void)
{
  uint8_t month_val;
  switch(__DATE__[2])
  {
    case 'n':
	  if(__DATE__[1] == 'a')
        month_val = 1;
      else
        month_val = 6;
    break;
    case 'b':
      month_val = 2;
    break;
    case 'r':
      if(__DATE__[1] == 'a')
        month_val = 3;
      else
        month_val = 4;
    break;
    case 'y':
      month_val = 5;
    break;
    case 'l':
      month_val = 7;
    break;
    case 'g':
      month_val = 8;
    break;
    case 'p':
      month_val = 9;
    break;
    case 't':
      month_val = 10;
    break;
    case 'v':
      month_val = 11;
    break; 
    case 'c':
      month_val = 12;
    break; 
    default:
      month_val = 0;
      break;
  }
  return month_val;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值