Skocz do zawartości

Error: 'const class string' has no member named 'c_str'


NeghMC

Pomocna odpowiedź

Witam. ostatnimi czasy ćwiczę sobie programowanie mikrokontrolerów avr, do tego wykorzystuję program Arduino i programator usbasp. Chciałbym dodać plik tekstowy do karty SD, którą podłączyłem do atmegi 24a. Wszystko wykonywałem zgodnie z filmem:

I podczas kompilacji wyskakuje mi podany w temacie błąd. Podejrzewam że może on wynikać z tego iż używam magistrali ISP do programowania a nie UART-a. Szukałem w google lecz nie znalazłem żadnej pomocy dotyczącej tego. Ma ktoś pomysł na rozwiązanie tego problemu?

Link do komentarza
Share on other sites

Może błąd jest dlatego że zadeklarowałeś napis jako stałą (const), a później próbujesz grzebać w jego buforze - c_str() pozwoliłoby na zmianę stałej, więc kompilator ma prawo się pogniewać.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Elvis,

Sprawdzasz to na avr czy na arduino? W sensie czy przerzucasz projekt przez usbasp bezpośrednio na mikrokontroler?

Dodam jeszcze kod błędu:

Arduino: 1.8.0 (Windows 8.1), Board: "ATtiny24/44/84, Disabled, ATtiny24, 8 MHz (internal), B.O.D. Disabled, Counterclockwise (like ATTinyCore)"

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In member function 'void SPISettings::init_AlwaysInline(uint32_t, uint8_t, uint8_t)':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:146:16: error: 'SPE' was not declared in this scope

    spcr = _BV(SPE) | _BV(MSTR) | ((bitOrder == LSBFIRST) ? _BV(DORD) : 0) |

               ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:146:27: error: 'MSTR' was not declared in this scope

    spcr = _BV(SPE) | _BV(MSTR) | ((bitOrder == LSBFIRST) ? _BV(DORD) : 0) |

                          ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:146:65: error: 'DORD' was not declared in this scope

    spcr = _BV(SPE) | _BV(MSTR) | ((bitOrder == LSBFIRST) ? _BV(DORD) : 0) |

                                                                ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In static member function 'static void SPIClass::beginTransaction(SPISettings)':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:203:5: error: 'SPCR' was not declared in this scope

    SPCR = settings.spcr;

    ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:204:5: error: 'SPSR' was not declared in this scope

    SPSR = settings.spsr;

    ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In static member function 'static uint8_t SPIClass::transfer(uint8_t)':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:209:5: error: 'SPDR' was not declared in this scope

    SPDR = data;

    ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:217:14: error: 'SPSR' was not declared in this scope

    while (!(SPSR & _BV(SPIF))) ; // wait

             ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:217:25: error: 'SPIF' was not declared in this scope

    while (!(SPSR & _BV(SPIF))) ; // wait

                        ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In static member function 'static uint16_t SPIClass::transfer16(uint16_t)':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:223:11: error: 'SPCR' was not declared in this scope

    if (!(SPCR & _BV(DORD))) {

          ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:223:22: error: 'DORD' was not declared in this scope

    if (!(SPCR & _BV(DORD))) {

                     ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:224:7: error: 'SPDR' was not declared in this scope

      SPDR = in.msb;

      ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:226:16: error: 'SPSR' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

               ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:226:27: error: 'SPIF' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

                          ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:230:16: error: 'SPSR' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

               ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:230:27: error: 'SPIF' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

                          ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:233:7: error: 'SPDR' was not declared in this scope

      SPDR = in.lsb;

      ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:235:16: error: 'SPSR' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

               ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:235:27: error: 'SPIF' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

                          ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:239:16: error: 'SPSR' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

               ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:239:27: error: 'SPIF' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

                          ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In static member function 'static void SPIClass::transfer(void*, size_t)':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:247:5: error: 'SPDR' was not declared in this scope

    SPDR = *p;

    ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:250:16: error: 'SPSR' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

               ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:250:27: error: 'SPIF' was not declared in this scope

      while (!(SPSR & _BV(SPIF))) ;

                          ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:255:14: error: 'SPSR' was not declared in this scope

    while (!(SPSR & _BV(SPIF))) ;

             ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:255:25: error: 'SPIF' was not declared in this scope

    while (!(SPSR & _BV(SPIF))) ;

                        ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In static member function 'static void SPIClass::setBitOrder(uint8_t)':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:292:31: error: 'SPCR' was not declared in this scope

    if (bitOrder == LSBFIRST) SPCR |= _BV(DORD);

                              ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:292:43: error: 'DORD' was not declared in this scope

    if (bitOrder == LSBFIRST) SPCR |= _BV(DORD);

                                          ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:293:10: error: 'SPCR' was not declared in this scope

    else SPCR &= ~(_BV(DORD));

         ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:293:24: error: 'DORD' was not declared in this scope

    else SPCR &= ~(_BV(DORD));

                       ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In static member function 'static void SPIClass::setDataMode(uint8_t)':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:298:5: error: 'SPCR' was not declared in this scope

    SPCR = (SPCR & ~SPI_MODE_MASK) | dataMode;

    ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In static member function 'static void SPIClass::setClockDivider(uint8_t)':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:303:5: error: 'SPCR' was not declared in this scope

    SPCR = (SPCR & ~SPI_CLOCK_MASK) | (clockDiv & SPI_CLOCK_MASK);

    ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:304:5: error: 'SPSR' was not declared in this scope

    SPSR = (SPSR & ~SPI_2XCLOCK_MASK) | ((clockDiv >> 2) & SPI_2XCLOCK_MASK);

    ^

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In static member function 'static void SPIClass::attachInterrupt()':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:309:42: error: 'SPCR' was not declared in this scope

  inline static void attachInterrupt() { SPCR |= _BV(SPIE); }

                                         ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:309:54: error: 'SPIE' was not declared in this scope

  inline static void attachInterrupt() { SPCR |= _BV(SPIE); }

                                                     ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:1:0:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h: In static member function 'static void SPIClass::detachInterrupt()':

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:310:42: error: 'SPCR' was not declared in this scope

  inline static void detachInterrupt() { SPCR &= ~_BV(SPIE); }

                                         ^

In file included from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\io.h:99:0,

                from c:\users\grzegorz\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5\avr\include\avr\pgmspace.h:88,

                from C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\cores\tiny/Arduino.h:8,

                from sketch\sketch_dec28a.ino.cpp:1:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:310:55: error: 'SPIE' was not declared in this scope

  inline static void detachInterrupt() { SPCR &= ~_BV(SPIE); }

                                                      ^

In file included from C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2Card.h:26:0,

                from C:\Program Files (x86)\Arduino\libraries\SD\src/utility/SdFat.h:29,

                from C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:20,

                from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:2:

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h: At global scope:

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:424:5: error: 'DDRD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 0},  // D0  0

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:424:12: error: 'PIND' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 0},  // D0  0

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:424:19: error: 'PORTD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 0},  // D0  0

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:425:5: error: 'DDRD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 1},  // D1  1

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:425:12: error: 'PIND' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 1},  // D1  1

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:425:19: error: 'PORTD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 1},  // D1  1

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:426:5: error: 'DDRD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 2},  // D2  2

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:426:12: error: 'PIND' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 2},  // D2  2

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:426:19: error: 'PORTD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 2},  // D2  2

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:427:5: error: 'DDRD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 3},  // D3  3

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:427:12: error: 'PIND' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 3},  // D3  3

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:427:19: error: 'PORTD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 3},  // D3  3

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:428:5: error: 'DDRD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 4},  // D4  4

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:428:12: error: 'PIND' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 4},  // D4  4

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:428:19: error: 'PORTD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 4},  // D4  4

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:429:5: error: 'DDRD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 5},  // D5  5

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:429:12: error: 'PIND' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 5},  // D5  5

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:429:19: error: 'PORTD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 5},  // D5  5

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:430:5: error: 'DDRD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 6},  // D6  6

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:430:12: error: 'PIND' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 6},  // D6  6

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:430:19: error: 'PORTD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 6},  // D6  6

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:431:5: error: 'DDRD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 7},  // D7  7

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:431:12: error: 'PIND' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 7},  // D7  7

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:431:19: error: 'PORTD' was not declared in this scope

  {&DDRD, &PIND, &PORTD, 7},  // D7  7

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:438:5: error: 'DDRC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 0},  // C0 14

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:438:12: error: 'PINC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 0},  // C0 14

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:438:19: error: 'PORTC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 0},  // C0 14

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:439:5: error: 'DDRC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 1},  // C1 15

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:439:12: error: 'PINC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 1},  // C1 15

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:439:19: error: 'PORTC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 1},  // C1 15

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:440:5: error: 'DDRC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 2},  // C2 16

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:440:12: error: 'PINC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 2},  // C2 16

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:440:19: error: 'PORTC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 2},  // C2 16

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:441:5: error: 'DDRC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 3},  // C3 17

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:441:12: error: 'PINC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 3},  // C3 17

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:441:19: error: 'PORTC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 3},  // C3 17

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:442:5: error: 'DDRC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 4},  // C4 18

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:442:12: error: 'PINC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 4},  // C4 18

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:442:19: error: 'PORTC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 4},  // C4 18

                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:443:5: error: 'DDRC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 5}   // C5 19

    ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:443:12: error: 'PINC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 5}   // C5 19

           ^

