Показать сообщение отдельно
Старый 26.04.2016, 11:14   #6
Demon083
Новый Пользователь
 
Регистрация: 21.11.2012
Возраст: 40
Город: Уфа
Регион: 02
Машина: Renault Logan
Сообщений: 4
Demon083 is on a distinguished road
По умолчанию

Цитата:
Сообщение от ali_vlad Посмотреть сообщение
PHP код:
void IRsend::sendNEC(unsigned long dataint nbits)
{
  
pinMode(3OUTPUT);
  
digitalWrite(3HIGH);
  
digitalWrite(3LOW);
  for (
int i 0nbitsi++) {
    if (
data TOPBIT) {
      
digitalWrite(3HIGH);
      
digitalWrite(3LOW);
    } 
    else {
      
digitalWrite(3HIGH);
      
digitalWrite(3LOW);
    }
    
data <<= 1;
  }
  
digitalWrite(3HIGH);
  
space(0); 
Если так, то всё равно не работает.
Не совсем так.
В функциях MARK и SPACE кроме включения и выключения ШИМ дополнительно формируются задержки, длительность которых задается при вызове функции (NET_BIT_MARK, NET_ONE_MARK, NEC_ZERO_SPACE), поэтому digitalWrite предлагаю вставлять в место строчек TCCR2A|=_BV(COM21); в функции marc, TCCR2A&=~(_BV(COM21)); в функции space. инициализацию порта (pinMode) оставить в sendNEC
Demon083 вне форума   Ответить с цитированием