Code – die besten Beiträge

Codierung falsch, aber alle?

moin, ich habe einen code geschrieben, der für mich ordner und deren inhalte kopieren soll, von einen Datenträger auf den anderen, quasi ein archivierungshelfer. den code schreibe ich gleich unten hin aber mir ergibt sich da folgendes problem: ich will nicht alle ordner eines verzeichnisses archivieren, sondern nur ausgewählte, dafür habe ich eine liste, in der all jene stehen, die kopiert werden sollen, mein problem dabei ist aber, dass die codierung nicht erkannt wird, egal welche! ich habe die liste in einem .txt dokument gespeichert ---- an der stelle will ich anmerken dass der code wohleher ein befehl für cmd ist --- und sämtliche mögliche codierungen ausprobiert, alle namen die kein ß,ä,ö oder ü haben, werden gelesen, erkannt und dann kopiert, so wie es sein soll, aber durch die codierung sucht er z.b. statt nach einem ü nach einer hochgestellten 3 ???? (ANSI) ich weiß nicht mehr weiter, ich weiß nur zu 100% dass es an der codierung liegt, denn wenn ich mir die liste von cmd ausgeben lasse passiert das oben geschriebene, alles wird normal geschrieben, außer ä ö ü und ß.

was kann ich tun???

hier mein code:

set "quelle=I:\Ordner 1\ZZZTester" & set "ziel=V:\Ordner 1\TestOrdner" & set "liste=C:\Users\*mein User*\Documents\OrdnerListeTESTER.txt"

for /f "usebackq delims=" %N in ("%liste%") do (

  echo Verarbeite Ordner: %N  

  robocopy "%quelle%\%N" "%ziel%\%N" /E /COPY:DATSO /R:3 /W:10 /MT:8 /LOG+:kopierlog.txt

)

cmd, Code, Programmiersprache

ESP32 Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled?

Hallo,

ich habe ein Problem mit meinem Code auf einem ESP32.
ich habe einen array von struct, welchen ich beschreiben möchte:

file_1.c

typedef struct{
  uint8_t green;
  uint8_t red;
  uint8_t blue;
}ledStrip_ts;
... ... ...
static ledStrip_ts lightbar_as[100];
... ... ...
      if (true == getPixelData_b(&graphicData_s.numOfCols_u32, &graphicData_s.numOfRows_u32, (uint8_t*)&lightbar_as[0]))... ... ...  

file_2.c:

