Технический форум
Вернуться   Технический форум > Программирование > Форум программистов


Ответ
 
Опции темы Опции просмотра
Старый 09.09.2011, 12:12   #1 (permalink)
IvanumASS
Новичок
 
Регистрация: 14.03.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Вопрос по Arduino

Есть тут люди, использующие эту штуковину? Спросить у вас хочу.
Вопрос касательно оператора switch. Как в него можно запихать конструкцию, содержащую ШИМ, в смысле управление яркостью светодиода?
конструкция типа этой:

int brightness = 0;
fadeAmount = 5;

switch (wMode)
{
case 1:
analogWrite (9, brightness);
brightness = brightness + fadeAmount;

if (brightness == 0 || brightness == 255)
{
fadeAmount = -fadeAmount ;
}
delay (30)
break;

case 2:
//******
break;
}

Это только свитч, без остальных кусков программы. При нажатии кнопки к переменной wMode плюсуется один, режим переключается. ШИМ без свитч работает нормально, но запихиваешь его в switch и, такое впечатление, что счетчик плюсует fadeAmaunt только один раз, и скидывает, походу из-за break. Как можно сделать так, чтобы ШИМ работал нормально?
IvanumASS вне форума   Ответить с цитированием

Старый 09.09.2011, 12:12
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Схожие по содержанию темы помогут вам разобраться в проблеме

Часы с кукушкой на Arduino
Вопрос по С++
Вопрос о SSD
Программка для Arduino Diecimila
Вопрос по СВО

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

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

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




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.