Уменьшить размер скетча

postal2201
Offline
Зарегистрирован: 05.01.2017

Друзья, есть скетч для attiny25 но в наличии только attiny13 , помогите умешьшить размер скетча чтобы запихнуть его в attiny13. Не хвтвет буквально 22 байта.

https://cloud.mail.ru/public/2nWT/irUVWhnFs

nik182
Offline
Зарегистрирован: 04.05.2015

Замените все pinMode  digitalWrite на  DDRB=   PORTB=   и будет вам счастье.

Странно скомпилился точно в размер и так

Скетч использует 1 024 байт (50%) памяти устройства. Всего доступно 2 048 байт.
Глобальные переменные используют 9 байт (7%) динамической памяти, оставляя 119 байт для локальных переменных. Максимум: 128 байт.
Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014
postal2201
Offline
Зарегистрирован: 05.01.2017

nik182 пишет:

Странно скомпилился точно в размер и так

А в чем компилили? У меня почему-то 1046 байт 51%.

Неного оффтопа. При компиляции скетча в Arduino IDE 1.8, во временной попке помимо hex появляется еще и eep, с каким-то странным содержимым. Для чего он? Напрямую залить скеч в тини13 через Arduino IDE не получается, использую tl866, поэтому нужен hex.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

eep - файл для EEPROM. С уважением, искренне Ваш Кэп.

postal2201
Offline
Зарегистрирован: 05.01.2017

Я знаю что для  eeprom

:00000001FF

Вот и все содержание eep

 

postal2201
Offline
Зарегистрирован: 05.01.2017

Друзья, переделел скетч, но он не хочет компилится под Attiny13a. Под другие тиньки\ардуинуи без проблем. Ругается на подключаемую либу Flash.h

Arduino: 1.8.0 (Windows 7), Плата:"ATtiny13, 9.6 MHz internal osc., 1.8v, -Os LTO enabled (default)"

In file included from C:\Users\Diesel\Desktop\NeeV6\NeeV6.ino:118:0:

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:57:22: error: 'Print' has not been declared

   virtual void print(Print &stream) const = 0;

                      ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:101:14: error: 'Print' has not been declared

   void print(Print &stream) const;

              ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:140:14: error: 'Print' has not been declared

   void print(Print &stream) const

              ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h: In member function 'void _FLASH_ARRAY<T>::print(int&) const':

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:144:14: error: request for member 'print' in 'stream', which is of non-class type 'int'

       stream.print((*this)[i]);

              ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:146:16: error: request for member 'print' in 'stream', which is of non-class type 'int'

         stream.print(",");

                ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h: At global scope:

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:180:14: error: 'Print' has not been declared

   void print(Print &stream) const

              ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h: In member function 'void _FLASH_TABLE<T>::print(int&) const':

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:186:14: error: request for member 'println' in 'stream', which is of non-class type 'int'

       stream.println();

              ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h: At global scope:

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:211:14: error: 'Print' has not been declared

   void print(Print &stream) const

              ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h: In member function 'virtual void _FLASH_STRING_ARRAY::print(int&) const':

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:217:14: error: request for member 'println' in 'stream', which is of non-class type 'int'

       stream.println();

              ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h: At global scope:

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:235:8: error: 'Print' does not name a type

 inline Print &operator <<(Print &stream, T arg) 

        ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:240:8: error: 'Print' does not name a type

 inline Print &operator <<(Print &stream, const _Printable &printable) 

        ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:243:8: error: 'Print' does not name a type

 inline Print &operator <<(Print &stream, const _FLASH_STRING &printable) 

        ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:247:8: error: 'Print' does not name a type

 inline Print &operator <<(Print &stream, const _FLASH_ARRAY<T> &printable) 

        ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:251:8: error: 'Print' does not name a type

 inline Print &operator <<(Print &stream, const _FLASH_TABLE<T> &printable) 

        ^

C:\Users\Diesel\Documents\Arduino\libraries\Flash\src/Flash.h:254:8: error: 'Print' does not name a type

 inline Print &operator <<(Print &stream, const _FLASH_STRING_ARRAY &printable) 

        ^

exit status 1
Ошибка компиляции для платы ATtiny13.

 https://cloud.mail.ru/public/BUSX/4Y1TzKFE2

Помогите исправить пожалуйста.