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

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

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

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

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

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


 
Опции темы
Непрочитано 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 посвежее/
Можно на мыло petrovav74@mail.ru. Заранее при много благодарен.
Реклама:
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.RU
 
Регистрация: 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.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
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 arg1unsigned 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
[Решено] Файл лицензии codevisionavr 10.17 или выше chip Делимся опытом 7 31.10.2004 16:41


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


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