| 
 | 
		
			
  | ||||||||
  
  
	 | 
	
  | 
| 
		 | 
  464361  
  536  
  46  
  31
 | 
            
 | 
Опции темы | Поиск в этой теме | 
| 
			
			 | 
		
			 
			
 
221
 
			
		 | 
	
||
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	
 Затуп был в том, что не проследил, что нет сбросов WD нигде дальше в этом случае. Цитата: 
	
 Вопрос был в том, каким образом обработчик входит в этот цикл. Ну, в свете ответа на предыдущий вопрос, можно предположить, что после любого нажатия кнопки после смены акка WD его обрабатывает до Р=0 и остается взведенным при Power не 0. Как то так.  | 
||
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
222
 
			
		 | 
	
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
223
 
			
		 | 
	
|
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			ceramic, коль уж так, последний вопрос по вашей прошивке, все стеснялся спросить. 
		
		
		
		
		
		
		
	Почему включение/выключение обрабатывается таким образом Цитата: 
	
 а не , например else if ((Power == 0) & (B == 1)) {Power = 1;Nmodes=0; } else if ((Power == 1) & (B == 1)) Off(); goto m2;  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
224
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 
					Сообщений: 3969
 Сказал(а) спасибо: 529 
		
			
				Поблагодарили: 921 раз(а) в 628 сообщениях
			
		
	  | 
	
	
	
		
              
			 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
225
 
			
		 | 
	
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
226
 
			
		 | 
	
|
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 
					Сообщений: 7998
 Сказал(а) спасибо: 934 
		
			
				Поблагодарили: 5204 раз(а) в 2785 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	Немного сумбурно написано, но где-то так. [Исправлено: ceramic, 03.04.2015 в 22:07]  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| Поблагодарили: 1 раз | 
			 Alex63 (04.04.2015) 
			
		 | 
		
| 
			
			 | 
		
			 
			
 
227
 
			
		 | 
	
|
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 
					Сообщений: 3969
 Сказал(а) спасибо: 529 
		
			
				Поблагодарили: 921 раз(а) в 628 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	![]() оно там скачет по программе туда-сюда я даже не лез в этот кусок со своими переделками. Хотя в моих прошивках используется совсем мало вариантов нажатий и такого большого куска не нужно. Вполне б хватило длинного нажатия для вкл/выкл и одиночный/двойной короткий клик, как у Тамагочи, для выбора режимов (моде, стробы....)  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
228
 
			
		 | 
	
|
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	
 Спрошу конкретней- если if ((Power == 0) || (B == 1)) Off(); поменять на if ((Power == 1) & (B == 1)) Off(); что нибудь изменится?  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
229
 
			
		 | 
	
|
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	
 !) как в изначальной прошивке ceramic пост 1 (и увас в прошивке с термоконтролем) - когда считаются ДК, но не отрабатываются переключения при удержании, 2) как в v.4, с которой в основном разбираюсь - отрабатывается переключение при удержании, но не считаются ДК Собственно, я разбираюсь со всем этим чтобы решить задачу возможности ШИМа и на другой ноге, кроме 5. Тут варианты - сделать запуск по другой ноге, т е переделать обработку кнопки, и тогда можно воспользоваться 6 ногой как выходом с ШИМ на дальний, или же оставить отработку кнопки как есть и программно организовать ШИМ на 3 ноге. Решается ли она в объеме памяти ATtini 13 неясно, пока развлекаюсь. Прежде чем переползать например на 85, хочу разобраться с возможностями 13 до конца. У вас очень интересные доработки - и с настраиваемыми режимами, и с термоконтролем (хотя нужность последнего ИМХО по жизни сильно завышена). Удачи во всем!  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
230
 
			
		 | 
	
|
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	Почему то иногда при отпускании кнопки с перебора режимов удержанием уже загоревшийся режим перескакивает в младший (на фонаре реже, на макетке от 1 до 4 переборов из 10), и приходится его довключать еще раз. У вас такое было? Мои попытки разобраться привели лишь к одному предположению - где то из за дребезга формируется доп сигнал КК, прибавляется к В=10, переводя его в 11. Но вроде по логике работы это невозможно? [Исправлено: Alex63, 04.04.2015 в 08:22]  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
231
 
			
		 | 
	
|
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			По ходу все так и есть - дребезг при отпускании дает такой эффект. Если при отпускании через 16 мс нога из за дребезга опознается обработчиком прерывания WD как 0, то присвоится Р=2, затем по след фронту Р=3 в обработчике INT0 и затем запишется 1 в 0 бит в дополнение к 10. 
		
		
		
		
		
		
		
		
			Для проверки прописал if B<10 вместо B!=10 в обработчике WD в части Цитата: 
	
 [Исправлено: Alex63, 04.04.2015 в 09:21]  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
232
 
			
		 | 
	
||
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 
					Сообщений: 3969
 Сказал(а) спасибо: 529 
		
			
				Поблагодарили: 921 раз(а) в 628 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	Цитата: 
	
 Но мне кажется не получится из-за того, что мы обрабатываем INT0 на шестой ноге. ![]() А без него будет постоянно включенным МК, как в веломании версии. Там выключенный фонарь - это просто 0 заполнения ШИМ. Посмотрите http://forum.velomania.ru/s... INT0 может работать в четырёх рехимах: 1.По низкому уровню на ноге, 2.По изменению уровня на ноге, 3.По спадающему фронту, 4.по повышающему фронту. А PCINT(0-5) может работать только по изменению уровня [Исправлено: MSS, 04.04.2015 в 12:41]  | 
