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

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

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

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

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

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


 
Опции темы

CodeVisionAVR

Непрочитано 23.05.2011, 18:04  
master_74
Прохожий
 
Регистрация: 08.11.2009
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
master_74 на пути к лучшему
По умолчанию CodeVisionAVR

Народ помогите ПЛЗ разрулить такой гемор на CV.!!!!!!\
Надо с начало перемножить два unsigned long int получится unsigned long long int,
а потом это разделить на unsigned long int получится unsigned long int.
Сижу на CV 1.25.9, а он не понимает long long int. Более позднейшее версии отлечины коряво, со старыми проблемами.
Буду счастлив если кто поделится желательно на С библиотечкой, али нормально отшпили-вилиным СV посвежее/
Можно на мыло [email protected]. Заранее при много благодарен.
Реклама:
master_74 вне форума  
Сказали "Спасибо" master_74
warel (28.06.2019)
Непрочитано 23.05.2011, 22:56  
wer_1
Временная регистрация
 
Регистрация: 13.03.2006
Сообщений: 56
Сказал спасибо: 12
Сказали Спасибо 22 раз(а) в 9 сообщении(ях)
wer_1 на пути к лучшему
По умолчанию Re: CodeVisionAVR

the long long, double, _Complex and _Imaginary data types are not yet supported-зто из хэлпа.
CV- не поддерживает.
wer_1 вне форума  
Сказали "Спасибо" wer_1
warel (28.06.2019)
Непрочитано 24.05.2011, 08:25  
Flopix
Гражданин KAZUS.RUN
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: CodeVisionAVR

Может сначала разделить а потом умножить или там нужно точное число без дополнительных округлений?
Flopix вне форума  
Сказали "Спасибо" Flopix
warel (28.06.2019)
Непрочитано 24.05.2011, 09:16  
mobil2005
Прописка
 
Аватар для mobil2005
 
Регистрация: 19.07.2006
Адрес: Russia,Yekaterinburg
Сообщений: 184
Сказал спасибо: 12
Сказали Спасибо 75 раз(а) в 43 сообщении(ях)
mobil2005 на пути к лучшему
По умолчанию Re: CodeVisionAVR

Сообщение от master_74 Посмотреть сообщение
Надо с начало перемножить два unsigned long int получится unsigned long long int,
а потом это разделить на unsigned long int получится unsigned long int.
Оцените число нулей которые отбросятся в результате деления на unsigned long int , и произведите округление. Ибо что-то мне подсказывает что МК большую часть времени будет считать то что в конечном итоге в результате не отразится.
__________________
Разработка электроники на заказ, написание ПО для ПК и МК.Обращайтесь в личку.
mobil2005 вне форума  
Сказали "Спасибо" mobil2005
warel (28.06.2019)
Непрочитано 24.05.2011, 13:05  
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: CodeVisionAVR

Project --› Configure --› C Compiler --› (s)printf Features попробуй long или float
sergx1300 вне форума  
Сказали "Спасибо" sergx1300
warel (28.06.2019)
Непрочитано 24.05.2011, 18:50  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: CodeVisionAVR

Переходите на WinAVR - там С99 поддерживается. А именно этот стандарт добавляет long long. Вариант 2 - пишете асмовую вставку и пермножаете/делите в ней.
kison вне форума  
Сказали "Спасибо" kison
warel (28.06.2019)
Непрочитано 13.05.2013, 02:10  
MasterMushi
Вид на жительство
 
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
MasterMushi на пути к лучшему
По умолчанию Re: CodeVisionAVR

Вот хорошо написали, Асмовая вставка. А пример есть перемножения с 64 битным результатом в массиве беззнаковых чаров?

В общем сталкнулся с такой же проблемой. Прошу помощи у сообщества

обертка функции выглядит примерно так

PHP код:
unsigned long int x64result[2];

