dizzyy писал(а): ↑29.07.2020{, 17:58}
Вчера ночью нашел библиотеку конвертации будет время проверю..
Может будет полезен функция из разработанной нами библиотеки для lcd и консоли - возвращает цифру в форматах
'B' - 8-разрядное двоичное число b00000000;
'b' - 4-разрядное двоичное число b0000;
'H' - 4-разрядное HEX число 0xFFFF;
'h' - 2-разрядное HEX число 0xFF;
'D' - целое число uin32_t;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// var_ID: Возвращает цифру в символьной форме из выводимой переменной начиная со старшей позиции
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
char getCharVal(uint32_t val, uint8_t upper, char mode, uint8_t len, uint8_t n){uint32_t buff32=0;
if((n>len) || (n>10)) n=0;
if((mode=='B') || (mode=='b')) {buff32=(val>>(len-n))&1;}
if((mode=='H') || (mode=='h')) {buff32=(val>>(len-n)*4)&0xf;}
if((mode=='D') || (mode=='0') ||(mode=='1') ||(mode=='2') || (mode=='3') || (mode=='T')) {n=len-n+1; while(n!=0) {buff32=val; val/=10; buff32=buff32-(val*10); n--;};}
if(buff32<=9) {buff32=buff32 +'0';} else {buff32=buff32-10+(upper ? 'A' : 'a') ;}
return (uint8_t)buff32;};