Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Преобразование числа

Непрочитано 26.12.2011, 14:15  
vvkka
Прописка
 
Регистрация: 24.08.2005
Сообщений: 140
Сказал спасибо: 18
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
vvkka на пути к лучшему
По умолчанию Преобразование числа

народ подскажите с помощью какой функции для ARM STM32 преобразовать число из двоичной системы в двоично десятичную и какой билиотеке она лижит
Реклама:
vvkka вне форума  
Сказали "Спасибо" vvkka
warel (28.06.2019)
Непрочитано 26.12.2011, 14:17  
_guardianangel
Почётный гражданин KAZUS.RUN
 
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,138
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
_guardianangel на пути к лучшему
По умолчанию Re: преобразование числа

В родных бульбах такого не встречал, ни в стм-омвских ни в гцц шных.
_guardianangel вне форума  
Сказали "Спасибо" _guardianangel
warel (28.06.2019)
Непрочитано 26.12.2011, 14:18  
_guardianangel
Почётный гражданин KAZUS.RUN
 
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,138
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
_guardianangel на пути к лучшему
По умолчанию Re: преобразование числа

Сами напишите - сиё не сложно.
_guardianangel вне форума  
Сказали "Спасибо" _guardianangel
warel (28.06.2019)
Непрочитано 26.12.2011, 14:19  
qwerky
Вид на жительство
 
Регистрация: 21.11.2009
Сообщений: 342
Сказал спасибо: 4
Сказали Спасибо 149 раз(а) в 66 сообщении(ях)
qwerky на пути к лучшему
По умолчанию Re: преобразование числа

Код:
U32 bin2bcd_U32_soft(U32 data, U8 result_bytes) {
    U32 result = 0; /*result*/
    for (U8 cnt_bytes=(4 - result_bytes); cnt_bytes; cnt_bytes--) /* adjust input bytes */
        data ‹‹= 8;
    for (U8 cnt_bits=(result_bytes ‹‹ 3); cnt_bits; cnt_bits--) { /* bits shift loop */
        /*result BCD nibbles correction*/
        result += 0x33333333;
        /*result correction loop*/
        for (U8 cnt_bytes=4; cnt_bytes; cnt_bytes--) {
            U8 corr_byte = result ›› 24;
            if (!(corr_byte & 0x08)) corr_byte -= 0x03;
            if (!(corr_byte & 0x80)) corr_byte -= 0x30;
            result ‹‹= 8; /*shift result*/
            result += corr_byte; /*set 8 bits of result*/
        }
        /*shift next bit of input to result*/
        result ‹‹= 1;
        if (((U8)(data ›› 24)) & 0x80)
            result |= 1;
        data ‹‹= 1;
    }
    return(result);
}

U32 bcd2bin_U32_soft(U32 data, U8 input_bytes) {
    U32 result = 0; /*result*/
    for (U8 cnt_bits = (input_bytes ‹‹ 3); cnt_bits; cnt_bits--) {
        /*shift next bit*/
        result ››= 1;
        if (((U8)(data)) & (U8)0x01) result |= 0x80000000;
        data ››= 1;
        /* result BCD correction */
        for (U8 cnt_bytes = 4; cnt_bytes; cnt_bytes--) {
            U8 tmp_byte = (data ›› 24);
            if (tmp_byte & 0x80) tmp_byte -= 0x30;
            if (tmp_byte & 0x08) tmp_byte -= 0x03;
            data ‹‹= 8;
            data |= tmp_byte;
        }
    }
    /*adjust result bytes*/
    for (U8 cnt_bits = (4 - input_bytes); cnt_bits; cnt_bits--)
        result ››= 8;
    return(result);
}
qwerky вне форума  
Эти 2 пользователя(ей) сказали Спасибо qwerky за это сообщение:
vvkka (26.12.2011), warel (28.06.2019)
Непрочитано 26.12.2011, 14:33  
vvkka
Прописка
 
