ESPC32 > GPIO mit Pointern

Janiiix3

Aktives Mitglied
28. Sep. 2013
1.336
10
38
Hannover
Sprachen
  1. ANSI C
  2. C#
Hallo Bit Freunde,

ich habe schon in einem anderen Forum diese Frage gestellt jedoch kommt nur schmarrn bei raus oder nicht tiefgründig genug um es zu verstehen..
Mein Vorhaben: Es gibt ein kleines Board mit einem ESP32C3 Controller. Es soll via Struct und Pointer ( in C) eine kleine I/O Bibliothek aufgebaut werden (ich weiß das es dafür schon fertige Sachen gibt) damit ich es von Grund auf lerne (bin schon wieder ein Weilchen aus dem Thema draußen..)

Dieser Code ist mein aktueller Stand:


CodeBox C

//Mapping Address
//GPIO 0x6000_4000 to 0x6000_4FFF 

#define GPIO_BASE 0x60004000ul

typedef struct
{
  volatile uint32_t *FuncOutCnfg;
  volatile uint32_t *OutReg;
  volatile uint32_t *EnableReg;
}sGPIO;

volatile sGPIO *GPIO;

void setup() {
  GPIO->FuncOutCnfg  = (uint32_t*)(GPIO_BASE + 0x0004);
  GPIO->EnableReg    = (uint32_t*)(GPIO_BASE + 0x0020);
  GPIO->OutReg       = (uint32_t*)(GPIO_BASE + (0x0554 + (4 * 8)));
  *GPIO->FuncOutCnfg  |= 0x80;
  *GPIO->EnableReg    |= 1<<8u;
}

void loop() {
  delay(300);
  *GPIO->OutReg &= ~1<<8u; 
  delay(300);
  *GPIO->OutReg |= 1<<8u; 
}


Die LED konnte ich auch schon mit den herkömmlichen Befehlen zum leben erwecken.
Was mache ich bei dem Code mit der Struktur und den Zeigern falsch?
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu