#2 Re: Програмування Arduino » Проблема симуляції OLED 1306 в Proteus » 2023-10-26 14:01:04

Якщо комусь є потреба в рабочому проекті і переробленому на український шрифт OLED_I2C в архіві файли проекту Arduino, Proteus і бібліотека OLED_I2C.

OLED_I2C.7z

OLED_I2C_Arduino_Medium_sourse_OLED_rus.zip

DefaultFonts.zip

#3 Re: Програмування Arduino » Проблема симуляції OLED 1306 в Proteus » 2023-10-16 15:29:53

Проблема була вирішена. Вона була в елементі OLED з шиною SPI, який використовувався у схемі з I2C. Заміна елементу OLED вирішила проблему симуляції кода в вкладці (Sourse code) Proteus. Тепер можливо інтерактивно змінювати програму і дивитися результат в симуляції Proteus 8.15
Кому знадобиться, може використовувати файли проекту з OLED 128x64 I2C.


OLED_I2C_Arduino_test_sourse_ASOLED_20231016-1531.zip

#4 Re: Програмування Arduino » Проблема симуляції OLED 1306 в Proteus » 2023-09-29 15:29:40

г0cть пише:

Asoled

Я зібрав проект і він дійсно працює. Але це використання hex файла, а не программування Source кода в редакторі кода Proteus. А мені хотілось використовувати редактор кода Proteus. Що можно зробити для цього?

#6 Re: Програмування Arduino » Проблема симуляції OLED 1306 в Proteus » 2023-09-29 14:48:33

Дякую за допомогу, але і ця бібліотека не симулюється в Proteus 8.15.

Video_2023-09-29_144605.rar

Це приклад рабочогої симуляції: Adafruit

Adafruit.rar

#7 Re: Програмування Arduino » Проблема симуляції OLED 1306 в Proteus » 2023-09-29 13:39:58

OLED_I2C_Arduino_OLED_20230929-1415.rar               - проект Proteus  8.15

OLED_I2C.zip            бібліотека  OLED_I2C

iarduino_OLED-1_2_0.zip            бібліотека  iarduino_OLED

iarduino_OLED_txt-1_2_0.zip            бібліотека  iarduino_OLED_txt

Adafruit_SSD1306-2_5_7GFX.zip            бібліотека  Adafruit

#8 Програмування Arduino » Проблема симуляції OLED 1306 в Proteus » 2023-09-29 13:29:17

alexgum
відповідей: 10

Маючи намір зробити проект з Ардуіно Нано в Протеусі зіштохнувся з проблемою симуляцієх дисплею OLED 1306 I2C з платою Arduino Nano в Proteus 8.15. Перебрав буквально всі бібліотеки OLED 1306 I2C і вияснив, що симулюється тільки одна: <Adafruit_GFX.h> + <Adafruit_SSD1306.h>. Але вона займає дуже багато пам'яті ОЗУ Ардуіно і тому не підходить. Бібліотека OLED_I2C запускається, але на екрані симуляції Proteus нічого не відображається. Бібліотека iarduino_OLED не запускається з помилкою :

In file included from C:/Users/Alex/Documents/Arduino/libraries/iarduino_OLED-1.2.0/src/iarduino_OLED.h:21:0,
                 from ../main.ino:42:
C:/Users/Alex/Documents/Arduino/libraries/iarduino_OLED-1.2.0/src/iarduino_OLED_I2C.h: In member function 'virtual bool iarduino_I2C::readBytes(uint8_t, uint8_t, uint8_t*, uint8_t)':
C:/Users/Alex/Documents/Arduino/libraries/iarduino_OLED-1.2.0/src/iarduino_OLED_I2C.h:145:24: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
      if (sum) { if(TWSR&0xF8!=0x50) {  i=0;}}    // Если после чтения очередного байта пакета значение регистра состояния lины I2C Arduino TWSR с маской 0xF8 не равно 0x50 значит произоlла оlибка при чтении
                        ^
C:/Users/Alex/Documents/Arduino/libraries/iarduino_OLED-1.2.0/src/iarduino_OLED_I2C.h:146:21: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
      else  { if(TWSR&0xF8!=0x58) {  i=0;}}    // Если после чтения последного байта пакета значение регистра состояния lины I2C Arduino TWSR с маской 0xF8 не равно 0x58 значит произоlла оlибка при чтении
                     ^
C:/Users/Alex/Documents/Arduino/libraries/iarduino_OLED-1.2.0/src/iarduino_OLED_I2C.h: In member function 'virtual bool iarduino_I2C::readBytes(uint8_t, uint8_t*, uint8_t)':
C:/Users/Alex/Documents/Arduino/libraries/iarduino_OLED-1.2.0/src/iarduino_OLED_I2C.h:168:24: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
      if (sum) { if(TWSR&0xF8!=0x50) {  i=0;}}    // Если после чтения очередного байта пакета значение регистра состояния lины I2C Arduino TWSR с маской 0xF8 не равно 0x50 значит произоlла оlибка при чтении
                        ^
C:/Users/Alex/Documents/Arduino/libraries/iarduino_OLED-1.2.0/src/iarduino_OLED_I2C.h:169:21: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
      else  { if(TWSR&0xF8!=0x58) {  i=0;}}    // Если после чтения последного байта пакета значение регистра состояния lины I2C Arduino TWSR с маской 0xF8 не равно 0x58 значит произоlла оlибка при чтении
                     ^

main.o: In function `iarduino_I2C_BASE::iarduino_I2C_BASE()':
C:/Users/Alex/Documents/Arduino/libraries/iarduino_OLED-1.2.0/src/iarduino_OLED_I2C.h:35: undefined reference to `vtable for iarduino_I2C_BASE'
C:/Users/Alex/Documents/Arduino/libraries/iarduino_OLED-1.2.0/src/iarduino_OLED_I2C.h:35: undefined reference to `vtable for iarduino_I2C_BASE'
collect2.exe: error: ld returned 1 exit status
make: *** [Debug.elf] Error 1

Код ошибки 2


Необхідна допомога фахівців. Що можна зробити для симуляції OLED 1306 I2C в Proteus 8.15 з кірилицею?

OLED_I2C_Arduino_OLED_20230929-1415.rar               - проект Proteus 8.15

Підвал форуму