Error lcd was not declared in this scope

Ошибка выглядит так: Arduino: 1.8.2 (Windows 8.1), Плата:"Arduino/Genuino Uno" C:UsersUserDocumentsArduinozvukzvuk.ino: In function 'void...
  1. Ошибка выглядит так:
    Arduino: 1.8.2 (Windows 8.1), Плата:»Arduino/Genuino Uno»

    C:UsersUserDocumentsArduinozvukzvuk.ino: In function ‘void loop()’:

    zvuk:42: error: ‘lcd’ was not declared in this scope

    lcd.backlight();

    ^

    exit status 1
    ‘lcd’ was not declared in this scope

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

    скетч:
    #include <Wire.h>

    boolean lcdon; // состояние лампы: true — включено, false — выключено
    #include <LiquidCrystal_I2C.h> // подключаем библиотеку ЖКИ
    #define printByte(args) write(args); //
    int Value=0;
    float Value_volt=0;

    void setup() // процедура setup

    {

    pinMode(12,OUTPUT); // пин 12 со светодиодом будет выходом (англ. «output»)

    pinMode(A0,INPUT); // к аналоговому входу A0 подключим датчик (англ. «intput»)

    lcdon=false; // начальное состояние — лампа выключена

    Serial.begin(9600); // подключаем монитор порта

    LiquidCrystal_I2C lcd(0x27,16,2); // Задаем адрес и размерность дисплея

    lcd.init(); // Инициализация lcd
    lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки

    }

    void loop() // процедура loop

    {
    Serial.println (analogRead(A0)); // выводим значение датчика на монитор
    if(analogRead(A0)>28) // регистрация хлопка на датчике звука

    {
    lcdon=!lcdon; // меняем статус лампы при регистрации хлопка
    Value = analogRead(A0);
    lcd.backlight();
    lcd.print (Value)

    delay(20); // задержка, «дребезга» хлопков

    }

    }

  2. вынеси обьявление lcd из setup() наружу

  3. переменные описанные в функции являются локальными и внутри другой функции не видны. lcd у тебя создаеца внутри функции setup(), соттвецтно loop() ничего про нее не знает.

  4. пацкаска
    int Value=0;
    float Value_volt=0;
    видны внутри обеих функций, а lcd — только унутре setup()

    дальше жувать?

  5. ничего не изменилось

    #include <Wire.h>

    boolean lcdon; // состояние лампы: true — включено, false — выключено
    #include <LiquidCrystal_I2C.h> // подключаем библиотеку ЖКИ
    #define printByte(args) write(args); //
    int Value=0;
    float Value_volt=0;

    void setup() // процедура setup

    {

    pinMode(12,OUTPUT); // пин 12 со светодиодом будет выходом (англ. «output»)

    pinMode(A0,INPUT); // к аналоговому входу A0 подключим датчик (англ. «intput»)

    lcdon=false; // начальное состояние — лампа выключена

    Serial.begin(9600); // подключаем монитор порта

    LiquidCrystal_I2C lcd(0x27,16,2); // Задаем адрес и размерность дисплея

    }

    void loop() // процедура loop

    {
    Serial.println (analogRead(A0)); // выводим значение датчика на монитор
    if(analogRead(A0)>28) // регистрация хлопка на датчике звука

    {
    lcdon=!lcdon; // меняем статус лампы при регистрации хлопка
    lcd.init(); // Инициализация lcd
    lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки

    Value = analogRead(A0);
    lcd.backlight();
    lcd.print (Value)

    delay(20); // задержка, «дребезга» хлопков

    }

    }

  6. ничего не поменял — ничего и не изменилось.
    и этта, код вставляй какследовает.

  7. перед setup вставлять lcd?

  8. Именно к этому я тебя и веду

