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

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

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

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

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

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

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

 
Опции темы
Непрочитано 08.12.2010, 12:35  
mironov
Вид на жительство
 
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
mironov на пути к лучшему
По умолчанию Вторая переменная, зависящая от первой

Помогите решить проблему. Программа на CVAVR.
Есть переменная, автоматически изменяющаяся в программе с шагом 1 от 0 до 7500.
Нужна вторая переменная, которая изменялась бы с шагом 1/10 от первой, т.е. с шагом кратным 75. Например 1-я достигла значения 75, 2-я стала 1. 1-я 150 2-я стала 2. 1-я 225 2-я стала 3 и т. д. до 1-я 7500 2-я равна 100.
Реклама:
mironov вне форума  
Непрочитано 08.12.2010, 12:40  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вторая переменная, зависящая от первой

Сообщение от mironov Посмотреть сообщение
Есть переменная, автоматически изменяющаяся в программе с шагом 1 от 0 до 7500.
Нужна вторая переменная, которая изменялась бы с шагом 1/10 от первой, т.е. с шагом кратным 75. Например 1-я достигла значения 75, 2-я стала 1. 1-я 150 2-я стала 2. 1-я 225 2-я стала 3 и т. д. до 1-я 7500 2-я равна 100.
Ну так делите первую на 75 и результат помещайте во вторую.
realid вне форума  
Непрочитано 08.12.2010, 12:46  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Вторая переменная, зависящая от первой

Если ресурсы времени не позволяют использовать деление, введите в процедуре инкремента первой переменной дополнительный счетчик на 75 и по его переполнению увеличивайте значение 2-й переменной. Расход ресурсов - 1 ячейка памяти данных и 10-12 машинных комманд (не больше, может и меньше)
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 08.12.2010, 12:54  
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Вторая переменная, зависящая от первой

Сообщение от mironov Посмотреть сообщение
Помогите решить проблему. Программа на CVAVR.
Есть переменная, автоматически изменяющаяся в программе с шагом 1 от 0 до 7500.
Нужна вторая переменная, которая изменялась бы с шагом 1/10 от первой, т.е. с шагом кратным 75. Например 1-я достигла значения 75, 2-я стала 1. 1-я 150 2-я стала 2. 1-я 225 2-я стала 3 и т. д. до 1-я 7500 2-я равна 100.
Ну делишь на 10 первую и присваиваешь второй. Делаешь это сразу после изменения значения первой переменной. На это вермя можно например прерывания отрубить
Gnider вне форума  
Непрочитано 08.12.2010, 12:59  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вторая переменная, зависящая от первой

Сообщение от Gnider Посмотреть сообщение
Ну делишь на 10 первую и присваиваешь второй. Делаешь это сразу после изменения значения первой переменной. На это вермя можно например прерывания отрубить
И что получится? Первая 225/10 = 22, а должно 3.
realid вне форума  
Непрочитано 08.12.2010, 15:22  
projects.org.ua
Заблокирован
 
Регистрация: 15.10.2010
Адрес: Kiev/Kharkov
Сообщений: 133
Сказал спасибо: 15
Сказали Спасибо 21 раз(а) в 21 сообщении(ях)
projects.org.ua на пути к лучшему
По умолчанию Re: Вторая переменная, зависящая от первой

Сообщение от mironov Посмотреть сообщение
Помогите решить проблему. Программа на CVAVR.
Есть переменная, автоматически изменяющаяся в программе с шагом 1 от 0 до 7500.
Нужна вторая переменная, которая изменялась бы с шагом 1/10 от первой, т.е. с шагом кратным 75. Например 1-я достигла значения 75, 2-я стала 1. 1-я 150 2-я стала 2. 1-я 225 2-я стала 3 и т. д. до 1-я 7500 2-я равна 100.
по идее достаточно этого, к примеру x=[0..7500], y=x/75;
if (!(x%75)) y++;
пара-тройка тактов процессора
projects.org.ua вне форума  
Непрочитано 08.12.2010, 15:29  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вторая переменная, зависящая от первой

Сообщение от projects.org.ua Посмотреть сообщение
по идее достаточно этого, к примеру x=[0..7500], y=x/75;
if (!(x%75)) y++;
пара-тройка тактов процессора
Так это тоже деление и никак не пара-тройка тактов. Быстро если есть аппаратный делитель.

Последний раз редактировалось realid; 08.12.2010 в 15:32.
realid вне форума  
Непрочитано 08.12.2010, 16:43  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Вторая переменная, зависящая от первой

Сообщение от realid Посмотреть сообщение
Так это тоже деление и никак не пара-тройка тактов.
+++
ИМХО как предложил МИСТЕРДИ таки оптимальнее ...
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
Непрочитано 08.12.2010, 17:17  
mironov
Вид на жительство
 
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
mironov на пути к лучшему
По умолчанию Re: Вторая переменная, зависящая от первой

Сообщение от MisterDi Посмотреть сообщение
Если ресурсы времени не позволяют использовать деление, введите в процедуре инкремента первой переменной дополнительный счетчик на 75 и по его переполнению увеличивайте значение 2-й переменной. Расход ресурсов - 1 ячейка памяти данных и 10-12 машинных комманд (не больше, может и меньше)
Вариант устраивает лучше других.
Подробней можно? Пару строчек кода?

Модератору! Как теперь писать и отвечать? Пока эти два слова расшифруешь крыша едет.
Неужели нельзя как раньше без фокусов. Для кого это?
mironov вне форума  
Непрочитано 08.12.2010, 17:24  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Вторая переменная, зависящая от первой

Сообщение от MisterDi Посмотреть сообщение
Если ресурсы времени не позволяют использовать деление, введите в процедуре инкремента первой переменной дополнительный счетчик на 75 и по его переполнению увеличивайте значение 2-й переменной. Расход ресурсов - 1 ячейка памяти данных и 10-12 машинных комманд (не больше, может и меньше)
А где у mironov сказано, что переменная будет инкрементироваться. Я так понял, что "автоматически изменяющаяся", т.е. могущая принять любое значение, но автоматически. Что значит "автоматически" - не понял вообще..
Значит параллельный инкремент напрочь отлетает, только вычислителем.
Или не так, mironov?

Последний раз редактировалось ut1wpr; 08.12.2010 в 17:27.
ut1wpr вне форума  
 

Закладки
Опции темы

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

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

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


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


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