C:\Program Files (x86)\Arduino\libraries\SD\src/utility/Sd2PinMap.h:443:19: error: 'PORTC' was not declared in this scope

  {&DDRC, &PINC, &PORTC, 5}   // C5 19

                  ^

In file included from C:\Users\Grzegorz\Desktop\sketch_dec28a\sketch_dec28a.ino:2:0:

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h: In member function 'SDLib::File SDLib::SDClass::open(const String&, uint8_t)':

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:77:87: error: 'const class String' has no member named 'c_str'

  File open(const String &filename, uint8_t mode = FILE_READ) { return open( filename.c_str(), mode ); }

                                                                                      ^

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h: In member function 'boolean SDLib::SDClass::exists(const String&)':

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:81:67: error: 'const class String' has no member named 'c_str'

  boolean exists(const String &filepath) { return exists(filepath.c_str()); }

                                                                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h: In member function 'boolean SDLib::SDClass::mkdir(const String&)':

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:86:65: error: 'const class String' has no member named 'c_str'

  boolean mkdir(const String &filepath) { return mkdir(filepath.c_str()); }

                                                                ^

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h: In member function 'boolean SDLib::SDClass::remove(const String&)':

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:90:67: error: 'const class String' has no member named 'c_str'

  boolean remove(const String &filepath) { return remove(filepath.c_str()); }

                                                                  ^

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h: In member function 'boolean SDLib::SDClass::rmdir(const String&)':

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:93:65: error: 'const class String' has no member named 'c_str'

  boolean rmdir(const String &filepath) { return rmdir(filepath.c_str()); }

                                                                ^

