Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
16.03.2011, 01:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
Сообщение от CodeNameHawk
|
Если схема не менялась, должна ловиться.
|
Я про настройки прерываний.
Код:
|
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: On
// INT1 Mode: Falling Edge
GICR|=0xC0;
MCUCR=0x0A;
GIFR=0xC0; |
нету ничего...
|
|
|
|
16.03.2011, 15:24
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
Сообщение от omercury
|
Я про настройки прерываний.
|
Понял, я так досконально не смотрел, только принцип работы.
|
|
|
|
16.03.2011, 23:15
|
|
Вид на жительство
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
"народ может мне кто подскажет с моим кодом, делаю подобное (проше без пульта ИК), не могу заставить чтобы код кнопки понимал! тема по соседству! "
См. вложение.
|
|
|
|
17.03.2011, 16:49
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
Сообщение от mironov
|
"народ может мне кто подскажет с моим кодом, делаю подобное (проше без пульта ИК), не могу заставить чтобы код кнопки понимал! тема по соседству! "
|
Код:
|
void keyboard(void)
{
mode = 3;
if(PIND.6==0) //удерживаем Нажали кнопку "-"
{
mode=1; //медленно снижать яркость
}
if(PIND.5==0) //удерживаем Нажали кнопку "+"
{
mode=2; //медленно повышать яркость
}
} |
Используйте протеус для "отладки", не для наблюдения "а что тут у меня получилось"
Последний раз редактировалось CodeNameHawk; 17.03.2011 в 16:57.
|
|
|
|
18.03.2011, 11:56
|
|
Временная регистрация
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
Сообщение от CodeNameHawk
|
Какая длина открывающего тиристор импульса?
И что происходит при 5% яркости, я так понимаю вы подаете открывающий импульс по истечении 0.0095 сек и если длина открывающего импульса больше 0.0005 (0.01-0.0095) будет пропуск.
|
Длина импульса 100 мкс. Идею понял. Попробую уменьшить до 25-35 мкс.
Сообщение от omercury
|
Код:
|
if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1) + 1; //первый байт - прямой адрес |
и
Код:
|
if (b_cnt ›= 9 && b_cnt ‹ 17) addr_0 = (addr_0 ‹‹ 1) + 1; //второй байт - инверсный адрес |
и так далее...
Сможете объяснить, зачем второй раз проверять счётчик, что он больше или равен 9-ти? То, что меньше Вы уже отсекли первым условием
|
А вот это не понял. Не соображу. А как иначе то??? И почему второй раз??? Где первый?
|
|
|
|
18.03.2011, 12:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
вот же.
Код:
|
if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1) + 1; goto label_1;
if (b_cnt ‹ 17) addr_0 = (addr_0 ‹‹ 1) + 1; goto label_1;
if (b_cnt ‹ 25) cmd_1 = (cmd_1 ‹‹ 1) + 1; goto label_1;
cmd_0 = (cmd_0 ‹‹ 1) + 1;
label_1: |
Так не быстрее?
Можно ещё ускорить, но возможно, компилятор это сделает сам...
Последний раз редактировалось omercury; 18.03.2011 в 12:38.
|
|
|
|
18.03.2011, 12:38
|
|
Временная регистрация
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
Всё равно не понимаю.
Если b_cnt, например, равен 5, то это удовлетворяет всем трем условиям:
Код:
|
if (b_cnt ‹ 9) ;
if (b_cnt ‹ 17);
if (b_cnt ‹ 25); |
|
|
|
|
18.03.2011, 12:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
Это в том случае, если после выполнения первого условия проверять остальные. Я не проверяю - условие уже выполнено.
Ладно. Забейте. Пульт работает.
Проблема видимо здесь
PHP код:
|
/*========================================= УВЕЛИЧЕНИЕ/УМЕНЬШЕНИЕ ЯРКОСТИ =======================================*/
if (cmd == 0b11111000) { // кнопка "Display" - увеличение яркости TCCR1B=0x02; status++; if (status ›= 98) { и так далее...
|
Последний раз редактировалось omercury; 18.03.2011 в 13:01.
|
|
|
|
18.03.2011, 14:09
|
|
Временная регистрация
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
Код:
|
if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1) + 1; goto label_1;
if (b_cnt ‹ 17) addr_0 = (addr_0 ‹‹ 1) + 1; goto label_1;
if (b_cnt ‹ 25) cmd_1 = (cmd_1 ‹‹ 1) + 1; goto label_1;
cmd_0 = (cmd_0 ‹‹ 1) + 1;
label_1: |
Ну понял в принципе. Но до такой степени считаю не надо заморачиваться. Оставлю как есть. Прием команд четко работает.
Последний раз редактировалось mr_smit; 18.03.2011 в 14:17.
|
|
|
|
18.03.2011, 14:15
|
|
Временная регистрация
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Задержки при плавной регулировке. Диммер с ДУ
Сообщение от omercury
|
Проблема видимо здесь
|
Я об этом и писал. При запуске таймера что то не то. Пробовал делать status = 3 (мало ли близко к 0 что то перекрывается), но нет, то же самое.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:43.
|
|