передача byte через VirtualWire

Kostya
Offline
Зарегистрирован: 30.11.2016

Столкунулся с проблемой, нужно предать значение переменной byte через библеотеку VirtualWire. 

Вот скетч передатчика. Как понятно нужно передать переменную*mode. Как это сделать?

  #include <VirtualWire.h>
int xPin = A1;
int yPin = A0;
 int xPosition = 0;
 int yPosition = 0;
 byte *mode;

void setup() {

      pinMode(xPin, INPUT);
      pinMode(yPin, INPUT);
}

void loop() {
  mode=0;
   xPosition = analogRead(xPin);
   yPosition = analogRead(yPin);
 if(yPosition<300)                             //если джойстик направлен вперед
 {*mode=1;}                                  //byte mode=1(вперед)
   if(yPosition > 1000)                       //если джойстик направлен назад                   
   {*mode=2;}                                //byte mode=2(назад)
     if(xPosition<300)                         //если джойстик направлен влево
       {*mode=3;}                            //byte mode=3(влево)
          if(xPosition > 1000)                //если джойстик направлен вправо
            {*mode=4;}                        //byte mode=4(вправо)
          
            
            Serial.println(*mode);
   } 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Kostya пишет:

Вот скетч передатчика. Как понятно нужно передать переменную*mode. Как это сделать?

 byte *mode;

  mode=0;
  {*mode=1;}                                  //byte mode=1(вперед)
   {*mode=2;}                                //byte mode=2(назад)
       {*mode=3;}                            //byte mode=3(влево)
            {*mode=4;}                        //byte mode=4(вправо)

Никак.

В том смысле, что до тех пор, пока Вы будете гадить в памяти, работать не будет никак.

Вы можете объяснить, зачем Вы использовали конструкцию "byte *mode;", если Вы не знаете, что она означает и как с ней работать?