exit status 1
Error compiling for board ATtiny24/44/84.

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

I jeszcze co znaczy, że: "zadeklarowałem napis jako stałą (const), a później próbuję grzebać w jego buforze - c_str()" ?

Link do komentarza
Share on other sites

Teraz to co innego - masz dużo błędów 🙂

Pisząc o stałych miałem na myśli błąd z tematu wątka: "Error: 'const class string' has no member named 'c_str'"

Nie wstawiłeś wtedy jeszcze kodu, więc ciężko było zgadywać o co chodzi - komunikat o błędzie dotyczył próby wywołania metody modyfikującej obiekt dla stałej - co niewątpliwie jest błędem.

Jeśli kompilator zgłasza wiele błędów, pierwszy jak najczęściej przyczyną, pozostałe mogą być wynikiem niepoprawnej pracy kompilatora, który próbuje dalej szukać błędów - i tak pewnie jest w tej chwili. Masz problem z SPI, ponieważ próbujesz używać biblioteki SD dla układu atmega328. Na Attiny ta biblioteka raczej nie zadziała bez zmian. Więc albo poszukaj innej biblioteki, albo zmień procesor. Ewentualnie możesz zmodyfikować bibliotekę.

Problem jest tuaj:

C:\Users\Grzegorz\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.1.2\libraries\SPI/SPI.h:146:16: error: 'SPE' was not declared in this scope 

    spcr = _BV(SPE) | _BV(MSTR) | ((bitOrder == LSBFIRST) ? _BV(DORD) : 0) | 
Link do komentarza
Share on other sites

Podmieniłem mikroprocesor na Atmega8a-pu, teraz pojawia się inny błąd:

Arduino: 1.8.0 (Windows 8.1), Board: "ATmega8, Disabled (default), 8 MHz internal  (BOD 2.7v)"

c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.9.2/../../../../avr/bin/ld.exe: C:\Users\Grzegorz\AppData\Local\Temp\arduino_build_912738/sketch_dec28a.ino.elf section `.text' will not fit in region `text'

c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.9.2/../../../../avr/bin/ld.exe: region `text' overflowed by 3592 bytes

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board ATmega8.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Link do komentarza
Share on other sites

text to segment z programem - taką ma po prostu nazwę. Obsługa karty SD jest pamięciochłonna, a próbujesz wykorzystać układ który ma raptem 8KB pamięci. To się po prostu nie uda.

Nawet Arduino UNO ma na pokładzie Atmegę 328 - to chociaż 32K na program

Link do komentarza
Share on other sites

Problemy problemy, zamieniłem na atmega328p i wszystko piękine, ale pojawia się błąd:

Arduino: 1.8.0 (Windows 8.1), Board: "ATmega328, 328P / 328PA, 2.7v, Enabled, 8 MHz internal"

Sketch uses 10546 bytes (32%) of program storage space. Maximum is 32256 bytes.
Global variables use 890 bytes (43%) of dynamic memory, leaving 1158 bytes for local variables. Maximum is 2048 bytes.
An error occurred while uploading the sketch

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

EDIT:

Karta miała zablokowaną edycję zawartości, zapomniałem przesunąć tego małego plastikowego elementu na jej boku.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.