Регистрация: 24.08.2005
Сообщений: 140
Сказал спасибо: 18
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
vvkka на пути к лучшему
По умолчанию Re: преобразование числа

вот уж недумал что сие есть проблема для STM

для AVR -- tBCD0 = bin2bcd(temper_iv_2);вот фукция стандартная
это так к примеру

qwerky вот здесь U32 bin2bcd_U32_soft(U32 data, U8 result_bytes) немного непонял почему два входных значения (просто сейчас разбиратся некогда)
дело в том надо просто разложить 16 разрядное число на состовные значения
vvkka вне форума  
Сказали "Спасибо" vvkka
warel (28.06.2019)
Непрочитано 26.12.2011, 14:48  
qwerky
Вид на жительство
 
Регистрация: 21.11.2009
Сообщений: 342
Сказал спасибо: 4
Сказали Спасибо 149 раз(а) в 66 сообщении(ях)
qwerky на пути к лучшему
По умолчанию Re: преобразование числа

Цитата:
для AVR -- tBCD0 = bin2bcd(temper_iv_2);вот фукция стандартная
это так к примеру
в стандарте С нет такой функции, то что вы привели это нюансы конкретного компилятора и его библиотеки. Зато есть более-менее стандартная функция itoa , на выходе - String вместо BCD

Сообщение от vvkka Посмотреть сообщение
немного непонял почему два входных значения
второе значение - количество байт результата, для 16-битного числа равно 3

Последний раз редактировалось qwerky; 26.12.2011 в 14:53.
qwerky вне форума  
Сказали "Спасибо" qwerky
warel (28.06.2019)
Непрочитано 26.12.2011, 15:18  
vvkka
Прописка
 
Регистрация: 24.08.2005
Сообщений: 140
Сказал спасибо: 18
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
vvkka на пути к лучшему
По умолчанию Re: Gреобразование числа

Сообщение от qwerky Посмотреть сообщение
общение от vvkka
немного непонял почему два входных значения
второе значение - количество байт результата, для 16-битного числа равно 3
если входное значение постоянное 16-разряд можно это значение вогнать как локальную переменную. чтобы не путала
vvkka вне форума  
Сказали "Спасибо" vvkka
warel (28.06.2019)
Непрочитано 26.12.2011, 15:54  
tanq
Гражданин KAZUS.RUN
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: Преобразование числа

В библиотеке С отсутствуют еще и функции для работы с этими BCD числами, поэтому зачем нужно такое преобразование - большой вопрос. Правильнее будет все считать в обычном формате, а в конц преобразовывать число в обучныю строку.
tanq вне форума  
Сказали "Спасибо" tanq
warel (28.06.2019)
Непрочитано 26.12.2011, 16:23  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Преобразование числа

BIN2BCD, ИМХО , больше нужны для 7сегментных LED дисплеев .
Вам наверное, как выше и сказали, нужно ITOA ?
Целое в строку ...
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
warel (28.06.2019)
Непрочитано 26.12.2011, 17:05  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Преобразование числа

Надо бы отдельную тему с конкертированиями закрепить. Постоянно чего-то не хватает, приходится искать.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (28.06.2019)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование 2-х байтного числа в набор десятизначных цифр (Assembler,PIC) Opasif Микроконтроллеры, АЦП, память и т.д 6 29.04.2011 19:52
Индикация 8 разрядного числа sacom TTL и CMOS логика 21 07.02.2011 10:12
преобразование 16bit числа на Си (нужна помощь) Uz_Sleep_Walker Микроконтроллеры, АЦП, память и т.д 4 19.02.2010 15:49
Положительные и отрицательные числа в Си day177 Микроконтроллеры, АЦП, память и т.д 54 30.01.2008 16:03
преобразование числа для занесения его в регистр на PIC16F84 CERGEI1982 Микроконтроллеры, АЦП, память и т.д 9 11.01.2007 17:47


Часовой пояс GMT +4, время: 12:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.