-
Thread
SSD1306/1309 Library zum Darstellen von Text auf OLED Displays
/greiman/SSD1306Ascii
). Dann noch die Header einbinden und los gehts: [c] #include "stm32f10x.h" #include "SSD1306_i2c.h" int main(void) { ssd1306_InitializeDisplay(); while(1) { ssd1306_clrscr(); ssd1306_puts("Das sind 22 Zeichen!"); ssd1306_gotoxy(0,7); ssd1306_puts
-
Thread
Display"fehler" bei OLED Module IIC I2C 128x64
(0xDB); //--set vcomh SSD1306_WRITECOMMAND(0x20); //0x20,0.77xVcc SSD1306_WRITECOMMAND(0x8D); //--set DC-DC enable SSD1306_WRITECOMMAND(0x14); // SSD1306_WRITECOMMAND(0xAF); //--turn on SSD1306 panel SSD1306_WRITECOMMAND
0x10); /* Write multi data */ ssd1306_I2C_WriteMulti(SSD1306_I2C_ADDR, 0x40, &SSD1306_Buffer[SSD1306_WIDTH * m], SSD1306_WIDTH); } } [/pre]
-
Thread
OpenSTM32 Import von Source und Header files
nicht vorhanden wäre. "Description Resource Path Location Type undefined reference to `ssd1306_WriteCommand' ssd1306.c /Oled/Src line 70 C/C++ Problem"´ // Send a byte to the command register void ssd1306_WriteCommand(uint8_t byte) { HAL_I2C_Mem_Write(&SSD1306_I2C_PORT, SSD1306
Ich verwende diese Files: https://github.com/afiskon/stm32-ssd1306/tree/master/ssd1306
-
Thread
SainSmart SPI_1.3_OLED
ssd1306_write_byte (const uint8_t x, const uint8_t page, const uint8_t byte) { ssd1306_write_instruction (SSD1306_SET_PAGE_START_ADDR | page); ssd1306_write_instruction (SSD1306_SET_COL_LO_NIBBLE | (x & 0xF)); ssd1306_write_instruction (SSD1306_SET_COL_HI_NIBBLE | (x >> 4)); ssd1306_write_data(byte); } void ssd1306_clear_screen (void) { ssd1306_reset_cursor (); for (uint16_t byte = 0; byte < SSD1306
-
Thread
OLED zeigt nur wirre Pixel am I2C
setup() { Serial.begin(9600); Wire.setClock(100000); // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't
steuere OLEDS mit Text SO an. Nur ausschnitte aus den Code !!!! #include <Wire.h> #include "SSD1306Ascii.h" #include "SSD1306AsciiWire.h" #define oled_adresse 0x3C SSD1306AsciiWire oled; void setup() { Wire.begin(); Wire.setClock(400000L); oled.begin(&Adafruit128x64, oled_adresse
-
Thread
OOP mehrere Geräte an mehreren Schnittstellen organisieren
das was ich gebraucht habe. Es funktioniert, er zeigt mir jedoch beim Konstruktoraufruf [code] SSD1306display display1(0x78, 0, &i2c1TxDaten[0]); //bzw. SSD1306display display1(0x78, 0, i2c1TxDaten); [/code] den Fehler [code] Invalid arguments ' Candidates are: SSD1306display(const SSD1306display
[code] class SSD1306display ... [/code] ist ja auch kein Funktionsrumpf.
-
Thread
Oled Display SSD1306: Manchmal hängt es beim Init!
+= ssd1306_writeCommand(0xDB); // Set vcomh status += ssd1306_writeCommand(0x20); // 0x20,0.77xVcc status += ssd1306_writeCommand(0x8D); // Set DC-DC enable status += ssd1306_writeCommand
screen ssd1306_UpdateScreen(); // Set default values for screen object SSD1306.CurrentX = 0; SSD1306.CurrentY = 0; SSD1306.Initialized = 1; return 0; } [/c]
-
Thread
STM32 OLED MiniScope
; // Sample rate 1.5 cycles HAL_ADC_Start (&hadc1); ssd1306_SetCursor(0,0); ssd1306_WriteString("100us", Font_7x10, White); ssd1306_UpdateScreen(); break; case 1: TIM3->ARR = 800;
; // Sample rate 7.5 cycles HAL_ADC_Start (&hadc1); ssd1306_SetCursor(0,0); ssd1306_WriteString("250us", Font_7x10, White); ssd1306_UpdateScreen(); break; case 2: TIM3->ARR = 1600;
-
Thread
Fehlermeldung beim Kompilieren mit arduino 1.06
\Local\Temp\build3060804281612396710.tmp\Adafruit_SSD1306\Adafruit_SSD1306.cpp.o C:\Program Files\Arduino\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp: In member function 'virtual void Adafruit_SSD1306::drawPixel(int16_t, int16_t, uint16_t)': C:\Program Files\Arduino\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp:111: error: 'swap' was not declared in this scope C:\Program Files\Arduino\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp: In member function 'virtual void Adafruit_SSD1306:
-
Thread
SSD1309 STM32
#ifndef SSD1306_CS_Pin #define SSD1306_CS_Pin GPIO_PIN_7 #endif #ifndef SSD1306_DC_Port #define SSD1306_DC_Port GPIOA #endif #ifndef SSD1306_DC_Pin #define SSD1306_DC_Pin GPIO_PIN_0 #endif #ifndef SSD1306_Reset_Port #define SSD1306_Reset_Port GPIOA #endif #ifndef SSD1306_Reset_Pin #define SSD1306_Reset_Pin GPIO_PIN_8 #endif
-
Thread
Arduino / OLED lässt sich nicht einbinden
> OLED Was für eines? 128 * 32 128 * 64 96 * 16 Je nachdem musst Du in der Adafruit_SSD1306.h das Define anpassen [c] -----------------------------------------------------------------------*/ // #define SSD1306_128_64 #define SSD1306_128_32 // #define SSD1306_96_16 /*==
praktisch, wenn Du verwendete Teile aus dem Beispielcode https://github.com/adafruit/Adafruit_SSD1306/blob/master/examples/ssd1306_128x64_i2c/ssd1306_128x64_i2c.ino korrekt übernehmen würdest [c] #if (SSD1306_LCDHEIGHT != 64) #error("Height incorrect, please fix Adafruit_SSD1306.h!"); #endif
-
Thread
Kleine Frage zu TWI bzw. I²C Ansteuerung
[c] void ssd1306_command_start (void) { I2C_SetStart (SSD1306_SA); // Slave address I2C_WriteByte (0x00); // write command } void ssd1306_send_command (uint8_t command) { ssd1306_command_start
Bessa Wissa schrieb im Beitrag #5693087: > void ssd1306_command_start (void) > { > I2C_SetStart (SSD1306_SA); // Slave address > I2C_WriteByte (0x00); // write command > } > > void ssd1306_send_command (uint8_t command) > { > ssd1306
-
Thread
STM32: 2x PWM mit Phasenversatz?
, &Font_7x10, 1); SSD1306_GotoXY (5,30); SSD1306_Puts ("freq", &Font_7x10, 1); SSD1306_GotoXY (55,30); SSD1306_Puts (frequenzwert , &Font_7x10, 1); SSD1306_GotoXY (5,41); SSD1306_Puts (
, &Font_7x10, 1); SSD1306_GotoXY (5,52); SSD1306_Puts ("o1:", &Font_7x10, 1); SSD1306_GotoXY (30,52); SSD1306_Puts (offsetwert1, &Font_7x10, 1); SSD1306_GotoXY (70,52); SSD1306_Puts ("o2
-
Thread
SSD1305 mit STM32
* SSD1306 settings */ /* SSD1306 width in pixels */ #ifndef SSD1306_WIDTH #define SSD1306_WIDTH 128 #endif /* SSD1306 LCD height in pixels */ #ifndef SSD1306_HEIGHT #define SSD1306_HEIGHT
sein wird.. Was würde das konkret bedeuten, das anzupassen? Müsste ich dafür in Zeilen wie [c] SSD1306_WRITECOMMAND(0xAE); //display off SSD1306_WRITECOMMAND(0x20); //Set Memory Addressing Mode SSD1306_WRITECOMMAND(0x10); SSD1306_WRITECOMMAND(0xB0); [/c] Die Befehle (zB 0xAE) ersetzen
-
Thread
Display mit SSD1306 Controller ansteuern
einwandfrei, bis ich die Helligkeit ändern wollte, da geht weder mit [c] // Helligkeit: display.ssd1306_command(SSD1306_SETCONTRAST); // 0x81 display.ssd1306_command(0xff); [/c] noch mit [c] // Pre Charge Period: display.ssd1306_command(SSD1306_SETPRECHARGE); // 0xD9 display.ssd1306_
ich die Helligkeit ändern > wollte, da geht weder mit > [c] > // Helligkeit: > display.ssd1306_command(SSD1306_SETCONTRAST); // 0x81 > display.ssd1306_command(0xff); > [/c] > noch mit > [c] > // Pre Charge Period: > display.ssd1306_command(SSD1306_SETPRECHARGE); // 0xD9 > display.ssd1306
-
Thread
I2C Display ansprechen
test"); delay(2000); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); for(;;); } delay(2000); display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE
Du mußt erstmal das Display initialisieren , bzw. den drauf befindlichen SSD1306 Treiber. ;-)
-
Thread
[ASM] SSD1306 text library für oled displays + AVR 0- und 1-Series
verwende ich dieses Display: DEBO OLED2 0.96 Entwicklerboards - Display, 0,96", OLED-Display, SSD1306 https://www.reichelt.de/nl/de/entwicklerboards-display-0-96-oled-display-ssd1306-debo-oled2-0-96-p266107.html?search=SSD1306&&r=1
temp1 ori temp1,(SSD1306_CMD_SET_PAGE_START_ADDRESS) ; SET_PAGE START_ADDRESS rcall TWI_MT_TX_TEMP1 ldi temp1,(SSD1306_CMD_SET_COLUMN_ADDRESS) ; SET_COLUMN_ADDRRSS rcall TWI_MT_TX_TEMP1
-
Thread
Adafruit SSD1306 Objekt lässt keine Zeiger zu
Hallo, ich verzweifel grad bei der Arduino IDE. Definition [c] // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) #define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin) Adafruit_SSD1306 oled1(128, 64, &Wire, OLED_RESET); Adafruit_SSD1306 oled2(128
proceed, loop forever } // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally if (!oled2.begin(SSD1306_SWITCHCAPVCC, 0x3c)) { Serial.println(F("SSD1306 2 allocation failed")); for (;;) ; // Don't
-
Thread
Die SSD1306 mag den MSP430 nicht (antwortet nicht).
eines Arduino Uno auf eine SSD1306. Die Initialisierung schicke ich jetzt über ein I2C Terminal Byte für Byte vom PC zur SSD1306. Die Zeichen-Ausgabe funktioniert performant und fehlerfrei!!! Jetzt will ich das nicht immer vom PC aus machen. Deshalb schicke ich die Daten vom MSP430 zur SSD1306. Das mache ich bei diversen Sensoren und Displays genauso. Nur antwortet die SSD1306 nicht!!! 1.Bild: MSP430 nach SSD1306 mit angeschlossenem Display. 2.Bild: I2CTerminal sendet ohne angeschlossenem
-
Thread
MIt g++ statt cmake und make kompilieren
lass mal das -L bei -L lib/libSSD1306.a weg also nur g++ test_jp.cxx -o test_oled lib/libSSD1306.a -I /home/eagle/Downloads/libSSD1306-master/lib/ -std=c++11
SSD1306 Probier das mal aus :)
-
Thread
SSD1306 OLED, VBAT und VDD zusammen an 3.3V?
_SEGREMAP | 0x1); ssd1306_command(SSD1306_COMSCANDEC); ssd1306_command(SSD1306_SETCOMPINS); // 0xDA ssd1306_command(0x12); ssd1306_command(SSD1306_SETCONTRAST); // 0x81
) { ssd1306_command(0x22); } else { ssd1306_command(0xF1); } ssd1306_command(SSD1306_SETVCOMDETECT); // 0xDB ssd1306_command(0x40); ssd1306_command(SSD1306_DISPLAYALLON_RESUME
-
Thread
STM32 Frequenzmessung im Capturemodus
TIM_CHANNEL_1); // 6) HAL_TIM_Base_Start_IT(&htim2); // 7) HAL_NVIC_EnableIRQ(TIM2_IRQn); ssd1306_Init(); ssd1306_Fill(Black); ssd1306_Rect(0,16,127,63, White); ssd1306_SetCursor(0,0); ssd1306_WriteString("Freq:", Font_7x10, White); ssd1306_UpdateScreen(); /* USER CODE END 2
(frq_str, "ov_cnt: %2d", overflow_cnt); ssd1306_SetCursor(20,45); ssd1306_WriteString(" ",Font_7x10,White); ssd1306_SetCursor(20,45); ssd1306_WriteString(frq_str,Font_7x10,White); ssd1306_UpdateScreen
-
Thread
CubeMX Update For Schleife plötzlich infinite loop?
a++) { SSD1306Daten[a] = 0x00; } SSD1306Daten[0] = 0x40; //Datenstrom for (uint8_t b = 0; b < 9; b++) { SSD1306Command[0] = 0x80; //Single Command SSD1306Command[1] = SSD1306Zeile[b]; //Y HAL_I2C_Master_Transmit(&hi2c1,SSD1306Adresse[i],SSD1306Command,2,100); SSD1306Command[0] = 0x00; //Command Stream SSD1306Command[1] = 0x00; //X SSD1306Command[2] = SSD1306Spalte[0]; //Xlow HAL_I2C_Master_Transmit(&
-
Thread
Font für gelb/blaue OLED SSD1306 gesucht
=> Character to write // Font => Font to use // color => Black or White // char ssd1306_WriteChar(char ch, FontDef Font, SSD1306_COLOR color) { uint32_t i, b, j; // Check remaining space on current line if (SSD1306_WIDTH <= (SSD1306.CurrentX + Font.FontWidth) ||
for (j = 0; j < Font.FontWidth; j++) { if ((b << j) & 0x8000) ssd1306_DrawPixel(SSD1306.CurrentX + j, (SSD1306.CurrentY + i), (SSD1306_COLOR) color); else ssd1306_DrawPixel(SSD1306.CurrentX + j, (SSD1306.CurrentY + i), (SSD1306_COLOR)!color
-
Thread
OLED Grafik Anzeige
>Wo finde ich das Datenblatt damit ich die Zeilen und Spalten ansteuern >kann? Gurgel: 'SSD1306 Datasheet' MfG Spess
herausgeführt, aber als Eingänge direkt am Folienleiter des Displays. Schau auch ins Datenblatt des SSD1306 fchk
-
Thread
OLed Farbdisplay 128x64 mit 6 Pins
Sieht aus wie monochrome oleds. SSD1306 Controller ist da der de-fakto Standard.
SSD1306 Datenblatt: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf > 8 FUNCTIONAL BLOCK DESCRIPTIONS 15 > 8.1 MCU INTERFACE SELECTION 15 > 8.1.1 MCU Parallel 6800-series Interface 15 > 8.1.2 MCU
-
Thread
SH1106 Init-Sequenz
Oops sorry sh1106....hatte gewohnheitsmässig an SSD1306 gedacht
Hmm, also eigentlich funktionieren die Dinger doch nur zufällig weil die > ähnlich genug zu den SSD1306 sind? Wenn ich mich recht entsinne (ist schon ein paar Tage her, dass ich die Lib für SSD1306 und SH1106 schrieb) unterscheiden sich SSD1306 und SH1106 nur dadurch, dass SSD1306 einen automatischen
-
Thread
C -> Zeichen aus Font suchen / rechnen?!
dauert das ja "ewig". Kannst du nicht direkt in den Pufferspeicher schreiben, anstatt den Umweg über Ssd1306DrawPixel() zu nehmen?
Font.uiWidht; } } [/c] Pixel verarbeiten und an richtige Stelle in den VRAM malen -> [c] void Ssd1306DrawPixel( int16_t x , int16_t y ) { DisplayRam[ y + ( x / 8 ) * SSD1306_LCD_Width ] |= ( 1 << ( x & 7 ) ); } [/c]
-
Thread
SSD1306 Display Probleme bei Zahlendarstellung
SSD1306_command(OLED_CMD_SET_COM_SCAN_MODE); SSD1306_command(OLED_CMD_SET_COM_PIN_MAP); SSD1306_command(0x12); SSD1306_command(OLED_CMD_SET_CONTRAST); SSD1306_command(0xCF); SSD1306_command(OLED_CMD_SET_PRECHARGE); SSD1306_command(0xF1); SSD1306_command(OLED_CMD_SET_VCOMH_DESELCT); SSD1306_command(0x40); SSD1306_command(OLED_CMD_DISPLAY_RAM); SSD1306_command(OLED_CMD_DISPLAY_NORMAL); SSD1306_command(0x2E
-
Thread
Wo ist in meiner Berechnung der Fehler?
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } } void updateDisplay() { display.clearDisplay();
, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } } void updateDisplay() { display.clearDisplay(); display.setTextSize(1); display.setTextColor(SSD1306_WHITE);
-
Thread
STM32: Zeigerübergabe Problem
in der Reihenfolge: [c] //von hier: (Font ist 8x6px - das Disp schiebt Zeilenweise) void ssd1306_putc(char c){ uint8_t ch = c - 32; WriteLongBuffer(0x40,ssd1306_font6x8[ch * 6],6); } //über da: void WriteLongBuffer(uint8_t Command, uint8_t *aTxBuffer, uint16_t Size) { HAL_I2C_SSD_Transmit
der > Reihenfolge: > //von hier: (Font ist 8x6px - das Disp schiebt Zeilenweise) > > void ssd1306_putc(char c){ > uint8_t ch = c - 32; > WriteLongBuffer(0x40,ssd1306_font6x8[ch * 6],6); > } > > //über da: > warum und wie das (angeblich) funktionieren soll, entzieht sich meiner
-
Thread
Не получается скомпилировать проэкт WinAVR
AVR_Transistortester но компиляция не происходит из за ошибки make.exe: *** [../Obj/mega328_ssd1306I2C/mega328_ssd1306I2C.elf] Error 1 кто может подсказать по этому поводу?
Wichtigste: aber die Kompilierung schlägt aufgrund eines Fehlers fehl make.exe: *** [../Obj/mega328_ssd1306I2C/mega328_ssd1306I2C.elf] Fehler 1 wer kann dazu etwas sagen? https://www.mikrocontroller.net/articles/AVR_Transistortester Ich kenne den nur mit 2 Zeilen LCD aber mit ssd1306 geht wohl auch
-
Thread
OLED-Störung: Defekt oder Programmierfehler?
(OLED_SSD1306_MEMORYMODE); oled_command(0x00); // horizontal addressing mode oled_command(OLED_SSD1306_SEGREMAP | 0x1); oled_command(OLED_SSD1306
(0xCF); #endif oled_command(OLED_SSD1306_DISPLAYALLON_RAM); oled_command(OLED_SSD1306_NORMALDISPLAY); oled_command(OLED_SSD1306_SETDISPLAYCLOCKDIV); oled_command(0x80);
-
Thread
0,96" OLED-Display SSD1306
funktioniert super! Ich habe aber noch eine Frage, u.z.wie kommst du zu dieser Zeile: [code] .db SSD1306_CMD_SET_DISPLAY_START_LINE, SSD1306_CMD_DISPLAY_TEST_OFF [/code] Außerdem bin ich dabei ein 0,66" (64x48) OLED anzusteuern. Mir gelingt es dabei nicht die Displaygröße mit [code] .db SSD1306
sind alle im Datenblatt beschrieben. SSD1306_CMD_SET_DISPLAY_START_LINE setzt den Anfang der RAM-Adresse für das Display. SSD1306_CMD_DISPLAY_TEST_OFF schaltet den Testmodus aus und den Normalmodus ein. > Außerdem bin ich dabei ein 0,66
-
Thread
Raspberry Pi Pico: OLED SSD1306 via C ansteuern
Danke! PS1: Hier kurz und prägnant was ich in MicroPython tippen würde. [code] (...) from ssd1306 import SSD1306_I2C (...) i2c = I2C(0,sda=Pin(0),scl=Pin(1),freq=40000) oled=SSD1306_I2C(128,64,i2c) oled.fill(0) oled.show() oled.text("Hello",0,0) oled.text("World",0,10) (...) [/code] PS2: Auch das Datenblatt hilft mir eher nicht. https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
-
Thread
STM32 F103 - I2C Probleme
folgendes schreiben: case U8G_COM_MSG_WRITE_BYTE: { hal_status = HAL_I2C_Mem_Write(&hSSD1306_I2C, SSD1306_I2C_ADDRESS, control, 1, &arg_val, 1, SSD1306_I2C_TIMEOUT); } break; case U8G_COM_MSG_WRITE_SEQ: case U8G_COM_MSG_WRITE_SEQ_P: { hal_status = HAL_I2C_Mem_Write(&hSSD1306_I2C, SSD1306_I2C_ADDRESS, control, 1, arg_ptr, arg_val, SSD1306_I2C_TIMEOUT); } break; Funktioniert bei mir wunderbar. Sorry für die Formatierung :-)
-
Thread
SSD1306 clear buffer / display code
i2c_master_cmd_begin(I2C_NUM_0, cmd, 10/portTICK_PERIOD_MS); if (espRc == ESP_OK) { ESP_LOGI(tag, "ssd1306_init successfully"); } else { ESP_LOGE(tag, "ssd1306_init failed. code: 0x%.2X", espRc); } i2c_cmd_link_delete(cmd); } void ssd1306_display_clear(void) { i2c_cmd_handle_t cmd;
i2c_cmd_link_delete(cmd); } } } void app_main(void) { i2c_master_init(); ssd1306_init(); ssd1306_display_clear(); ssd1306_display_text("ABCDEFGHIJKLMNOP"); } [/code]
-
Thread
SSD1306 Arduino I2C nur 30kHz?
Hallo Zur Vorgeschichte: Ich experimentiere gerade mit meinem Atmega328 (internal 1Mhz) und dem SSD1306 128x64 OLED. Dabei musste ich feststellen das mit der aktuellen Adafruit SSD1306 Library mein Display fast 7 Sekunden bracuht um das Display zu füllen oder zu leeren. Dann dachte ich mir schau doch
ausgibt: [code] #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); int c = 0; void setup() { display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); } void
-
Thread
Super Mini ESP32-C3 Board
Verkaufsfirmen ein beispiel für das Problem veröffentlicht. keiner bietet ein beispiel esp32c3 risc-v und ssd1306 ohne extra hardware an beschriebe probleme mit dem prozessor und der i2c gibt es zu haufe in den foren , ohne echte lösung
iTimeDisplay = 0; unsigned int iBlink = 1000; float fUin=44.4, fIout=5.3, fUout=28.6; #include "SSD1306Wire.h" // legacy include: `#include "SSD1306.h"` // custom fonts: http://oleddisplay.squix.ch #include "Dialog_plain_32.h" // Initialize the OLED display using Wire library SSD1306Wire display
-
Thread
SSD1306 OLED an 5V I²C Bus?
Hat bei euch dieses kleine SSD1306 auch ein lästig hochfrequentes Geräusch des eingebauten Boost Converters?
siehst du ja auch nicht, oder? ;) Richtig, den sehe ich nicht. Es besteht die Möglichkeit, daß ein SSD1306 kompatibler Controller drin ist, der im Gegensatz zum originalen SSD1306 tatsächlich 5V erlaubt. Das ist schon Sch***** wenn der Händler weder Datenblatt noch klare technische Daten mitliefert.
-
Thread
10x mehr Speicherbelegung bei Array von main in Funktion verschieben
Arrays rüber und mein aktueller µC hat nur 32 KB Flash... Hier der code extrem gekürzt: [code] //ssd1306display.h #ifndef SSD1306DISPLAY_H_ #define SSD1306DISPLAY_H_ #include <stdio.h> void schrift1Zeichenkodierung(); #endif /* SSD1306DISPLAY_H_ */ [/code] [code] //schrift1Zeichenkodierung.c
für Übertragung per I2C for (uint32_t a = 0; a < I2ClengthText; a++) //Anzahl Zeichen { SSD1306ZeichenSend[a] = SSD1306Buffer[a]-32; for (uint32_t i = 1; i < 6; i++) I2CDaten1[a*6+i+1] = Zeichen[SSD1306ZeichenSend[a]][i-1]; //a=Zeichenanzahl, 6=Pixelanzahl, i=Pixel, 1=wegen"Datenstrom
-
Thread
C Fehler: Vergleich von Const mit bool immer falsch
Weil (px1 || px2) ein boolescher Ausdruck ist. Du willst: if (px1 > (SSD1306_LCDWIDTH-1)) || (px2 > (SSD1306_LCDWIDTH-1)) || ...
Versuch mal [c] void drawRect(uint8_t px1, uint8_t py1, uint8_t px2, uint8_t py2) { if( (px1 > SSD1306_LCDWIDTH-1) || (px2 > SSD1306_LCDWIDTH-1) || (py1 > SSD1306_LCDHEIGHT-1)|| (py2 > SSD1306_LCDHEIGHT-1) ) return; //.... } [\c]
-
Thread
oledssd1306 mit OLED-DISPLAY-MASTER zum Laufen bringen
Wenn man dann make eintippt kommt aber ein Fehler: [c] main.c:4:21: Schwerwiegender Fehler: ssd1306.h: Datei oder Verzeichnis nicht gefunden Kompilierung beendet. [/c] Kommt also aus der main.c: #include "ssd1306.h" Ich verstehe nicht wo diese ssd1306.h liegen soll. Sollte die nicht
fehlerhaften Zeichen geschrieben.. Hast du auch den Controller-Typ angepasst? Die Library ist für SSD1306-Displays und für SH1106 Displays. Beim falschen Controller bekommt man auch falsche Zeichen/Pixel gezeichnet. Das Beispiel auf github ist auf SH1106-Displays eingestellt, das musst du auf SSD1306
-
Thread
Programmstruktur
. [c] #include <Arduino.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); // create
setup() { // put your setup code here, to run once: Serial.begin(9600); if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // initialize OLED display with address 0x3C for 128x64 Serial.println(F("SSD1306 allocation failed")); while (true); } delay(2000); // wait
-
Thread
OLED LCD Displays mit 4 pin u. 7 pin
wiki.sunfounder.cc/index.php?title=OLED-SSD1306_Module
Jack V. schrieb im Beitrag #6864395: > die SSD1306-Teile werden alle gleich angesprochen Aber nicht jedes Modul läuft mit dem SSD1306. Es gibt auch welche mit SSD1309. Die unterscheiden sich allerdings nur ein wenig in der Konfigurierung des Displays
-
Thread
Erfahrung mit diesem schickem OLED?
? Ist wirklich ein SSD1306 verbaut? Wie sprecht ihr den an? SPI oder I2C? Ging das problemlos? Wie schnell braucht ein Bild zum Übertragen? Sprich welche Bildwiederholfrequenz erreicht man? http://www.ebay.com/itm/New-Blue
jemand mit diesem oder ähnlichem Display Erfahrung gemacht? > Ist wahrscheinlich wie so häufig ein SSD1306 drauf nehme ich an. Gute Erfahrung, die SSD1306, SSD1305T7 sind angenehme Treiber. > Im Speziellen interessieren mich die folgenden Fragen: > Wie viel zieht das Display im Betrieb? Kein Plan