Доброго времени суток!
Использовал библиотеку Gyver433, загрузил в аттини13а код передатчика
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Базовым примером принимаю сигнал ардуиной уно без проблем, а вот загруженный в аттини24а код не работает, не понимаю почему
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Помогите разобраться. На данный момент нужно просто управлять диодом в зависимости какие данные пришли на  приемник
								Использовал библиотеку Gyver433, загрузил в аттини13а код передатчика
			
				Передатчик:
			
		
		
		#define G433_FAST
#include <Gyver433.h>
#include <avr/sleep.h>
Gyver433_TX<4> tx;
#define Button1 1
#define Button2 2
#define Button3 3
#define Button4 0
volatile byte data;
void setup ()
{
  digitalWrite (Button1, HIGH);  // enable pull-up
  digitalWrite (Button2, HIGH);  // enable pull-up
  digitalWrite (Button3, HIGH);  // enable pull-up
  digitalWrite (Button4, HIGH);  // enable pull-up
  // Set interrupt-on-change registers for buttons
  bitClear(GIMSK, INT0); // disable INT0 external interrupt
  bitSet(GIMSK, PCIE); // enable interrupt-on-change
  bitSet(PCMSK, Button1);
  bitSet(PCMSK, Button2);
  bitSet(PCMSK, Button3);
  bitSet(PCMSK, Button4);
  bitClear(ADCSRA, ADEN); // disable ADC for low power mode
  set_sleep_mode (SLEEP_MODE_PWR_DOWN);
}  // end of setup
void loop ()
{
  sleep_enable();
  // Do not interrupt before we go to sleep, or the
  // ISR will detach interrupts and we won't wake.
  noInterrupts();
  // We are guaranteed that the sleep_cpu call will be done
  // as the processor executes the next instruction after
  // interrupts are turned on.
  interrupts();  // one cycle
  sleep_cpu();   // one cycle
} // end of loop
void Transmit1 ()
{
  tx.sendData(data);
 
}
void Transmit2 ()
{
 tx.sendData(data);
}
void Transmit3 ()
{
  tx.sendData(data);
 
}
void Transmit4 ()
{
  tx.sendData(data);
}
// Interrupt-on-change handler
ISR (PCINT0_vect)
{
  delayMicroseconds(16000); // debounce switch
  delayMicroseconds(16000); // debounce switch
  delayMicroseconds(16000); // debounce switch
  data=0;
  if (digitalRead(Button1) == LOW){
    Transmit1();
    data=0x33;
  }
  else if (digitalRead(Button2) == LOW){
    Transmit2();
      data=0x3C;
  }
  else if (digitalRead(Button3) == LOW){
    Transmit3();
      data=0xC3;
  }
  else if (digitalRead(Button4) == LOW){
    Transmit4();
      data=0xCC;
  }
}
			
				Приемник:
			
		
		
		#include <Gyver433.h>
//#include <GyverTimers.h>
Gyver433_RX<PB1, 1> rx;  // указали пин и размер буфера
#define ZERO_PIN PA7 // пин детектора нуля PA7(6) вход
#define INT_NUM 0 // соответствующий ему номер прерывания
#define DIMMER_PIN PA6 // управляющий пин симистора PA6(7) выход
#define LED_MIN PA5 //PA5 выход
#define LED_MAX PA2 //PA2 выход
#define LED_ECO PA3 //PA3 выход
#define LED_POW PA1 //PA1 выход
// #define RX_PIN PB1 // вход для теста бит PB1 = 1, для рабочего устройства 13PA0= или 5(PB2)=2
void setup() {
  DDRA = 0b01101110; // определяем пины порта А как выход(1)
  DDRB = 0b00000000; // определяем пины порта B как вход (0)
  PORTA = 0b00000000; // выставляем уровень сигнала на пинах LOW
  PORTB = 0b00000000; // выставляем уровень сигнала на пинах LOW
//attachInterrupt(PB1, isr, CHANGE);
  //attachInterrupt(INT_NUM, isr, RISING);  // для самодельной схемы ставь FALLING
  //Timer2.enableISR();
  // Set interrupt-on-change registers
  GIMSK = 0b01100000; // равносильно записи GIMSK |= (1<<PCIE); bitClear(GIMSK, INT0); // disable INT0 external interrupt  bitSet(GIMSK, PCIE1); // enable interrupt-on-change
  PCMSK1 = 0b00000010; // равносильно  PCMSK1 |= (1<<RX_PIN); или bitSet(PCMSK1, RX_PIN);
}
void loop() {
  // gotData() вернёт количество удачно принятых байт
  if (rx.gotData()) {   // если больше 0
    PORTA |= (1<<LED_POW);
    delay(1);
    PORTA &= ~(1<<LED_POW);
    // ЧИТАЕМ. СПОСОБ 1
    // я знаю, что передатчик отправляет byte
    byte data;
    // читаем принятые данные в data
    // если данные совпадают по размеру - ок
    switch (rx.readData(data)) {
      case 0x33:
PORTA |= (1<<LED_POW);
        break;
      case 0x3C:
PORTA &= ~(1<<LED_POW);
        break;
      case 0xC3:
PORTA |= (1<<LED_POW);
        break;
      case 0xCC:
PORTA &= ~(1<<LED_POW);
        break;
  
    }
  }
}
ISR (PCINT1_vect) {
  rx.tickISR();
}
//void isr() {
//rx.tickISR();
//}
//ISR(TIMER2_A) {
//  digitalWrite(DIMMER_PIN, 1);  // включаем симистор
//Timer2.stop();                // останавливаем таймер
//}