It’s telling me that «accelerometer» and «lcd» were not declared in this scope when they’re used in PIT0_IRQHandler. None of the solutions I’ve found online have worked as of yet so I figured I’d just post it up. I’m pretty new to this as well so feel free to point out any and every error included

    #include <stdio.h>
    #include "system.h"
    #include "derivative.h"
    #include "hardware.h"
    #include "delay.h"
    #include "lcd.h"
    #include "i2c.h"
    #include "level.h"
    #include "mma845x.h"
    #include "tone.h"
    #include "accel.h"

    /// LCD dimensions and centerpoint
    #define LCD_WIDTH  (LCD_X_MAX-LCD_X_MIN)
    #define LCD_HEIGHT (LCD_Y_MAX-LCD_Y_MIN)
    #define CENTRE_X   ((LCD_X_MAX-LCD_X_MIN)/2)
    #define CENTRE_Y   ((LCD_Y_MAX-LCD_Y_MIN)/2)

    #define BACKGROUND_COLOUR (RED)
    #define FOREGROUND_COLOUR (WHITE)
    #define CIRCLE_RADIUS (20)

    using namespace USBDM;

    void initialisePIT(int channel, uint32_t interval) {
        // Enable clock to PIT
        SIM->SCGC6  |= SIM_SCGC6_PIT_MASK;
        // Enable PIT module
        PIT->MCR     = PIT_MCR_FRZ_MASK;
        // Set reload value
        PIT->CHANNEL[channel].LDVAL  = interval-1;
        // Enable this channel with interrupts
        PIT->CHANNEL[channel].TCTRL = PIT_TCTRL_TEN_MASK|PIT_TCTRL_TIE_MASK;
        // Enable PITn interrupts in NVIC
        NVIC_EnableIRQ((IRQn_Type)(PIT0_IRQn+channel));
        // Set arbitrary priority level
        NVIC_SetPriority((IRQn_Type)(PIT0_IRQn+channel), 8);
    }

    void initialiseLCD(){
        // Instantiate SPI interface class
        Spi *spi = new Spi0();
        // Instantiate LCD interface class
        Lcd *lcd = new Lcd(spi);
        // Clear Background and set to a preset (Set above) colour
        lcd->clear(BACKGROUND_COLOUR);
        // Draw crosshairs and initial circle on the screen
        lcd->drawLine(LCD_WIDTH/2,LCD_WIDTH/2,0,LCD_HEIGHT,BLACK);
        lcd->drawLine(0,LCD_WIDTH,LCD_HEIGHT/2,LCD_HEIGHT/2,BLACK);
        lcd->drawCircle(CENTRE_X, CENTRE_Y, 20, WHITE);
    }

    void initialiseAccel()
    {
        I2c *i2c = new I2c0();
        MMA845x *accelerometer = new MMA845x(i2c, MMA845x::ACCEL_2Gmode);
    }

    void PIT0_IRQHandler(void) {
        int accelStatus;
        int16_t accelX,accelY,accelZ;
        accelerometer->readAccelerometerXYZ(&accelStatus, &accelX, &accelY, &accelZ);

        lcd->clear(BACKGROUND_COLOUR);
        lcd->drawCircle(accelX,accelY,20,WHITE);

        // Clear the interrupt request from PIT
        PIT->CHANNEL[0].TFLG = PIT_TFLG_TIF_MASK;
    }

Hi there,

I’m currently building Prusa i3 rework and trying to get Marlin to compile.
I’m following these instructions [reprap.org] and have downloaded this already modified file [reprap.pt]

As is, this file compiles without problems.

I’m trying to install a RepRapDiscount Full Graphic Smart Controller as per [reprap.org]
I have U8glib installed.

If i enable this in configuration.h

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Compiling will fail with:

Arduino: 1.6.8 (Windows 7), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

sketchMarlin_main.cpp:2108:36: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix]

         LCD_MESSAGEPGM(MACHINE_NAME" "MSG_OFF".");

                                    ^

In file included from sketchdogm_lcd_implementation.h:40:0,

                 from sketchultralcd.cpp:36:

sketchultralcd_st7920_u8glib_rrd.h: In function 'uint8_t u8g_dev_rrd_st7920_128x64_fn(u8g_t*, u8g_dev_t*, uint8_t, void*)':

