| 
					
						 Делаю сигнализацию... Постановка на сигнализацию - нужно позвонить на заданный номер, снимается трубка (запускается timer_0 на 10 sec). Если в течении 10 сек пришла "2" с dtmf-декодера (IL9270) - положить трубку,включить задержку - 25 сек и если датчик исправен - поставить на сигнализацию. Если пришла неверная цифра, или в течении 10 сек вообще не нажато никакой цифры - положить трубку. Затем при сработке датчика запустить timer_1 и сделать 3 дозвона. Все работает отлично: снятие трубки,дозвон,сброс если вызывать сработку сразу, т.е. 5 - 30 мин после постановки на охрану, каждый раз время разное, иногда и через пол-дня работает нормально. Но иногда через час - два, опять же время каждый раз разное, может на 1-й сработке выключить телефон,может на 2-й, что-то происходит с timer_1, что функци delay в ISR(TIMER1_OVF_vect), которые отвечают за длительность сброса работают некорректно и телефон выключается. Уже весь мозг себе вынес - 3 недели долбаюсь, все безрезультатно ... Компилятор WinAvr . Вычитал на форумах про оптимизацию кода,может это она морочит голову. Пытался ее отключить - не работает без нее библиотека delay.h  Подскажите направление, в котором копать ... 
					
						
  
						
						
							| Вложения:  | 
						 
						
							
								
			
				  
				dtmf.rar [1.8 КБ]
			 
			Скачиваний: 1855
		
		 
	 | 
							 
						
						 
					
						
					 |