Прошу помощи

rgdaudi
Offline
Зарегистрирован: 19.02.2017

Приветствую!!! Проблема в следуещем, есть у меня друг который смог с ардуино вывести показания буста на штатный экран бк... Я от этой темы далек, он мне сказал купить платку нано, и дал чем прошить ее... сейчас связи с ним нет, а прошить не получается, выдает ошибку... Помогите с таким траблом мне !!!

rgdaudi
Offline
Зарегистрирован: 19.02.2017

rgdaudi
Offline
Зарегистрирован: 19.02.2017

rgdaudi пишет:
Вот такая ошибка, подскажите как код выложить??

vvadim
Offline
Зарегистрирован: 23.05.2012

опубликуйте весь код

покажите ошибку которую компилятор выдал

rgdaudi
Offline
Зарегистрирован: 19.02.2017

vvadim пишет:

опубликуйте весь код

покажите ошибку которую компилятор выдал


Подскажите как его сюда выложить, я новичок у вас тут

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Код выложить так - http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii

Ошибку просто выделяешь мышкой в Arduino IDE и копируешь/вставляешь сюда текстом.

rgdaudi
Offline
Зарегистрирован: 19.02.2017
Arduino: 1.8.1 (Windows 7), Плата:"Arduino Nano, ATmega328"

C:\Users\Андрей\Documents\Arduino\Fis_V2_uno_REGUM\Fis_V2_uno_REGUM.ino: In function 'void loop()':

Fis_V2_uno_REGUM:67: error: invalid type argument of unary '*' (have 'int')

Fis_V2_uno_REGUM:68: error: invalid type argument of unary '*' (have 'double')

Fis_V2_uno_REGUM:69: error: expected primary-expression before 'int'

Fis_V2_uno_REGUM:70: error: 'sensor1' was not declared in this scope

exit status 1
invalid type argument of unary '*' (have 'int')

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

 

rgdaudi
Offline
Зарегистрирован: 19.02.2017
int mapsen = 0; // Set MAP sensor input on Analog port 0
float boost = 0; // Set boost value to 0
float mapval = 0; // Set raw map value to 0
//volatile*float peakboost = 0; // Set peak memory to 0

//data pin 4
//clk  pin 3
//ena  pin 2

//WRITE TO CLUSTER
#define FIS_WRITE_ENA 2
#define FIS_WRITE_ENAINT 0
#define FIS_WRITE_CLK 3 
#define FIS_WRITE_DATA 4 
#define FIS_WRITE_PULSEW 50
#define FIS_WRITE_STARTPULSEW 100
#define FIS_WRITE_START 15 //something like address, first byte is always 15

//WRITE TO CLUSTER
String FIS_WRITE_line1=""; //upper line 8characters are static, more then 8 will rotate
String FIS_WRITE_line2=""; //lover line 8characters are static, more then 8 will rotate
String FIS_WRITE_sendline1="        ";
String FIS_WRITE_sendline2="        ";
long FIS_WRITE_rotary_position_line1=-8;
long FIS_WRITE_rotary_position_line2=-8;
char FIS_WRITE_CHAR_FROM_SERIAL;
char FIS_WRITE_CHAR_FROM_SER;
int FIS_WRITE_line=1;
long FIS_WRITE_last_refresh=0;
int FIS_WRITE_nl=0;
volatile uint8_t FIS_WRITE_ACKSTATE=1;
//END WRITE TO CLUSTER
char s;
//WRITE TO CLUSTER
void FIS_WRITE_sendTEXT(String FIS_WRITE_line1,String FIS_WRITE_line2);
void FIS_WRITE_sendByte(int Bit);
void FIS_WRITE_startENA();
void FIS_WRITE_stopENA();
void FIS_WRITE_ACK();
//END WRITE TO CLUSTER
int ButPin = 10; // Подключаем кнопку к выходу 10
int flag = 0; // флаг состояния
int regim = 0; // Переключалка

