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

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

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

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

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

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

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

 
Опции темы
Непрочитано 27.06.2012, 01:59  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
Печаль помогите оптимизировать прогу для ШИМа...

Я написал прогу для 3-ех ШИМ. Управляю RGB-светодиодом. Строк получилось штук 30 и заняло памяти в атмеге 8 20%. Кто-нибудь может подсказать как лучше оптимизировать код?.... скажем так по универсальнее его может сделать...

пример куска кода )))
if ((RED==255)&&(GREEN==255)&&(BLUE==255)&&(R==0)&&(G ==0)&&(B==0)&&(C==0)) {RED-=15;C=1;};

if ((RED›0)&&(RED‹255)&&(GREEN==255)&&(BLUE==255)&&(R ==0)&&(G==0)&&(B==0)&&(C==0)) {RED-=15;C=1;};

if ((RED==0)&&(GREEN==255)&&(BLUE==255)&&(R==0)&&(G== 0)&&(B==0)&&(C==0)) {R=1;C=1;};

if ((RED==0)&&(GREEN==255)&&(BLUE==255)&&(R==1)&&(G== 0)&&(B==0)&&(C==0)) {GREEN-=15;C=1;};
Реклама:
miwutka вне форума  
Сказали "Спасибо" miwutka
warel (29.06.2019)
Непрочитано 27.06.2012, 02:14  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: помогите оптимизировать прогу для ШИМа...

Сообщение от miwutka Посмотреть сообщение
Строк получилось штук 30 и заняло памяти в атмеге 8 20%. Кто-нибудь может подсказать как лучше оптимизировать
Поздравляю, у Вас талант на самое быстрое заполнение памяти МК.
А если серьезно, эти строки ни о чем не говорят, выложите всю программу.
nonamedov вне форума  
Сказали "Спасибо" nonamedov
warel (29.06.2019)
Непрочитано 27.06.2012, 02:23  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: помогите оптимизировать прогу для ШИМа...

Хотя нет, можно, преписав эти строки на ассемблере.
nonamedov вне форума  
Сказали "Спасибо" nonamedov
warel (29.06.2019)
Непрочитано 27.06.2012, 02:37  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: помогите оптимизировать прогу для ШИМа...

решено своими силами обошлось в 10 строк ))

Последний раз редактировалось miwutka; 28.06.2012 в 11:53.
miwutka вне форума  
Сказали "Спасибо" miwutka
warel (29.06.2019)
Непрочитано 27.06.2012, 02:39  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: помогите оптимизировать прогу для ШИМа...

вот весь код. По нажатию на кнопку происходит пошаговое изменение цвета на светодиоде-РЖБ. Хочу оптимизировать както.......
miwutka вне форума  
Сказали "Спасибо" miwutka
warel (29.06.2019)
Непрочитано 27.06.2012, 11:57  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: помогите оптимизировать прогу для ШИМа...

А разве в меге8 нет аппаратных шимов? Или возьми мегу48 у нее 6 шимов, вообще ничего тормозить не будет
niXto вне форума  
Сказали "Спасибо" niXto
warel (29.06.2019)
Непрочитано 27.06.2012, 11:59  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: помогите оптимизировать прогу для ШИМа...

Сообщение от miwutka Посмотреть сообщение
По нажатию на кнопку происходит пошаговое изменение цвета на светодиоде-РЖБ
Расскажите по-подробнее своими словами как именно изменяется, а то за кучей условий if() не видно леса
Yurkin2007 вне форума  
Сказали "Спасибо" Yurkin2007
warel (29.06.2019)
Непрочитано 27.06.2012, 12:08  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: помогите оптимизировать прогу для ШИМа...

miwutka, Это не оптимизировать надо -ЭТО надо переписывать полностью .

ЗЫ Под авр вы пишите еще хуже .Так что пики совсем не причем ...
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
warel (29.06.2019)
Непрочитано 27.06.2012, 12:38  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: помогите оптимизировать прогу для ШИМа...

Судя по всему Вы не умеете строить циклы, например, чтобы получить все цвета радуги можно написать так:
Цитата:
red = 0;
grin = 255;
blue = 255;
while (mode==M) /*проверка номера M цветового эффекта*/
{
for (i=0; i ›= 255; i++) /* цикл перехода (переливания) с красного на зеленый*/
{
red++;
grin--;
delay_ms(N); // задержка на N миллисекунд
};
for (i = 0; i ›= 255; i++) /* цикл перехода с зеленого на синий */
{
grin++;
blue--;
delay_ms(N);
};
for (i = 0; i ›= 255; i++) /* цикл перехода с синего на красный,
цвета не из радуги, но как то надо же вернуться на начальное состояние */
{
blue++;
red--;
delay_ms(N);
};
};
Конечно можно построить и функцию прехода от одного цвета к другому, которая бы сделала бы программу короче, но учитывая простоту алгоритма эффекта от нее отказался, к тому же тогда придется применить указатели.

PS. Замечу, что Ваш алгоритм я не понял и даже особо не старался, но , думаю, в случае чего Вы сами разберетесь и измените код под свои нужды.

Последний раз редактировалось nonamedov; 27.06.2012 в 12:43.
nonamedov вне форума  
Эти 2 пользователя(ей) сказали Спасибо nonamedov за это сообщение:
miwutka (27.06.2012), warel (29.06.2019)
Непрочитано 27.06.2012, 14:11  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: помогите оптимизировать прогу для ШИМа...

вроде понял как упростить. Сначала всё потушено.Там по алгоритму по цветовой палитре из паинта переход от красного по цветам радуги и до красного, а потом белый зажигаеться и тухнет )) Упомянули про указатели. Сколько читал про них - не могу понять как они работают. Может кто может объяснить попутно...?
Сообщение от nonamedov Посмотреть сообщение
чтобы получить все цвета радуги
непойму как получаться цвета радуги если одновременно два цвета будут светиться только при 127 числе. Половина диапазона цвета не отобразиться, или я чегото не понял?
miwutka вне форума  
Сказали "Спасибо" miwutka
warel (29.06.2019)
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] UC3843 скважность ШИМа 50% ???? artstonecnc Источники питания и свет 21 05.02.2011 00:33
Нарыл новую (для меня) прогу FLOWCODE NikMih_1 Proteus, KiCAD и другие ECAD 4 15.10.2010 19:18
Из ШИМа - аналог. vo1 Микроконтроллеры, АЦП, память и т.д 17 24.12.2009 14:54
Пишу прогу частотомера на at90s2313 fiksx Микроконтроллеры, АЦП, память и т.д 20 17.10.2008 17:18
Ищу прогу для работы с i2c ipkin Микроконтроллеры, АЦП, память и т.д 4 21.12.2007 16:07


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


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