Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 03.09.2017, 11:29  
AVRkin
Прописка
 
Аватар для AVRkin
 
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
AVRkin на пути к лучшему
По умолчанию конвертер пультов на arduino

код выполняется только один раз и зависает после irsend.sendNEC(0xFFDA25, 32);


цикл и условия работают если закомментировать строку irsend.sendNEC(0xFFDA25, 32);

почему так происходит?



Код:
#include IRremote.h
IRsend irsend;

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
  Serial.println("Enabled");
}

void loop() {
  if (irrecv.decode(&results)) //this checks to see if a code has been received
  { Serial.println(results.value, HEX);

    if (results.value == 0xA32AB931)
    {
      delay(1000);
      irsend.sendNEC(0xFFDA25, 32);
      Serial.println("irsend");
    }
    Serial.println("irsent");
    irrecv.resume(); //receive the next value
  }
  delay(100);
}
Реклама:
__________________
Самое главное умение - умение радоваться жизни.

Последний раз редактировалось AVRkin; 03.09.2017 в 12:53.
AVRkin вне форума  
Непрочитано 03.09.2017, 12:33  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,784
Сказал спасибо: 2,911
Сказали Спасибо 3,119 раз(а) в 2,110 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: конвертер пультов на arduino

Сообщение от AVRkin Посмотреть сообщение
зависает после irsend.sendNEC ...
почему так происходит?
Потому, что не приведён код этого самого irsend.sendNEC.
P.S. Прерывания используются и какие?
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума  
Непрочитано 03.09.2017, 12:44  
AVRkin
Прописка
 
Аватар для AVRkin
 
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
AVRkin на пути к лучшему
По умолчанию Re: конвертер пультов на arduino

Сообщение от ForcePoint Посмотреть сообщение
Потому, что не приведён код этого самого irsend.sendNEC.
P.S. Прерывания используются и какие?
Код:
// Main class for sending IR
//
class IRsend
{
	public:
		IRsend () { }

		void  custom_delay_usec (unsigned long uSecs);
		void  enableIROut 		(int khz) ;
		void  mark        		(unsigned int usec) ;
		void  space       		(unsigned int usec) ;
		void  sendRaw     		(const unsigned int buf[],  unsigned int len,  unsigned int hz) ;

		//..................................................  ....................
#		if SEND_RC5
			void  sendRC5        (unsigned long data,  int nbits) ;
#		endif
#		if SEND_RC6
			void  sendRC6        (unsigned long data,  int nbits) ;
#		endif
		//..................................................  ....................
#		if SEND_NEC
			void  sendNEC        (unsigned long data,  int nbits) ;
#		endif
		//..................................................  ....................
#		if SEND_SONY
			void  sendSony       (unsigned long data,  int nbits) ;
#		endif
		//..................................................  ....................
#		if SEND_PANASONIC
			void  sendPanasonic  (unsigned int address,  unsigned long data) ;
#		endif
		//..................................................  ....................
#		if SEND_JVC
			// JVC does NOT repeat by sending a separate code (like NEC does).
			// The JVC protocol repeats by skipping the header.
			// To send a JVC repeat signal, send the original code value
			//   and set 'repeat' to true
			void  sendJVC        (unsigned long data,  int nbits,  bool repeat) ;
#		endif
		//..................................................  ....................
#		if SEND_SAMSUNG
			void  sendSAMSUNG    (unsigned long data,  int nbits) ;
#		endif
		//..................................................  ....................
#		if SEND_WHYNTER
			void  sendWhynter    (unsigned long data,  int nbits) ;
#		endif
		//..................................................  ....................
#		if SEND_AIWA_RC_T501
			void  sendAiwaRCT501 (int code) ;
#		endif
		//..................................................  ....................
#		if SEND_LG
			void  sendLG         (unsigned long data,  int nbits) ;
#		endif
		//..................................................  ....................
#		if SEND_SANYO
			void  sendSanyo      ( ) ; // NOT WRITTEN
#		endif
		//..................................................  ....................
#		if SEND_MISUBISHI
			void  sendMitsubishi ( ) ; // NOT WRITTEN
#		endif
		//..................................................  ....................
#		if SEND_DISH
			void  sendDISH       (unsigned long data,  int nbits) ;
#		endif
		//..................................................  ....................
#		if SEND_SHARP
			void  sendSharpRaw   (unsigned long data,  int nbits) ;
			void  sendSharp      (unsigned int address,  unsigned int command) ;
#		endif
		//..................................................  ....................
#		if SEND_DENON
			void  sendDenon      (unsigned long data,  int nbits) ;
#		endif
		//..................................................  ....................
#		if SEND_PRONTO
			void  sendPronto     (char* code,  bool repeat,  bool fallback) ;
#		endif
//..................................................  ....................
#		if SEND_LEGO_PF
			void  sendLegoPowerFunctions (uint16_t data, bool repeat = true) ;
#		endif
} ;

#endif
Вложения:
Тип файла: txt IRremote.cpp.txt (7.6 Кб, 0 просмотров)
Тип файла: txt IRremote.h.txt (11.4 Кб, 0 просмотров)
__________________
Самое главное умение - умение радоваться жизни.

Последний раз редактировалось AVRkin; 03.09.2017 в 12:52.
AVRkin вне форума  
Непрочитано 04.09.2017, 00:09  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,784
Сказал спасибо: 2,911
Сказали Спасибо 3,119 раз(а) в 2,110 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: конвертер пультов на arduino

Так можно обсуждать долго...
Есть такой метод "отдадочный вывод информации". Вставляете в код коротенькие подпрограммы с выдачей текущей информации о работе программы. Например - значение program counter (или даже сразу - номер текущего куска программы) и каких-нибудь ключевых переменных. Выдача - как придумаете. Шикарно - на UART (и в терминалку на ПК), допустимо - на светодиодики (хоть даже и припаяные для этой самой отладки).

По сути сказать нечего, кроме того, что мне не вполне понятно, чем и как определяется выбор нужного протокола для передачи. В классах я не силён...
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума  
Непрочитано 04.09.2017, 01:18  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: конвертер пультов на arduino

AVRkin, а описание для того метода в классе где?
Что говорит документация про взаимодействие с NEC и варианты параметров?
Тут надо в полном объёме изучать используемое.
Текст функции sendNEC найдите в исходниках и набейте ее отладочным выводом.
В качестве альтернативы - используйте нормальную среду для разработки и проверьте Ваш алгоритм с нормальной пошаговой отладкой.

Пока больше вопросов. Для ответов нужны все исходники Вашего проекта, включая все подключаемые библиотечные файлы, как минимум…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
 

Закладки
Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RFID на Arduino с использованием Parallax RFID reader/writer IvanPuzirev Микроконтроллеры, АЦП, память и т.д 13 22.04.2014 20:57
Как прошивать Arduino mini nikola-7 Песочница (вопросы новичков) 5 10.03.2014 14:15
Проблема с Arduino Motor Shield domka Песочница (вопросы новичков) 6 29.07.2013 11:56


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot