Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 
uint8_t * Itoa_R(uint8_t * StrDst, uint8_t SizeOfStr, int16_t Number){ // right aligment version of Itoa
    uint8_t * pStrDst = &StrDst[SizeOfStr - 2];
    int16_t Tmp;
    uint8_t i; // just the index
    uint8_t Sign = 0;
    
    if(Number < 0 )Sign =1;
    Number = (Number < 0) ? -Number : Number;
   
    if(!Number){
      i = 2; 
      *pStrDst-- = '0';} 
    else
     for(i = 1; i < SizeOfStr && Number;   i++){ 
      Tmp = Number%10;
      *pStrDst-- = Tmp + 0x30;
      Number /= 10;
       }
  if (Sign){  
    *pStrDst-- ='-'; 
    i++;
  }
  while(i < SizeOfStr){
    *pStrDst-- = ' ';
    i++;
  }
return StrDst;
}