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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 15.10.2015, 20:41  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,485
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

Сообщение от Gosha_006 Посмотреть сообщение
Ни в какую..
Реклама:
NewWriter вне форума  
Сказали "Спасибо" NewWriter
krug_vv (17.10.2015)
Непрочитано 15.10.2015, 21:13  
Gosha_006
Частый гость
 
Регистрация: 01.12.2009
Сообщений: 18
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Gosha_006 на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

Лучше в коде покажите что править и на что:

if ((tick ›= 92) & (tick ‹ 96)) //если прошло от 8,832 мс до 9,216 мс
{
start_cond = 1; //фиксируем стартовое условие
addr_1 = addr_0 = cmd_1 = cmd_0 = 0; //обнуляем ранее полученную команду и адрес
}
if ((tick ›= 21) & (tick ‹ 25) & (start_cond)) //если прошло от 2,016 мс до 2,4 мс
{
b_cnt++; //приняли "1" и увеличили счетчик битов
if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1) + 1; //первый байт - прямой адрес
if ((b_cnt ›= 9) & (b_cnt ‹ 17)) addr_0 = (addr_0 ‹‹ 1) + 1; //второй байт - инверсный адрес
if ((b_cnt ›= 17) & (b_cnt ‹ 25)) cmd_1 = (cmd_1 ‹‹ 1) + 1; //третий байт - прямая команда
if (b_cnt ›= 25) cmd_0 = (cmd_0 ‹‹ 1) + 1; //четвертый байт - инверсная команда
}
if ((tick ›= 10) & (tick ‹ 21) & (start_cond)) //если прошло от 0,96 мс до 2,112 мс
{
b_cnt++; //приняли "0" и увеличили счетчик битов
if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1); //далее - аналогично по байтам
if ((b_cnt ›= 9) & (b_cnt ‹ 17)) addr_0 = (addr_0 ‹‹ 1);
if ((b_cnt ›= 17) & (b_cnt ‹ 25)) cmd_1 = (cmd_1 ‹‹ 1);
if (b_cnt ›= 25) cmd_0 = (cmd_0 ‹‹ 1);
}
Gosha_006 вне форума  
Непрочитано 15.10.2015, 21:33  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,562
Сказал спасибо: 158
Сказали Спасибо 662 раз(а) в 432 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

Сообщение от Gosha_006 Посмотреть сообщение
Лучше в коде покажите что править и на что:
Для начала выправить все логические операции и операции сравнения - заменить "&" на "&&", "=" на "=="
Ara41 вне форума  
Непрочитано 15.10.2015, 21:44  
Gosha_006
Частый гость
 
Регистрация: 01.12.2009
Сообщений: 18
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Gosha_006 на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

Сообщение от Ara41 Посмотреть сообщение
"=" на "=="
это в каком месте?

//Обработка внешнего прерывания от ПДУ
ISR(INT1_vect)
{
TCNT0=0xF4; // запускаем таймер на 96 мкс
TCCR0B=0x03; // частота таймера 125 кГц

if ((tick ›= 92) && (tick ‹ 96)) //если прошло от 8,832 мс до 9,216 мс
{
start_cond = 1; //фиксируем стартовое условие
addr_1 = addr_0 = cmd_1 = cmd_0 = 0; //обнуляем ранее полученную команду и адрес
}
if ((tick ›= 21) && (tick ‹ 25) && (start_cond)) //если прошло от 2,016 мс до 2,4 мс
{
b_cnt++; //приняли "1" и увеличили счетчик битов
if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1) + 1; //первый байт - прямой адрес
if ((b_cnt ›= 9) && (b_cnt ‹ 17)) addr_0 = (addr_0 ‹‹ 1) + 1; //второй байт - инверсный адрес
if ((b_cnt ›= 17) && (b_cnt ‹ 25)) cmd_1 = (cmd_1 ‹‹ 1) + 1; //третий байт - прямая команда
if (b_cnt ›= 25) cmd_0 = (cmd_0 ‹‹ 1) + 1; //четвертый байт - инверсная команда
}
if ((tick ›= 10) && (tick ‹ 21) && (start_cond)) //если прошло от 0,96 мс до 2,112 мс
{
b_cnt++; //приняли "0" и увеличили счетчик битов
if (b_cnt ‹ 9) addr_1 = (addr_1 ‹‹ 1); //далее - аналогично по байтам
if ((b_cnt ›= 9) && (b_cnt ‹ 17)) addr_0 = (addr_0 ‹‹ 1);
if ((b_cnt ›= 17) && (b_cnt ‹ 25)) cmd_1 = (cmd_1 ‹‹ 1);
if (b_cnt ›= 25) cmd_0 = (cmd_0 ‹‹ 1);
}
tick = 0; //обнулили тики