void setup(){
//WRITE TO CLUSTER
pinMode(FIS_WRITE_ENA, OUTPUT);
digitalWrite(FIS_WRITE_ENA,LOW);
pinMode(FIS_WRITE_ENA,INPUT);
digitalWrite(FIS_WRITE_ENA,LOW);//disable pullup
attachInterrupt(FIS_WRITE_ENAINT,FIS_WRITE_ACK,FALLING);
pinMode(FIS_WRITE_CLK, OUTPUT); 
digitalWrite(FIS_WRITE_CLK, HIGH);
pinMode(FIS_WRITE_DATA, OUTPUT); 
digitalWrite(FIS_WRITE_DATA, HIGH);
pinMode(ButPin,HIGH);
Serial.begin(9600);



}

void loop(){
//WRITE TO CLUSTER


mapval=*analogRead(mapsen); //Reads the MAP sensor raw value on analog port 0
boost*=*(mapval*(.00488)/(.022)*(0.145));*//Converts raw MAP value to PSI and accounts for atomospheric pressure если нужно подогнать в ноль то просто убавляем число 00488 или плюсуем смотря какой случий 
int sensor1 = analogRead(A1);
float oil = sensor1 * (3.0 / 1023.0);
int sensor2 = analogRead(A2);
float vol = sensor2 * (15.0 / 1023.0);

if(digitalRead(ButPin) == HIGH && flag == 0) { 
regim ++;
flag = 1;
if(regim > 2) // Если номер режима превышает требуемого
{ // то отсчет начинается с нуля
regim = 0;}}
if(digitalRead(ButPin) == LOW && flag == 1)
{
flag = 0;}
// ======= Вполняем задачу при выборе режима =======
if(regim == 1){
FIS_WRITE_line1=("BOOST");
FIS_WRITE_line2=("BAR=",boost);}
if(regim == 2){
FIS_WRITE_line1=("VOLTAGE");
FIS_WRITE_line2=("V=",vol);}
if(regim == 0)

if (Serial.available()) {
    FIS_WRITE_CHAR_FROM_SERIAL=(char)Serial.read();
    Serial.print(FIS_WRITE_CHAR_FROM_SERIAL);
if (FIS_WRITE_CHAR_FROM_SERIAL == '~')
   {FIS_WRITE_nl=1;
if (FIS_WRITE_line==1)
   {FIS_WRITE_line=2;}
   else {FIS_WRITE_line=1;}}
   else {if (FIS_WRITE_line==1){
if (FIS_WRITE_nl)
   {FIS_WRITE_nl=0;
    FIS_WRITE_line1="";
    FIS_WRITE_rotary_position_line1=-8;}
    FIS_WRITE_line1+=FIS_WRITE_CHAR_FROM_SERIAL;}
   else {if (FIS_WRITE_nl)
   {FIS_WRITE_nl=0;
    FIS_WRITE_line2="";
    FIS_WRITE_rotary_position_line2=-8;}
    FIS_WRITE_line2+=FIS_WRITE_CHAR_FROM_SERIAL;}}}



   
  int FIS_WRITE_line1_length=FIS_WRITE_line1.length();
  int FIS_WRITE_line2_length=FIS_WRITE_line2.length();


  
   
    //do rotary and refresh each 0.5second
    //refresh cluster each 5s 
    if((millis()-FIS_WRITE_last_refresh)>75 && (FIS_WRITE_line1_length>0 || FIS_WRITE_line2_length>0)){
      if (FIS_WRITE_line1_length>8){
        FIS_WRITE_sendline1="        ";
      for (int i=0;i<8;i++){
        if (FIS_WRITE_rotary_position_line1+i>=0 && (FIS_WRITE_rotary_position_line1+i)<FIS_WRITE_line1_length) {
          FIS_WRITE_sendline1[i]=FIS_WRITE_line1[FIS_WRITE_rotary_position_line1+i];
        }
      }
       if (FIS_WRITE_rotary_position_line1<FIS_WRITE_line1_length){
              FIS_WRITE_rotary_position_line1++;
       } else {
              FIS_WRITE_rotary_position_line1=-8;
              FIS_WRITE_sendline1="        ";
       }
     } else {
       FIS_WRITE_sendline1=FIS_WRITE_line1;
     }
     if (FIS_WRITE_line2_length>8){
       FIS_WRITE_sendline2="        ";
      for (int i=0;i<8;i++){
        if (FIS_WRITE_rotary_position_line2+i>=0 && (FIS_WRITE_rotary_position_line2+i)<FIS_WRITE_line2_length) {
          FIS_WRITE_sendline2[i]=FIS_WRITE_line2[FIS_WRITE_rotary_position_line2+i];
        }
      }
       if (FIS_WRITE_rotary_position_line2<FIS_WRITE_line2_length){
              FIS_WRITE_rotary_position_line2++;
       } else {
             
              FIS_WRITE_rotary_position_line2=-8;
       }
     } else {
       FIS_WRITE_sendline2=FIS_WRITE_line2;
     }
      // Serial.println("refresh");
      //FIS_WRITE_sendTEXT(FIS_WRITE_sendline1,FIS_WRITE_sendline2);
      FIS_WRITE_last_refresh=millis();
    //end refresh
  }
  if (FIS_WRITE_ACKSTATE){
      FIS_WRITE_ACKSTATE=0;
      FIS_WRITE_sendTEXT(FIS_WRITE_sendline1,FIS_WRITE_sendline2);    
  }
//END WRITE TO CLUSTER  
}

