天天看點

STM32代碼以日期作為軟體版本号不多BB還是BB一下

不多BB

u32 bsp_get_time(void){
	
    const u8 Month_Table[12][3]= {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
    u8 i;
    u8 *_date;
	u8 *_time;
    u8 mon,day; 
	u8 hour,minute; 
    u16 year;

    _date =  __DATE__;
	_time =  __TIME__; 
	hour  = (_time[0] - '0') * 10 + (_time[1] - '0');
	if(_time[2] == ':'){
		
		minute = (_time[3] - '0') * 10 + (_time[4] - '0');
	}
    for(i=0; i<12; i++){
		
        if((Month_Table[i][0] == _date[0]) && (Month_Table[i][1] == _date[1]) && (Month_Table[i][2] == _date[2]))
            mon = i+1; 
    }
    if(_date[4]==' '){
        day=_date[5]-'0';
    }
    else{
        day=10*(_date[4]-'0')+_date[5]-'0';
    }

    year=10*(_date[9]-'0')+_date[10]-'0'; 
    return (year*100000000 + mon*1000000 + day*10000 + hour * 100 + minute);
}
           

調用該函數,直接傳回以目前日期組合而成的整數值,舉個栗子:

1908191500,即2019年8月19日15點0分

還是BB一下

将函數 u32 bsp_get_time(void) 所在的c檔案設定為總是編譯

STM32代碼以日期作為軟體版本号不多BB還是BB一下

繼續閱讀