Erste Frage zu C++

TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 772
Registered: 06 / 2013
Subject:

Re: Erste Frage zu C++

 · 
Posted: 21.04.2024 - 16:07  ·  #65
Hallo Harry, ne ne das ist die Anzeige von Such I2C
Das wird mir so angezeigt das er was gefunden hat.

schaue hier in Code
Code

    if(error == 0){
      addressFound = true;
      Serial.print("0x");
      Serial.println(i,HEX);
    }




Gruß Frank
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 60
Posts: 2142
Registered: 03 / 2003
Subject:

Re: Erste Frage zu C++

 · 
Posted: 21.04.2024 - 16:15  ·  #66
Ja der schreibt immer vor der Adresse 0x, damit keiner auf die Idee kommt, daß das dezimal ist.
In Pascal würde man '$'+ByteToHex(i) schreiben.
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 772
Registered: 06 / 2013
Subject:

Re: Erste Frage zu C++

 · 
Posted: 21.04.2024 - 16:53  ·  #67
Ich habe ja gestern durch miparo etwas gelernt, das die dunkle grünen Zahlen meine
Pins sind, also für Arduino
Und wenn ich mir das Bild vom Metro M4 Grand Centrale anschaue dann habe ich 2 I2C
auf die PinHeads rausgeführt.

1te I2C
SDA = 20
SCL = 21

2te I2C
SDA = 25
SCL = 24

Aber warum ist dann in meiner variant.h Datei für die erste I2C
#define PIN_WIRE_SDA (62)
#define PIN_WIRE_SCL (63)
das drin stehen, das ist doch nicht richtig



Code

/*
 * Wire Interfaces
 */
#define WIRE_INTERFACES_COUNT 2

#define PIN_WIRE_SDA        (62)
#define PIN_WIRE_SCL        (63)
#define PERIPH_WIRE         sercom3
#define WIRE_IT_HANDLER     SERCOM3_Handler
#define WIRE_IT_HANDLER_0   SERCOM3_0_Handler
#define WIRE_IT_HANDLER_1   SERCOM3_1_Handler
#define WIRE_IT_HANDLER_2   SERCOM3_2_Handler
#define WIRE_IT_HANDLER_3   SERCOM3_3_Handler

static const uint8_t SDA = PIN_WIRE_SDA;
static const uint8_t SCL = PIN_WIRE_SCL;

#define PIN_WIRE1_SDA       (25)
#define PIN_WIRE1_SCL       (24)
#define PERIPH_WIRE1        sercom6
#define WIRE1_IT_HANDLER    SERCOM6_Handler
#define WIRE1_IT_HANDLER_0  SERCOM6_0_Handler
#define WIRE1_IT_HANDLER_1  SERCOM6_1_Handler
#define WIRE1_IT_HANDLER_2  SERCOM6_2_Handler
#define WIRE1_IT_HANDLER_3  SERCOM6_3_Handler

static const uint8_t SDA1 = PIN_WIRE1_SDA;
static const uint8_t SCL1 = PIN_WIRE1_SCL;


Gruß Frank
Attachments
Erste Frage zu C++
Filename: Unbenannt.jpg
Filesize: 335.47 KB
Title:
Download counter: 166
miparo
Schreiberling
Avatar
Gender:
Location: Germany
Age: 58
Posts: 965
Registered: 09 / 2007
Subject:

Re: Erste Frage zu C++

 · 
Posted: 21.04.2024 - 17:58  ·  #68
Hi Frank,
evt. solltest du dich doch mal auf die Arduino Seite verirren und z.B. so was lesen:

println

Nur zusammen klicken, das wird schwer.
Ein paar Grundlagen braucht man auch hier.

Dort sind auch alle Treiber beschrieben usw.

Aller Anfang ist schwer :)
Und bei einer Sache bleiben und nicht immer ablenken lassen.

Dein I2C Scan hat ja funktioniert und dein Display gefunden, warum machst du dir da Gedanken über den 2. I2C Port.



Gruß
miparo
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 772
Registered: 06 / 2013
Subject:

Re: Erste Frage zu C++

 · 
Posted: 21.04.2024 - 18:49  ·  #69
Quote by miparo

Dein I2C Scan hat ja funktioniert und dein Display gefunden, warum machst du dir da Gedanken über den 2. I2C Port.


Hallo miparo, weil ich nicht weiß wo ich genau das Oled einstecken muss.
In den ersten I2C oder in den 2ten I2C

Bei dem Oled SSD1306 hatte ich überhaupt keine Probleme.

und warum ist der erste I2C auf 62 und 63 das stimmt doch nicht mit der Pin Belegung
von Arduino im oberen Bild wo 20 21 steht

Code

#define PIN_WIRE_SDA        (62)
#define PIN_WIRE_SCL        (63) 




Gruß Frank
miparo
Schreiberling
Avatar
Gender:
Location: Germany
Age: 58
Posts: 965
Registered: 09 / 2007
Subject:

Re: Erste Frage zu C++

 · 
Posted: 21.04.2024 - 19:00  ·  #70
Quote
Bei dem Oled SSD1306 hatte ich überhaupt keine Probleme.


Du willst mich veräppeln ?

Dann bleibt doch auf dem I2C Port und versuche dort das andere Oled zum laufen zu bekommen.
Die Adresse hast du ja gefunden dann verschiendene ...u8g2 Inits probieren.
ABER kein Kabel anfassen nur weil es nicht gleich tut.

Den 2. I2C braucht man fast nie , außer ....


Und mach die variant.h Datei zu, die brauchst du nicht, es steht alles in dem PinMap Bild oben.

miparo
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 772
Registered: 06 / 2013
Subject:

Re: Erste Frage zu C++

 · 
Posted: 21.04.2024 - 19:33  ·  #71
miparo ich will doch auf dem I2C bleiben, weil da auch schon das SSD1306 lief.

Und du hast mir schon die richtigen strings gegeben.

Code

#include <U8g2lib.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 128 // OLED display height, in pixels

U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); 


Aber das Display bleibt dunkel, noch nicht mal ein zuck.

Diese Seite ist sehr gut erklärt.
https://hartmut-waller.info/arduinoblog/bibliothek-u8g2/

Gruß Frank


PS die variant.h Datei habe ich zu gemacht :-)
miparo
Schreiberling
Avatar
Gender:
Location: Germany
Age: 58
Posts: 965
Registered: 09 / 2007
Subject:

Re: Erste Frage zu C++

 · 
Posted: 21.04.2024 - 19:41  ·  #72
Quote
miparo ich will doch auf dem I2C bleiben, weil da auch schon das SSD1306 lief.


Aber dann bastelst du am 2. IC2, was ja unnütz ist.


Habe gerade im UPP2-X Source geschaut, da habe ich das im AVRco drin, dank Harry, es ist ein SH1107 Controller drauf mit 128x128 Pixeln.

Mach mal ein Foto von der Displayrückseite.


u8g2.begin();
u8g2.setI2CAddress(0x3C);

denn da wurde es ja gefunden ?

mal probiert ?
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   141   156 · Page-Gen-Time: 0.03137s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI