реклама на сайте
подробности

 
 
> Преобразование двоичного в двоично-десятичный код
_alex__
сообщение Mar 22 2018, 20:14
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 25-06-14
Пользователь №: 82 059



Имеетя 24-х разрядное двоичное число представленное в виде трех однобайтных (unsigned char) переменных
BYTE2,BYTE1,BYTE0 (старший -> младший байт числа)

Нужно это число пребразовать в 8 разрядов десятичного числа представленных unsigned char переменными DIGIT7...DIGIT0 (старший -> младший байт числа)

Возможно использовать только переменные unsigned char т.к. это для восьмиразрядного микроконтроллера.

Помогите написать на языке С функцию для такого преобразования.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mcheb
сообщение Mar 23 2018, 04:58
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 30-05-06
Пользователь №: 17 602



На PIC16 я делал так
CODE
uint32_t value;
uint8_t digit[8];
void lcdPrint(void)
{
digit[7] = 0;
while(value >= 10000000)
{
value -= 10000000;
++digit[7];
}
digit[6] = 0;
while(value >= 1000000 )
{
value -= 1000000;
++digit[6];
}
digit[5] = 0;
while(value >= 100000 )
{
value -= 100000;
++digit[5];
}
digit[4] = 0;
while(value >= 10000 )
{
value -= 10000;
++digit[4];
}
digit[3] = 0;
while(value >= 1000 )
{
value -= 1000;
++digit[3];
}
digit[2] = 0;
while(value >= 100 )
{
value -= 100;
++digit[2];
}
digit[1] = 0;
while(value >= 10 )
{
value -= 10;
++digit[1];
}
digit[0] = 0;
while(value >= 1 )
{
value -= 1;
++digit[0];
}
}
Go to the top of the page
 
+Quote Post
_alex__
сообщение Mar 23 2018, 13:12
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 25-06-14
Пользователь №: 82 059



Цитата(mcheb @ Mar 23 2018, 04:58) *
На PIC16 я делал так


Спасибо! Работает. Вопрос решен.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th August 2025 - 15:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016