||
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
233
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 
					Сообщений: 3969
 Сказал(а) спасибо: 529 
		
			
				Поблагодарили: 921 раз(а) в 628 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Alex63, вы как разберетесь, выкладывайте тоже свой файл проекта с коментариями  
		
		
		
		
		
		
		
	  интересно будет всем кто пытается разобраться
		 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
234
 
			
		 | 
	
|||
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	В варианте 2) (v4) удержание активно - оно раз в 0,5 сек меняет режим свечения, зато ДК не считаются в обработчике и не используются в управлении Цитата: 
	
 Цитата: 
	
 Что хочется - -строб, - управление 2 ШИМами независимо и одновременно, - термоконтроль, - два режима настраиваемые Похоже, пора осваивать 85. [Исправлено: Alex63, 04.04.2015 в 19:11]  | 
|||
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
235
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 
					Сообщений: 3969
 Сказал(а) спасибо: 529 
		
			
				Поблагодарили: 921 раз(а) в 628 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			как будет готовое, может и поможет кто из опытных с оптимизацией
		 
		
		
		
		
		
		
		
	 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
236
 
			
		 | 
	
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Добрый! 
		
		
		
			Для начала - разбираюсь, можно ли вытащить 13А из PjwerDown прерыванием по PCINT. Для этого использую макетку, с которой разбирался с драйвером v4 - лень перепаивать Прописал простейшую проверку - все работает, диоды мигают как прописано. Правда, тут я еще не в полную спячку погрузил, не отключил часть функций, потребление 22 мка, но следующим шагом, да. Прерывание отрабатывает. [Исправлено: Alex63, 06.04.2015 в 15:01]  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| Поблагодарили: 1 раз | 
			 MSS (06.04.2015) 
			
		 | 
		
| 
			
			 | 
		
			 
			
 
237
 
			
		 | 
	
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Чуть дописал, чтобы все погасить, как в v4 
		
		
		
		
		
		
		
		
			Потребление 0,1 - 0,2 мка. Кнопка четко срабатывет. Занимает эта хрень 264 байта. Вывод (промежуточный) - вполне можно посадить любую (в смысле 2 или 3) ножку AT13А на прерывание PCINTO, оно уверенно выводит из самого глубокого сна. Что при этом будет с величиной программы, еще надо проверять. MSS, вы использовали терморезисторы - как у них меняется сопротивление от температуры? Я просто думаю, может по упрощенному алгоритму можно объединить сборос режимов по измерению напруги на делителе со сбросом по критической температуре аппаратно, подобрав номиналы делителя и сделав его термозависимым. [Исправлено: Alex63, 06.04.2015 в 15:48]  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
238
 
			
		 | 
	
| 
			 
			 Век живи, век учись. 
			
 
			
			
				
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			Добрый день. судя по развитию событий в теме не буду спешить собирать фонарь в котором ближний или дальний переключается силовой кнопкой. 
		
		
		
		
		
		
			 
		
				__________________ 
		
		
		
		
	С Уважением Валерий.  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
239
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 
					Сообщений: 3969
 Сказал(а) спасибо: 529 
		
			
				Поблагодарили: 921 раз(а) в 628 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			AVTOELEKTRIK, так можно и лето прождать  
		
		
		
		
		
		
		
	  собирайте не наглухо.Alex63, NTC - с ростом температуры сопротивление падает. Вот с 10кОм терморезистором https://forum.fonarevka.ru/... напряжение падало от 0хBC до 0х69 Но я думаю это плохая идея, легко угробить можно батарею. Если это для высвобождения ножки - то лучше отказаться тогда от термоконтроля и если будет место таймер делать на макс режим. В ветке Тамагочи по линейнику так и сделали в итоге.  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
240
 
			
		 | 
	
||
| 
			 
			 Увлеченный 
			
 
			
			
  
			Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 
					Сообщений: 475
 Сказал(а) спасибо: 44 
		
			
				Поблагодарили: 271 раз(а) в 117 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	Цитата: 
	А идея очень проста - если включить терморезистор в нижнее плечо делителя измерения питалова (возможно, + последовательно и/или параллельно с другим резистором), то при небольших прогревах все будет как обычно, а при сильном Rt как бы "просадит" видимое МК напряжение питания и уведет в зону понижения моды. Есть минусы в таком решении - на горячем фонаре питание будет меряться некорректно, зато просто, понятно, не надо отдельно ничего прописывать в программе и как бы защита на дурной случай. По PCINT. Переделал основную программу v4 на это прерывание, все работает почти нормально, памяти занимает столько же, как и было.Появились два мелких трабла - иногда драйвер 2кк понимает как 1кк + 1кк - почему то не работает таймер на сброс старшего режима (ну это через раз и раньше было, возможно тут дело не в PCINT сбросе.) Завтра на свежую голову разберусь. А вообще для драйвера моя макетка экстрим - хуже кнопки в фонаре вряд ли встретишь, дребезжит так не по детски, и на замыкание и на размыкание. Зато баги легко ловить. [Исправлено: Alex63, 06.04.2015 в 18:54]  | 
||
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| Поблагодарили: 1 раз | 
			 MSS (06.04.2015) 
			
		 |