#1 2023-09-29 13:29:17

alexgum
Учасник
Зареєстрований: 2023-09-29
Повідомлень: 8

Проблема симуляції OLED 1306 в Proteus

Маючи намір зробити проект з Ардуіно Нано в Протеусі зіштохнувся з проблемою симуляцієх дисплею 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

Остання редакція alexgum (2023-09-29 14:17:24)

Неактивний

#2 2023-09-29 13:39:58

alexgum
Учасник
Зареєстрований: 2023-09-29
Повідомлень: 8

Re: Проблема симуляції OLED 1306 в Proteus

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

Остання редакція alexgum (2023-09-29 14:22:02)

Неактивний

#3 2023-09-29 14:19:52

г0cть
Гість

Re: Проблема симуляції OLED 1306 в Proteus

Якщо не потрібна графіка - Asoled.h

#4 2023-09-29 14:48:33

alexgum
Учасник
Зареєстрований: 2023-09-29
Повідомлень: 8

Re: Проблема симуляції OLED 1306 в Proteus

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

Video_2023-09-29_144605.rar

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

Adafruit.rar

Остання редакція alexgum (2023-09-29 15:13:26)

Неактивний

#5 2023-09-29 15:10:51

г0cть
Гість

Re: Проблема симуляції OLED 1306 в Proteus

https://ibb.co/7YCRWsX

#6 2023-09-29 15:16:12

alexgum
Учасник
Зареєстрований: 2023-09-29
Повідомлень: 8

Re: Проблема симуляції OLED 1306 в Proteus

г0cть пише:

https://ibb.co/7YCRWsX

Це приклад чого?

Неактивний

#7 2023-09-29 15:17:41

г0cть
Гість

Re: Проблема симуляції OLED 1306 в Proteus

Asoled

#8 2023-09-29 15:29:40

alexgum
Учасник
Зареєстрований: 2023-09-29
Повідомлень: 8

Re: Проблема симуляції OLED 1306 в Proteus

г0cть пише:

Asoled

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

Неактивний

#9 2023-10-16 15:29:53

alexgum
Учасник
Зареєстрований: 2023-09-29
Повідомлень: 8

Re: Проблема симуляції OLED 1306 в Proteus

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


OLED_I2C_Arduino_test_sourse_ASOLED_20231016-1531.zip

Остання редакція alexgum (2023-10-16 15:32:54)

Неактивний

#10 2023-10-26 14:01:04

alexgum
Учасник
Зареєстрований: 2023-09-29
Повідомлень: 8

Re: Проблема симуляції OLED 1306 в Proteus

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

OLED_I2C.7z

OLED_I2C_Arduino_Medium_sourse_OLED_rus.zip

DefaultFonts.zip

Остання редакція alexgum (2023-10-26 14:30:26)

Неактивний

#11 2023-12-22 13:29:49

alexgum
Учасник
Зареєстрований: 2023-09-29
Повідомлень: 8

Re: Проблема симуляції OLED 1306 в Proteus

Обновлення проекту без hex файла, а з використанням Source code Proteus!

OLED_I2C_Arduino_Source_Code.rar

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

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