//WRITE TO CLUSTER

void FIS_WRITE_ACK(){
  detachInterrupt(FIS_WRITE_ENAINT);
   FIS_WRITE_ACKSTATE=1;
};

void FIS_WRITE_sendTEXT(String FIS_WRITE_line1,String FIS_WRITE_line2) {
  
 // my
  Serial.println(FIS_WRITE_line1);
 // my
  Serial.println(FIS_WRITE_line2);
  int FIS_WRITE_line1_length=FIS_WRITE_line1.length();
  int FIS_WRITE_line2_length=FIS_WRITE_line2.length();
    if (FIS_WRITE_line1_length<=8){
        for (int i=0;i<(8-FIS_WRITE_line1_length);i++){
          FIS_WRITE_line1+=" ";
        } 
    }
    if (FIS_WRITE_line2_length<=8){
      for (int i=0;i<(8-FIS_WRITE_line2_length);i++){
        FIS_WRITE_line2+=" ";
      }
    }

  uint8_t FIS_WRITE_CRC=(0xFF^FIS_WRITE_START);

  FIS_WRITE_startENA();

  FIS_WRITE_sendByte(FIS_WRITE_START);

  for (int i = 0; i <= 7; i++)
  { 
    FIS_WRITE_sendByte(0xFF^FIS_WRITE_line1[i]);
    FIS_WRITE_CRC+=FIS_WRITE_line1[i];
  }
    for (int i = 0; i <= 7; i++)
  { 
    FIS_WRITE_sendByte(0xFF^FIS_WRITE_line2[i]);
    FIS_WRITE_CRC+=FIS_WRITE_line2[i];
  }
  
  FIS_WRITE_sendByte(FIS_WRITE_CRC%0x100);

  FIS_WRITE_stopENA();

}

void FIS_WRITE_sendByte(int Byte){
  static int iResult[8];
  for (int i = 0; i <= 7; i++)
  {    
    iResult[i] = Byte % 2;
    Byte = Byte / 2;
  }
  for(int i=7;i>=0;i--){
  switch (iResult[i]) {
    case 1: digitalWrite(FIS_WRITE_DATA,HIGH);
            break;
    case 0:digitalWrite(FIS_WRITE_DATA,LOW);
           break;
    }
    digitalWrite(FIS_WRITE_CLK,LOW);
    delayMicroseconds(FIS_WRITE_PULSEW);
    digitalWrite(FIS_WRITE_CLK,HIGH);
    delayMicroseconds(FIS_WRITE_PULSEW);
}
}

void FIS_WRITE_startENA(){
  //detachInterrupt(FIS_WRITE_ENAINT);
  pinMode(FIS_WRITE_ENA,INPUT);
  digitalWrite(FIS_WRITE_ENA,LOW);//disable pullup
  while (!digitalRead(FIS_WRITE_ENA)) {
  pinMode(FIS_WRITE_ENA,OUTPUT);
  digitalWrite(FIS_WRITE_ENA,HIGH);
  delay(10); //min 10!
  }
}