bool getPixelData_b(uint32_t* numOfCols_pu32, uint32_t* numOfRows_pu32, uint8_t* pixelData_pu8)
{
.... .... ....
                bmpColorData_ps = bmpGetGraphicData_v(numOfCols_pu32, numOfRows_pu32);
                ESP_LOGI(TAG, "%p    numOfCols_pu32: %lu  numOfRows_pu32: %lu", bmpColorData_ps, *numOfCols_pu32, *numOfRows_pu32);
... ... ...
                uint32_t counter1 = 0;
                uint32_t counter2 = 0;
                uint32_t counter3 = 0;
                uint32_t y = 0;
                for(uint32_t x=0; x<(*numOfRows_pu32); x++)
                {
                    for(y=0; y<(*numOfCols_pu32); y++)
                    {
                        pixelData_pu8[counter1++] = bmpColorData_ps[counter2].green;
                        pixelData_pu8[counter1++] = bmpColorData_ps[counter2].red;
                        pixelData_pu8[counter1++] = bmpColorData_ps[counter2].blue;
                        ESP_LOGI(TAG, "r: 0x%02X    g: 0x%02X    b: 0x%02X", pixelData_pu8[counter3+1], pixelData_pu8[counter3], pixelData_pu8[counter3+2]);
                        counter2++;
                        counter3+=3;
                    }
                    counter2 += (4 - (y%4));    // Compression = 0 (BI_RGB): Bilddaten sind unkomprimiert, bedeutet
                                                // "Jede Bildzeile ist durch rechtsseitiges Auffüllen mit Nullen auf ein 
                                                // ganzzahliges Vielfaches von 4 Bytes ausgerichtet." (Wikipedia)
                }
... ... ...

Laut Ausgabe (und das ist richtig, sind es 14x14 pixel.
105 Elemente werden geschrieben, dann bekomme ich den Error.
Doch eigentlich ist mein Buffer doch 100 Elemente * 3 Byte (uint8_t red, green, blue). Also 300 Byte.

Als Ausgabe bekomme ich dann:

I (1414) GRAPHIC: r: 0xFF    g: 0xFF    b: 0xFF
I (1414) GRAPHIC: r: 0xFF    g: 0xFF    b: 0xED
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.


Core  0 register dump:
PC      : 0x400d836e  PS      : 0x00060730  A0      : 0x800d7e4e  A1      : 0x3ffbcf70
A2      : 0x3ffb2e38  A3      : 0x0000013b  A4      : 0x3ffb2e3c  A5      : 0x00000007
A6      : 0x00000077  A7      : 0x0000013b  A8      : 0x0000013d  A9      : 0x3ffb2f74
A10     : 0x00000165  A11     : 0x3ffb2f78  A12     : 0xc0ee0164  A13     : 0x00000586
A14     : 0x3f403a78  A15     : 0x000000ff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c
EXCVADDR: 0xc0ee0164  LBEG    : 0x400014fd  LEND    : 0x4000150d  LCOUNT  : 0xfffffffd




Backtrace: 0x400d836b:0x3ffbcf70 0x400d7e4b:0x3ffbcfc0 0x400d7f3c:0x3ffbcff0 0x40088075:0x3ffbd020
--- 0x400d836e: getPixelData_b at C:/Projekte/ESP32/leuchtstab/main/graphic.c:101


--- 0x400014fd: strlen in ROM
--- 0x4000150d: strlen in ROM


--- 0x400d836b: getPixelData_b at C:/Projekte/ESP32/leuchtstab/main/graphic.c:101
--- 0x400d7e4b: lightbarExec_v at C:/Projekte/ESP32/leuchtstab/main/lightbar.c:116
--- 0x400d7f3c: lightbarTask_v at C:/Projekte/ESP32/leuchtstab/main/lightbar.c:184 (discriminator 1)
--- 0x40088075: vPortTaskWrapper at C:/Espressif/frameworks/esp-idf-v5.4/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:139

Wenn ich nur ein 3x2 pixel bild nehme, funktioniert es ohne probleme.

Code, C (Programmiersprache), ESP32

ChatGPT sieht ein Problem in meiner Method und ich verstehe nicht wirklich wo das Problem liegt (C# Programmieren)?

Ich lerne C# und habe ein kleines Programm entwickelt, In dem man Random eine Zahl rollt, die Größer sein soll als ein Random gerolltes Ziel. Ist die eigene Zahl kleiner als das Ziel hat man verloren, ist sie größer hat man gewonnen. Nun habe ich das Programm einmal ChatGPT überblicken lassen, und es sieht ein Problem in meiner StartReset variable in meiner ShouldPlay Methode und ich habe nicht ganz verstanden worin das Problem liegt, da mein Programm auch so ohne Probleme läuft und der Compiler weder Fehler, noch Warnungen anzeigt. Vielleicht kann mir ein Mensch besser erklären, worin ChatGPT das Problem sieht?

```

Random random = new Random();
Console.WriteLine("Would you like to play? Y/N)");
if (ShouldPlay(true))
{
  PlayGame();
}
void PlayGame()
{
  var play = true;
  while (play)
  {
    var target = random.Next(0, 6);
    var roll = random.Next(0, 7);
    Console.WriteLine($"Roll a number greater than {target} to win!");
    Console.WriteLine($"You rolled a {roll}");
    Console.WriteLine(WinOrLose(roll, target));
    Console.WriteLine("\nPlay again? (Y/N)");
    play = ShouldPlay(false);
  }
}
bool ShouldPlay(bool startReset)
{
  while (true)
  {
    Console.WriteLine("Please enter Y or N");
    string? userInput = Console.ReadLine();
    string? loweredInput = userInput?.ToLower();
    if (loweredInput == "y")
    {
      return true;
    }
    else if (loweredInput == "n")
    {
      return false;
    }
  }  
}
string WinOrLose(int roll, int target)
{
  if (roll > target)
  {
    return "You won!";
  }
  else
  {
    return "You lose!";
  }
}

```

programmieren, C Sharp, Code, Programmiersprache, Visual Studio, Algorithmus

Meistgelesene Beiträge zum Thema Code