sketchultralcd_st7920_u8glib_rrd.h:40:95: warning: large integer implicitly truncated to unsigned type [-Woverflow]

 #define ST7920_WRITE_BYTE(a)     {ST7920_SWSPI_SND_8BIT((a)&0xf0);ST7920_SWSPI_SND_8BIT((a)<<4);u8g_10MicroDelay();}

                                                                                               ^

sketchultralcd_st7920_u8glib_rrd.h:63:9: note: in expansion of macro 'ST7920_WRITE_BYTE'

         ST7920_WRITE_BYTE(0x3E);       //extended mode + GDRAM active

         ^

sketchultralcd_st7920_u8glib_rrd.h:40:95: warning: large integer implicitly truncated to unsigned type [-Woverflow]

 #define ST7920_WRITE_BYTE(a)     {ST7920_SWSPI_SND_8BIT((a)&0xf0);ST7920_SWSPI_SND_8BIT((a)<<4);u8g_10MicroDelay();}

                                                                                               ^

sketchultralcd_st7920_u8glib_rrd.h:67:11: note: in expansion of macro 'ST7920_WRITE_BYTE'

           ST7920_WRITE_BYTE(0x80);     //set x = 0

           ^

sketchultralcd_st7920_u8glib_rrd.h:40:95: warning: large integer implicitly truncated to unsigned type [-Woverflow]

 #define ST7920_WRITE_BYTE(a)     {ST7920_SWSPI_SND_8BIT((a)&0xf0);ST7920_SWSPI_SND_8BIT((a)<<4);u8g_10MicroDelay();}

                                                                                               ^

sketchultralcd_st7920_u8glib_rrd.h:94:13: note: in expansion of macro 'ST7920_WRITE_BYTE'

             ST7920_WRITE_BYTE(0x80);           //x=0

             ^

sketchultralcd_st7920_u8glib_rrd.h:40:95: warning: large integer implicitly truncated to unsigned type [-Woverflow]

 #define ST7920_WRITE_BYTE(a)     {ST7920_SWSPI_SND_8BIT((a)&0xf0);ST7920_SWSPI_SND_8BIT((a)<<4);u8g_10MicroDelay();}

                                                                                               ^

sketchultralcd_st7920_u8glib_rrd.h:99:13: note: in expansion of macro 'ST7920_WRITE_BYTE'

             ST7920_WRITE_BYTE(0x80 | 8);       //x=64

             ^

sketchultralcd.cpp: In function 'void config_lcd_level_bed()':

ultralcd.cpp:758: error: 'lcd' was not declared in this scope

   lcd.clear(); 

   ^

sketchultralcd.cpp: In function 'void lcd_level_bed_cooling()':

ultralcd.cpp:769: error: 'lcd' was not declared in this scope

           lcd.setCursor(0, 0);

           ^

ultralcd.cpp:791: error: 'lcd' was not declared in this scope

    lcd.clear();

    ^

sketchultralcd.cpp: In function 'void lcd_level_bed()':

ultralcd.cpp:800: error: 'lcd' was not declared in this scope

        lcd.clear(); 

        ^

sketchultralcd.cpp: In function 'void lcd_load_material_extrud_1()':

ultralcd.cpp:944: error: 'lcd' was not declared in this scope

     lcd.setCursor(3, 2);

     ^

sketchultralcd.cpp: In function 'void lcd_unload_material_extrud_1()':

ultralcd.cpp:990: error: 'lcd' was not declared in this scope

     lcd.setCursor(3, 2);

     ^

sketchultralcd.cpp: In function 'void lcd_init()':

ultralcd.cpp:1418: error: 'lcd' was not declared in this scope

     lcd.clear();

     ^

exit status 1
'lcd' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Any ideas?

Edited 1 time(s). Last edit at 05/04/2016 09:51AM by Veesta.

Понравилась статья? Поделить с друзьями:
  • Error of failed request badaccess attempt to access private resource denied
  • Error in resonance
  • Error in render typeerror cannot read property normalized of undefined
  • Error getting validation data letsencrypt
  • Error fork was not declared in this scope