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: 19.04.2024 - 17:33  ·  #49
Alter Schwede war das ein Krampf... jetzt geht es und ich kann endlich los legen.

In der Platformio.ini muss das rein
board_upload.offset_address = 0x0

Beim upload wurde ab Addr 0x2000 geschrieben.

puuuhhhhhhhhhhh :-)

miparo Montag geht ein Paket an dich.

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

Re: Erste Frage zu C++

 · 
Posted: 19.04.2024 - 17:47  ·  #50
Hi Frank,
ja, da war Platz für den Bootloader, was dann ohne nicht läuft.

Aber das war noch nicht die letzte Falle. :)

Mühsam ernährt sich das Eichhörnchen.

Viel Spaß

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

Re: Erste Frage zu C++

 · 
Posted: 19.04.2024 - 17:53  ·  #51
Ja das galube ich dir.

Und weißt du was noch passiert ist ! Ich habe eine COM24 zum SAMD51
Ähhmmm ich war das nicht, ich hatte nur das Blink Programm.

Also gleich mal getestet mit
Code

#include <Arduino.h>
void setup()
{
  Serial.begin(115200);
  pinMode(PIN_LED2, OUTPUT);
  pinMode(PIN_LED_TXL, OUTPUT);
}

void loop()
{
  digitalWrite(PIN_LED2, HIGH);
  digitalWrite(PIN_LED_TXL, HIGH);

  delay(100);
  digitalWrite(PIN_LED2, LOW);
  digitalWrite(PIN_LED_TXL, LOW);

  delay(100);
  Serial.println("SAMD51 Sendet Daten an den Computer");
}


Warum ich jetzt eine COM habe weiß ich auch nicht, aber es kommen daten am Computer an

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

Re: Erste Frage zu C++

 · 
Posted: 19.04.2024 - 18:09  ·  #52
Das ist bestimmt Voodoo im Arduino Source :)
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 772
Registered: 06 / 2013
Subject:

Re: Erste Frage zu C++

 · 
Posted: 20.04.2024 - 14:15  ·  #53
Mahlzeit,

Also mit der Pinbelegung komme ich noch nicht klar.
Ich denke die Pin Belegung wird in variant.h und variant.cpp Deklariert

Der USB Anschluss ist doch auf PA24 und PA25
warum schreiben die 30ul und 31ul ?


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

Re: Erste Frage zu C++

 · 
Posted: 20.04.2024 - 15:15  ·  #54
Hi Frank,
ich der Variant solltest du nichts machen, mal eine eigene erstellen sonst

Die Nummern stehen hinter der Portbezeichnung Ixx, siehe Bild.

ul steht für unsigned Long

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: 20.04.2024 - 18:48  ·  #55
Ahhh ich glaube ich verstehe es langsam
Code

// LEDs
#define PIN_LED_13           (13u)   <============ u für unsigned  
#define PIN_LED_RXL          (27u)
#define PIN_LED_TXL          (28u)
#define PIN_LED              PIN_LED_13
#define PIN_LED2             PIN_LED_RXL
#define PIN_LED3             PIN_LED_TXL
#define LED_BUILTIN          PIN_LED_13
#define PIN_NEOPIXEL         (40)

/*
 * Analog pins
 */
#define PIN_A0               (14ul)    <=============== ul  unsigned  long


Die PIN_LED_13 kann ich ein/aus schalten, aber was hat die 13 damit zu tun ?
PIN_LED_13 hängt an PA16 an Pin35

Also mit der Pin zuweisung komme ich nicht klar.

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

Re: Erste Frage zu C++

 · 
Posted: 20.04.2024 - 19:33  ·  #56
Schau dir mal die Grafik zu dem Board an:

Dunkel grün sind deine Arduino Pins, hier 13 für dein PA016

oder pur C

PORT_IOBUS->Group[1].OUTSET.reg = 1 << MeinBit;
PORT_IOBUS->Group[1].OUTCLR.reg = 1 << MeinBit;
PORT_IOBUS->Group[1].OUTSET.reg = 1 << MeinBit;
PORT_IOBUS->Group[1].OUTCLR.reg = 1 << MeinBit;

Group[0] ist PortA
Group[1] ist PortB

MeinBit 0..31 für jeden Port.

OUTxxx
DIRxx
alles, wie beim Xmega

Nur das vorgekaute wird Langweilig.

Das ist dann leider MCU spezifisch und nicht mehr mal eben auf eine andere MCU übertragbar, was ja der Vorteil vom Arduino.

Viel Spaß :)
Attachments
Erste Frage zu C++
Filename: adafruit_products_Ad … nout.png
Filesize: 715.23 KB
Title:
Download counter: 119
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: 11 · Cache Hits: 15   147   162 · Page-Gen-Time: 0.019319s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI