Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
10.03.2012, 01:00
|
#151
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: И снова ШИМ
Сообщение от SAHA_T
|
КАК БЫТЬ ?
|
Сделай пока общее гашение/зажигание . Отработай пока движок , а там посмотрим...
И код выкладывай .
Странно побуквенное зажигание не должно много весить...
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 10.03.2012 в 01:05.
|
|
|
|
10.03.2012, 01:40
|
#152
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: И снова ШИМ
Просто общее гашение и на 1 Шим сделать можно через диоды, а вот по буквенно я сам прозрел.
так в принципе исходник просто 15 циклов на каждую букву на яркость и 15 циклов на каждую букву на гашение светодиода. И еще есть ли в МК такое понятие как рекурсия ?
for(i=0;i‹128;i++) {
Kanal_0=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_1=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_2=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_3=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_4=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_5=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_6=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_7=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_8=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_9=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_10=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_11=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_12=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_13=i;
_delay_ms(n);
}
_delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_14=i;
_delay_ms(n);
}
_delay_ms(3000);
и уже 60кв, когда ставлю гашение то 90 с чем то весит, почему так много ? и как быть в данной ситуации ?
|
|
|
|
10.03.2012, 01:44
|
#153
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: И снова ШИМ
Общий свечение и гашение я уже сделал и весит 19 кв а вот по буквенно чет совсем странно. О рандоме букв уже и речи не может идти
|
|
|
|
10.03.2012, 01:52
|
#154
|
Почётный гражданин KAZUS.RU
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
|
Re: И снова ШИМ
Сообщение от SAHA_T
|
так в принципе исходник просто 15 циклов на каждую букву на яркость и 15 циклов на каждую букву на гашение светодиода. И еще есть ли в МК такое понятие как рекурсия ?
|
Я бы советовал приземлиться, и для начала добить просто фиксированный ШИМ для заданного количества каналов. Задавать разные значения яркости, сравнить соотношения яркости при разных значениях параметра. Выяснить, надо ли 127 градаций, или достаточно будет 63 или вовсе ограничиться 31.
Разобраться со способом выравнивания яркостей между буквами. Или на каждый светодиод ставить маленький резистор, или на всю группу один, а потом подгонять яркость ШИМом.
В результате будет отлаженная аппаратная часть, и отлаженная процедура многоканальной регулировки яркости. И потом останется мелочь - добавлять разные эффекты. А пока они будут отлаживаться, все буквы уже смогут светиться, и завлекать доверчивых покупателей.
|
|
|
|
10.03.2012, 02:09
|
#155
|
Частый гость
Регистрация: 04.10.2007
Адрес: Запорожье
Сообщений: 43
Сказал спасибо: 8
Сказали Спасибо 14 раз(а) в 13 сообщении(ях)
|
Re: И снова ШИМ
Сообщение от SAHA_T
|
Общий свечение и гашение я уже сделал и весит 19 кв а вот по буквенно чет совсем странно. О рандоме букв уже и речи не может идти
|
Не в AVR Studio ли делаешь? Дурной вопрос - а оптимизация при компиляции включена? В Студии из-за этого размер хекса может отличаться на порядок
|
|
|
|
10.03.2012, 02:22
|
#156
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: И снова ШИМ
Alex9797 Ты как всегда читаешь между страниц )
Я же писал что все сделано плата собрана сопротивления стоят на каждый диод плавное повышение и понижение яркости для всех светодиодов работает теперь хочу сделать по букве.
leartis да я делаю в AVR Студии 5, первый раз слышу про оптимизацию при компиляции, что это такое и как ее поставить ?
Последний раз редактировалось SAHA_T; 10.03.2012 в 02:32.
|
|
|
|
10.03.2012, 02:58
|
#157
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: И снова ШИМ
Сейчас открыл студию 4 там залез в настройки и нашел оптимизацию -Os размер исходника уменьшился но все равно 15 циклов на яркость и гашения весят уже 43кв это с оптимизацией
Я просмотрел изменение размена Нех почле каждого цикла, получается каждый цикл добавляет 2кв
Последний раз редактировалось SAHA_T; 10.03.2012 в 03:05.
|
|
|
|
10.03.2012, 03:15
|
#158
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: И снова ШИМ
Сообщение от SAHA_T
|
а тут поочередное появление 15
|
у вас сколько строк то? в букве? обычно 8-9. При ширине в 8 (один байт) получаем 9 байт на букву, 9*15=135 байт на таблицу символов из 15 элементов.
Или я чего то не понимаю?
|
|
|
|
10.03.2012, 03:18
|
#159
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: И снова ШИМ
а, пару страниц не углядел. А что мешает кодв начале этой страницы сделать процедуркой и передавать туда параметры?
|
|
|
|
10.03.2012, 03:20
|
#160
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: И снова ШИМ
Сообщение от SAHA_T
|
каждый цикл добавляет 2кв
|
Это из-за макроса _delay_ms(n). Его надо заменить функцией, типа
Код:
|
void delay_ms(int n)
{
int i;
for(i=0;i‹n;i++) _delay_ms(1);
} |
и вызывать эту только функцию
Код:
|
...
delay_ms(m);
for(i=0;i‹128;i++) {
Kanal_7=i;
delay_ms(n);
}
... |
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:15.
|
|