void FIS_WRITE_stopENA(){
 digitalWrite(FIS_WRITE_ENA,LOW);
 pinMode(FIS_WRITE_ENA,INPUT);
 digitalWrite(FIS_WRITE_ENA,LOW);//disable pullup
 attachInterrupt(FIS_WRITE_ENAINT,FIS_WRITE_ACK,FALLING);
}
//END WRITE TO CLUSTER

 

rgdaudi
Offline
Зарегистрирован: 19.02.2017

Jeka_M пишет:

Код выложить так - http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii

Ошибку просто выделяешь мышкой в Arduino IDE и копируешь/вставляешь сюда текстом.

Спасибо

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rgdaudi пишет:

Arduino: 1.8.1 (Windows 7), Плата:"Arduino Nano, ATmega328"

C:\Users\Андрей\Documents\Arduino\Fis_V2_uno_REGUM\Fis_V2_uno_REGUM.ino: In function 'void loop()':

Fis_V2_uno_REGUM:67: error: invalid type argument of unary '*' (have 'int')

Fis_V2_uno_REGUM:68: error: invalid type argument of unary '*' (have 'double')

Fis_V2_uno_REGUM:69: error: expected primary-expression before 'int'

Fis_V2_uno_REGUM:70: error: 'sensor1' was not declared in this scope

exit status 1
invalid type argument of unary '*' (have 'int')

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

 

rgdaudi, компилятор же Вам все написал.

Вот расскажите, что Вы хотели сказать в строках 67 и 68?

rgdaudi
Offline
Зарегистрирован: 19.02.2017

rgdaudi, компилятор же Вам все написал.

Вот расскажите, что Вы хотели сказать в строках 67 и 68?

[/quote]
Я ж и обратился за помощью сюда, если бы я что то понимал вопросов бы не возникло

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Вопрос остается: что Вы хотели сказать строками 67 и 68?

rgdaudi
Offline
Зарегистрирован: 19.02.2017

andriano пишет:

Вопрос остается: что Вы хотели сказать строками 67 и 68?


Переменая мап вал считывает значения с пина мап сенс

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rgdaudi пишет:
andriano пишет:

Вопрос остается: что Вы хотели сказать строками 67 и 68?

Переменая мап вал считывает значения с пина мап сенс

Ладно, я даже готов согласиться, что не программа считывает значение в переменную, а сама переменная считывает значение сама в себя, но почему она это делает, пренебрегая правилами языка?

rgdaudi
Offline
Зарегистрирован: 19.02.2017

 

Ладно, я даже готов согласиться, что не программа считывает значение в переменную, а сама переменная считывает значение сама в себя, но почему она это делает, пренебрегая правилами языка?

[/quote] Да далек я ото всего этого, кто бы мне помог сейчас не на связи, вот и обратился я к Вам

rgdaudi
Offline
Зарегистрирован: 19.02.2017
Arduino: 1.8.1 (Windows 7), Плата:"Arduino Nano, ATmega328"

C:\Users\Андрей\Downloads\АРДУР?РќРћ\Fis_V2_uno_REGUM\Fis_V2_uno_REGUM.ino: In function 'void loop()':

Fis_V2_uno_REGUM:69: error: expected primary-expression before 'int'

Fis_V2_uno_REGUM:70: error: 'sensor1' was not declared in this scope

exit status 1
expected primary-expression before 'int'

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

 

rgdaudi
Offline
Зарегистрирован: 19.02.2017



//data pin 4
//clk  pin 3
//ena  pin 2

//WRITE TO CLUSTER
#define FIS_WRITE_ENA 2
#define FIS_WRITE_ENAINT 0
#define FIS_WRITE_CLK 3 
#define FIS_WRITE_DATA 4 
#define FIS_WRITE_PULSEW 50
#define FIS_WRITE_STARTPULSEW 100
#define FIS_WRITE_START 15 //something like address, first byte is always 15
//END WRITE TO CLUSTER

//#define BINCODE 000011111011111010101010101110111011011010111100101100111010101010111101101011001011001110110000101010011011111010110100101101101011111010010011
//                000011111011111010101010101110111011011010111100101100111010101010111101101011001011001110110000101010011011111010110100101101101011111010010011