unsigned long int int64multiply(unsigned long int arg1, unsigned long int arg2)
{
unsigned long int x64result[2];

//на входе два двухсловных числа которые надо пеермножить с получением одного четырехсловного

//Шаг 1  - разложить оба числа по байтам


//Шаг 2 - перемножить 

//Шаг 3 - скомбинировать полученый результат условно сместив результат на 2 слова вправо
return x64result[1];
}

Перемножить все столбиком? 
__________________
Найди путь или проложи сам!

Последний раз редактировалось MasterMushi; 13.05.2013 в 02:37.
MasterMushi вне форума  
Сказали "Спасибо" MasterMushi
warel (28.06.2019)
Непрочитано 13.05.2013, 02:28  
MasterMushi
Вид на жительство
 
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
MasterMushi на пути к лучшему
По умолчанию Re: CodeVisionAVR

Пример на АСМе есть... но какбы это обустролить оперируя не регистрами а указателями на массивы байтов?

PHP код:
Умножение 32 разрядных чисел

формат:      32р*32р=64р


 ;*************************************************  **********
;*
;* Mul32 == 32x32 Bit Unsigned Multiplication
;*
;* mp32uL::mp32uH  x  mc32uL::mc32uH  =  m32uL::m32uH
;*   multiplier        multiplicand        result
;*  r20r21r22r23   x   r16r17r18r19   =  r20r21r22r23r24r25r26r27
;*
;*************************************************  **********
.macro mul32

.def    mc32u0    =r16    ; multiplicand byte 0 (LSB)
.def    mc32u1    =r17    ; multiplicand byte 1
.def    mc32u2    =r18    ; multiplicand byte 2
.def    mc32u3    =r19    ; multiplicand byte 3 (MSB)
.def    mp32u0    =r20    ; multiplier byte 0 (LSB)
.def    mp32u1    =r21    ; multiplier byte 1
.def    mp32u2    =r22    ; multiplier byte 2
.def    mp32u3    =r23    ; multiplier byte 3 (MSB)
.def    m32u0    =r20    ; result byte 0 (LSB)
.def    m32u1    =r21    ; result byte 1
.def    m32u2    =r22    ; result byte 2
.def    m32u3    =r23    ; result byte 3
.def    m32u4    =r24    ; result byte 4
.def    m32u5    =r25    ; result byte 5
.def    m32u6    =r26    ; result byte 6
.def    m32u7    =r27    ; result byte 7 (MSB)
.def    mcnt32u =r28     ; loop counter
       
Mul32:    clr    m32u7        ;clear 4 highest bytes of result
    clr    m32u6        ;
    clr    m32u5        ;
    sub    m32u4,m32u4      ;and carry
    ldi    mcnt32u,33            ;init loop counter
m32u_loop:   
    ror    m32u3                   ;rotate result and multiplier
    ror    m32u2       
    ror    m32u1       
    ror    m32u0       
    dec    mcnt32u               ;decrement loop counter
    breq    Return32u           ;if counter zero return
    brcc    m32u_skip          ;if bit 0 of multiplier set
    add    m32u4,mc32u0    ;add multiplicand to result
    adc    m32u5,mc32u1   
    adc    m32u6,mc32u2  
    adc    m32u7,mc32u3   
m32u_skip:    ror    m32u7 ;shift right result byte 7
    ror    m32u6                  ;rotate right result
    ror    m32u5       
    ror    m32u4       
rjmp    m32u_loop   
Return32u:   
.endmacro 
__________________
Найди путь или проложи сам!
MasterMushi вне форума  
Сказали "Спасибо" MasterMushi
warel (28.06.2019)
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
codevisionavr glcd i_bulat Микроконтроллеры, АЦП, память и т.д 1 16.03.2011 12:42
Расчет восхода/захода солнца в CodeVisionAVR C Compiler IOPA4 Микроконтроллеры, АЦП, память и т.д 4 15.02.2009 20:47
Помогите разобраться с USART в CodeVisionAVR vendim Микроконтроллеры, АЦП, память и т.д 20 26.07.2007 16:42
Библиотеки для CodeVisionAVR dimonbest Proteus, KiCAD и другие ECAD 2 17.05.2007 00:00


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


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