if (b_cnt == 32) //если приняли уже 4 байта
{
//if ((cmd_1 + cmd_0) == 0xFF) //проверили правильность приема команды
//{
cmd = cmd_1;
Ressieve_Complete = 1; //Ставим флаг окончания приёма
//}
b_cnt = 0; //обнулили счетчик битов
start_cond = 0; //сбросили стартовое условие
TCCR0B=0x00; //остановили таймер
TCNT0=0x00;
}
}
Gosha_006 вне форума  
Непрочитано 15.10.2015, 21:50  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,562
Сказал спасибо: 158
Сказали Спасибо 662 раз(а) в 432 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

c "==" все хорошо )
Ara41 вне форума  
Непрочитано 15.10.2015, 21:58  
Gosha_006
Частый гость
 
Регистрация: 01.12.2009
Сообщений: 18
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Gosha_006 на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

куда копать дальше?
Gosha_006 вне форума  
Непрочитано 15.10.2015, 22:36  
индюк
Заблокирован
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,708
Сказал спасибо: 187
Сказали Спасибо 3,194 раз(а) в 2,071 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

мля вырвите мне глаза!!!!!!!
принимать пульт на авр да еще на си!!!!!!!!
такая каша ваще пипец!!!!!
я 18 лет назад на mcs51 за 4 часа написал приемник на машинных кодах и заняло это все 200 байт дай бог и 80 строк кодов а у вас тут уже библиотека ленина и ничо не работает
индюк вне форума  
Сказали "Спасибо" индюк
bass1981 (20.10.2015)
Непрочитано 15.10.2015, 22:40  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,002
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,373 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

Сообщение от Gosha_006 Посмотреть сообщение
куда копать дальше?
в отделение банка - покупать знания у талантливых людей
jump вне форума  
Непрочитано 15.10.2015, 23:00  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

Сообщение от индюк Посмотреть сообщение
мля вырвите мне глаза!!!!!!!
принимать пульт на авр да еще на си!!!!!!!!
И что, стоило по этому хвост веером распускать? А что на СИ не так?
STM32F0 вне форума  
Непрочитано 15.10.2015, 23:01  
индюк
Заблокирован
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,708
Сказал спасибо: 187
Сказали Спасибо 3,194 раз(а) в 2,071 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Декодирование NEC протокола

Сообщение от jump Посмотреть сообщение
покупать знания у талантливых людей
ага. знания)) ха! щас!!
на то они и талантливые что продадут не знания а антизнания. такие что бушь у них их постоянно покупать. как трубу от патифона
индюк вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реинжиниринг протокола (15 канальный) RALP Электроника - это просто 28 05.10.2013 21:10
Декодирование DTMF на PIC16F628 vovik_t PIC 64 29.07.2013 22:38
Компактный декодер протокола RС5 MasterMushi Микроконтроллеры, АЦП, память и т.д 5 19.07.2010 18:03
Нужна программа для анализа протокола russo_turisto Микроконтроллеры, АЦП, память и т.д 10 21.03.2009 06:50


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


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