//int BINCODE[144]={
//0,0,0,0,1,1,1,1,
//1,0,1,1,1,1,1,0,
//1,0,1,0,1,0,1,0,
//1,0,1,1,1,0,1,1,
//1,0,1,1,0,1,1,0,
//1,0,1,1,1,1,0,0,
//1,0,1,1,0,0,1,1,
//1,0,1,0,1,0,1,0,
//1,0,1,1,1,1,0,1,
//1,0,1,0,1,1,0,0,
//1,0,1,1,0,0,1,1,
//1,0,1,1,0,0,0,0,
//1,0,1,0,1,0,0,1,
//1,0,1,1,1,1,1,0,
//1,0,1,1,0,1,0,0,
//1,0,1,1,0,1,1,0,
//1,0,1,1,1,1,1,0,
//1,0,0,1,0,0,1,1};

//WRITE TO CLUSTER
String FIS_WRITE_line1=""; //upper line 8characters are static, more then 8 will rotate
String FIS_WRITE_line2=""; //lover line 8characters are static, more then 8 will rotate
String FIS_WRITE_sendline1="        ";
String FIS_WRITE_sendline2="        ";
long FIS_WRITE_rotary_position_line1=-8;
long FIS_WRITE_rotary_position_line2=-8;
char FIS_WRITE_CHAR_FROM_SERIAL;
char FIS_WRITE_CHAR_FROM_SER;
int FIS_WRITE_line=1;
long FIS_WRITE_last_refresh=0;
int FIS_WRITE_nl=0;
volatile uint8_t FIS_WRITE_ACKSTATE=1;
//END WRITE TO CLUSTER
char s;
//WRITE TO CLUSTER
void FIS_WRITE_sendTEXT(String FIS_WRITE_line1,String FIS_WRITE_line2);
void FIS_WRITE_sendByte(int Bit);
void FIS_WRITE_startENA();
void FIS_WRITE_stopENA();
void FIS_WRITE_ACK();
//END WRITE TO CLUSTER
int ButPin = 10; // Подключаем кнопку к выходу 10
int flag = 0; // флаг состояния
int regim = 0; // Переключалка

void setup(){
//WRITE TO CLUSTER
pinMode(FIS_WRITE_ENA, OUTPUT);
digitalWrite(FIS_WRITE_ENA,LOW);
pinMode(FIS_WRITE_ENA,INPUT);
digitalWrite(FIS_WRITE_ENA,LOW);//disable pullup
attachInterrupt(FIS_WRITE_ENAINT,FIS_WRITE_ACK,FALLING);
pinMode(FIS_WRITE_CLK, OUTPUT); 
digitalWrite(FIS_WRITE_CLK, HIGH);
pinMode(FIS_WRITE_DATA, OUTPUT); 
digitalWrite(FIS_WRITE_DATA, HIGH);
pinMode(ButPin,HIGH);
Serial.begin(9600);



}

