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

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

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

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

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

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

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

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

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

В родных бульбах такого не встречал, ни в стм-омвских ни в гцц шных.
_guardianangel вне форума  
Сказали "Спасибо" _guardianangel
warel (28.06.2019)
Непрочитано 26.12.2011, 14:18  
_guardianangel
Почётный гражданин KAZUS.RU
 
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 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
Сообщений: 139
Сказал спасибо: 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
Сообщений: 139
Сказал спасибо: 18
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
vvkka на пути к лучшему
По умолчанию Re: Gреобразование числа

Сообщение от qwerky Посмотреть сообщение
общение от vvkka
немного непонял почему два входных значения
второе значение - количество байт результата, для 16-битного числа равно 3
если входное значение постоянное 16-разряд можно это значение вогнать как локальную переменную. чтобы не путала
vvkka вне форума  
Сказали "Спасибо" vvkka
warel (28.06.2019)
Непрочитано 26.12.2011, 15:54  
tanq
Гражданин KAZUS.RU
 
Регистрация: 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
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Преобразование числа

BIN2BCD, ИМХО , больше нужны для 7сегментных LED дисплеев .
Вам наверное, как выше и сказали, нужно ITOA ?
Целое в строку ...
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
warel (28.06.2019)
Непрочитано 26.12.2011, 17:05  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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, время: 18:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot