| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
И снова ШИМ
04.03.2012, 00:59
|
|
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: И снова ШИМ
dosikus Это я увидел таблицу вот эту таблицу
положение бита вес
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
в виде кода
т.е мы каждому биту присвоили значение яркости
|
|
|
|
04.03.2012, 01:03
|
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: И снова ШИМ
Сообщение от SAHA_T
|
|
dosikus Это я увидел таблицу вот эту таблицу
|
Если вы про BAM , то там все намного сложней .
"Вес" бита яркости равен длительности прерывания.
ЗЫ начните все же с понимания софтового ШИМ ...
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 04.03.2012 в 01:07.
|
|
|
|
Сказали "Спасибо" dosikus
|
|
|
04.03.2012, 01:10
|
|
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: И снова ШИМ
чет я запутался
|
|
|
|
04.03.2012, 01:16
|
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: И снова ШИМ
Сообщение от SAHA_T
|
|
чет я запутался
|
Не мудрено , попробуйте пока это - https://kazus.run/forums/showpost.ph...3&postcount=30
__________________
Осторожно , злой кот
|
|
|
|
Сказали "Спасибо" dosikus
|
|
|
04.03.2012, 01:19
|
|
|
Частый гость
Регистрация: 04.10.2007
Адрес: Запорожье
Сообщений: 43
Сказал спасибо: 8
Сказали Спасибо 14 раз(а) в 13 сообщении(ях)
|
Re: И снова ШИМ
И от меня еще примерчик
А еще лучше, если увеличивать/уменьшать яркость не линейно, а, скажем, по таблице синусов.
Но это следующий этап.
Последний раз редактировалось leartis; 04.03.2012 в 01:26.
|
|
|
|
Эти 2 пользователя(ей) сказали Спасибо leartis за это сообщение:
|
|
|
04.03.2012, 01:25
|
|
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: И снова ШИМ
Сообщение от SAHA_T
|
|
чет я запутался
|
Бесплатный совет...
Если у вас нет опыта, уверенности, то сделайте сначала девайс с минимальным функционалом, с более простыми эффектами, без шим... типа базовый вариант, но с устойчивой, безотказной работой... Иначе ваш проект так и останется на бумаге или разочарует своей работой...
|
|
|
|
Эти 2 пользователя(ей) сказали Спасибо st__1 за это сообщение:
|
|
|
04.03.2012, 01:26
|
|
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: И снова ШИМ
Чем больше я вникаю в это, тем глупей я кажусь
|
|
|
|
04.03.2012, 01:28
|
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: И снова ШИМ
leartis, Если сделать как у меня , избавишься от else ... Спасибо tester'у.
Ну и посмотри о счетчике . Хоть немного но код ужмем...
Сообщение от dosikus
|
|
Код:
|
static unsigned char Counter ;
static unsigned char Data = 0;
PWM_PORT = Data;
if((Counter++)›=PWM_MAX)Counter=0;
Data = 0;
if (Counter ‹ PWM_val[0]) Data |= 0x01;
if (Counter ‹ PWM_val[1]) Data |= 0x02;
if (Counter ‹ PWM_val[2]) Data |= 0x04;
if (Counter ‹ PWM_val[3]) Data |= 0x08;
if (Counter ‹ PWM_val[4]) Data |= 0x10;
if (Counter ‹ PWM_val[5]) Data |= 0x20;
if (Counter ‹ PWM_val[6]) Data |= 0x40;
if (Counter ‹ PWM_val[7]) Data |= 0x80; |
Код исполняемый в прерывании . Пока для одного порта .
Counter - число градаций .
Причем если число градаций степень двойки , можно юзать такой счетчик :
Например число градаций 128 - 0b10000000.
|
Код:
|
#define PWM_MAX 0x7F // 0b01111111
Counter++;
Counter &= PWM_MAX; |
|
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 04.03.2012 в 01:31.
|
|
|
|
Сказали "Спасибо" dosikus
|
|
|
04.03.2012, 01:30
|
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: И снова ШИМ
Сообщение от st__1
|
|
Бесплатный совет...
|
Ну Стас как всегда прав ...
__________________
Осторожно , злой кот
|
|
|
|
Сказали "Спасибо" dosikus
|
|
|
04.03.2012, 01:31
|
|
|
Частый гость
Регистрация: 04.10.2007
Адрес: Запорожье
Сообщений: 43
Сказал спасибо: 8
Сказали Спасибо 14 раз(а) в 13 сообщении(ях)
|
Re: И снова ШИМ
dosikus, согласен совершенно. Я делал "в лоб" и как обычно в рекламе, "на вчера"
|
|
|
|
Сказали "Спасибо" leartis
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
СНОВА ЖКИ
|
Gladkih |
Микроконтроллеры, АЦП, память и т.д |
0 |
27.12.2009 23:48 |
|
И снова блютуз!
|
Haulpak |
Ремонт оргтехники |
0 |
10.03.2009 05:06 |
|
Снова DNA1001
|
R666 |
Информация по радиокомпонентам |
0 |
25.01.2008 16:39 |
|
И снова температура
|
ua_gruzin |
Поиск схем. Делимся схемами |
0 |
14.02.2007 01:18 |
Часовой пояс GMT +4, время: 15:00.
|
|