void loop(){
//WRITE TO CLUSTER


int sensor = analogRead(A0);
float mapsen = sensor * (3.0 / 1023.0);
int sensor1 = analogRead(A1);
float oil = sensor1 * (3.0 / 1023.0);
int sensor2 = analogRead(A2);
float vol = sensor2 * (15.0 / 1023.0);

if(digitalRead(ButPin) == HIGH && flag == 0) { 
regim ++;
flag = 1;
if(regim > 2) // Если номер режима превышает требуемого
{ // то отсчет начинается с нуля
regim = 0;}}
if(digitalRead(ButPin) == LOW && flag == 1)
{
flag = 0;}
// ======= Вполняем задачу при выборе режима =======
if(regim == 1){
FIS_WRITE_line1=("BOOST");
FIS_WRITE_line2=("BAR=",mapsen);}
if(regim == 2){
FIS_WRITE_line1=("VOLTAGE");
FIS_WRITE_line2=("V=",vol);}
if(regim == 0)

if (Serial.available()) {
    FIS_WRITE_CHAR_FROM_SERIAL=(char)Serial.read();
    Serial.print(FIS_WRITE_CHAR_FROM_SERIAL);
if (FIS_WRITE_CHAR_FROM_SERIAL == '~')
   {FIS_WRITE_nl=1;
if (FIS_WRITE_line==1)
   {FIS_WRITE_line=2;}
   else {FIS_WRITE_line=1;}}
   else {if (FIS_WRITE_line==1){
if (FIS_WRITE_nl)
   {FIS_WRITE_nl=0;
    FIS_WRITE_line1="";
    FIS_WRITE_rotary_position_line1=-8;}
    FIS_WRITE_line1+=FIS_WRITE_CHAR_FROM_SERIAL;}
   else {if (FIS_WRITE_nl)
   {FIS_WRITE_nl=0;
    FIS_WRITE_line2="";
    FIS_WRITE_rotary_position_line2=-8;}
    FIS_WRITE_line2+=FIS_WRITE_CHAR_FROM_SERIAL;}}}



   
  int FIS_WRITE_line1_length=FIS_WRITE_line1.length();
  int FIS_WRITE_line2_length=FIS_WRITE_line2.length();


  
   
    //do rotary and refresh each 0.5second
    //refresh cluster each 5s 
    if((millis()-FIS_WRITE_last_refresh)>250 && (FIS_WRITE_line1_length>0 || FIS_WRITE_line2_length>0)){
      if (FIS_WRITE_line1_length>8){
        FIS_WRITE_sendline1="        ";
      for (int i=0;i<8;i++){
        if (FIS_WRITE_rotary_position_line1+i>=0 && (FIS_WRITE_rotary_position_line1+i)<FIS_WRITE_line1_length) {
          FIS_WRITE_sendline1[i]=FIS_WRITE_line1[FIS_WRITE_rotary_position_line1+i];
        }
      }
       if (FIS_WRITE_rotary_position_line1<FIS_WRITE_line1_length){
              FIS_WRITE_rotary_position_line1++;
       } else {
              FIS_WRITE_rotary_position_line1=-8;
              FIS_WRITE_sendline1="        ";
       }
     } else {
       FIS_WRITE_sendline1=FIS_WRITE_line1;
     }
     if (FIS_WRITE_line2_length>8){
       FIS_WRITE_sendline2="        ";
      for (int i=0;i<8;i++){
        if (FIS_WRITE_rotary_position_line2+i>=0 && (FIS_WRITE_rotary_position_line2+i)<FIS_WRITE_line2_length) {
          FIS_WRITE_sendline2[i]=FIS_WRITE_line2[FIS_WRITE_rotary_position_line2+i];
        }
      }
       if (FIS_WRITE_rotary_position_line2<FIS_WRITE_line2_length){
              FIS_WRITE_rotary_position_line2++;
       } else {
             
              FIS_WRITE_rotary_position_line2=-8;
       }
     } else {
       FIS_WRITE_sendline2=FIS_WRITE_line2;
     }
      // Serial.println("refresh");
      //FIS_WRITE_sendTEXT(FIS_WRITE_sendline1,FIS_WRITE_sendline2);
      FIS_WRITE_last_refresh=millis();
    //end refresh
  }
  if (FIS_WRITE_ACKSTATE){
      FIS_WRITE_ACKSTATE=0;
      FIS_WRITE_sendTEXT(FIS_WRITE_sendline1,FIS_WRITE_sendline2);    
  }
//END WRITE TO CLUSTER  
}

//WRITE TO CLUSTER

void FIS_WRITE_ACK(){
  detachInterrupt(FIS_WRITE_ENAINT);
   FIS_WRITE_ACKSTATE=1;
};

void FIS_WRITE_sendTEXT(String FIS_WRITE_line1,String FIS_WRITE_line2) {
  
 // my
  Serial.println(FIS_WRITE_line1);
 // my
  Serial.println(FIS_WRITE_line2);
  int FIS_WRITE_line1_length=FIS_WRITE_line1.length();
  int FIS_WRITE_line2_length=FIS_WRITE_line2.length();
    if (FIS_WRITE_line1_length<=8){
        for (int i=0;i<(8-FIS_WRITE_line1_length);i++){
          FIS_WRITE_line1+=" ";
        } 
    }
    if (FIS_WRITE_line2_length<=8){
      for (int i=0;i<(8-FIS_WRITE_line2_length);i++){
        FIS_WRITE_line2+=" ";
      }
    }

  uint8_t FIS_WRITE_CRC=(0xFF^FIS_WRITE_START);

  FIS_WRITE_startENA();

  FIS_WRITE_sendByte(FIS_WRITE_START);

  for (int i = 0; i <= 7; i++)
  { 
    FIS_WRITE_sendByte(0xFF^FIS_WRITE_line1[i]);
    FIS_WRITE_CRC+=FIS_WRITE_line1[i];
  }
    for (int i = 0; i <= 7; i++)
  { 
    FIS_WRITE_sendByte(0xFF^FIS_WRITE_line2[i]);
    FIS_WRITE_CRC+=FIS_WRITE_line2[i];
  }
  
  FIS_WRITE_sendByte(FIS_WRITE_CRC%0x100);

  FIS_WRITE_stopENA();

}

void FIS_WRITE_sendByte(int Byte){
  static int iResult[8];
  for (int i = 0; i <= 7; i++)
  {    
    iResult[i] = Byte % 2;
    Byte = Byte / 2;
  }
  for(int i=7;i>=0;i--){
  switch (iResult[i]) {
    case 1: digitalWrite(FIS_WRITE_DATA,HIGH);
            break;
    case 0:digitalWrite(FIS_WRITE_DATA,LOW);
           break;
    }
    digitalWrite(FIS_WRITE_CLK,LOW);
    delayMicroseconds(FIS_WRITE_PULSEW);
    digitalWrite(FIS_WRITE_CLK,HIGH);
    delayMicroseconds(FIS_WRITE_PULSEW);
}
}

void FIS_WRITE_startENA(){
  //detachInterrupt(FIS_WRITE_ENAINT);
  pinMode(FIS_WRITE_ENA,INPUT);
  digitalWrite(FIS_WRITE_ENA,LOW);//disable pullup
  while (!digitalRead(FIS_WRITE_ENA)) {
  pinMode(FIS_WRITE_ENA,OUTPUT);
  digitalWrite(FIS_WRITE_ENA,HIGH);
  delay(10); //min 10!
  }
}

oid FIS_WRITE_stopENA(){
 digitalWrite(FIS_WRITE_ENA,LOW);
 pinMode(FIS_WRITE_ENA,INPUT);
 digitalWrite(FIS_WRITE_ENA,LOW);//disable pullup
 attachInterrupt(FIS_WRITE_ENAINT,FIS_WRITE_ACK,FALLING);
}
//END WRITE TO CLUSTER

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rgdaudi пишет:
Да далек я ото всего этого...

Ну, у Вас есть два варианта:

1. "Подойти поближе" - т.е. ознакомиться с языком и принципами программирования.

2. Обратиться в раздел "Ищу исполнителя". Там Вам помогут за соответствующее вознаграждение.

Здесь Вам могут помочь осуществить п.1 т.е. освоить программирование, но делать за Вас работу, которая никому кроме Вас не интересна, никто не будет.

Пока могу еще раз посоветовать прочитать и понять выдаваемую компилятором диагностику. На строку 69 не обращайте внимания, это наведенка от предыдущей строки, а вот в строке 70 все достатояно четко сформулировано: Вы пытаетесь использовать нигде не описанную переменную.

rgdaudi
Offline
Зарегистрирован: 19.02.2017

andriano пишет:

rgdaudi пишет:
Да далек я ото всего этого...

Ну, у Вас есть два варианта:

1. "Подойти поближе" - т.е. ознакомиться с языком и принципами программирования.

2. Обратиться в раздел "Ищу исполнителя". Там Вам помогут за соответствующее вознаграждение.

Здесь Вам могут помочь осуществить п.1 т.е. освоить программирование, но делать за Вас работу, которая никому кроме Вас не интересна, никто не будет.

Пока могу еще раз посоветовать прочитать и понять выдаваемую компилятором диагностику. На строку 69 не обращайте внимания, это наведенка от предыдущей строки, а вот в строке 70 все достатояно четко сформулировано: Вы пытаетесь использовать нигде не описанную переменную.

Спасибо огромное идем по пункту 1) я нашел в чем проблема была