GPIO nutzung in C oder C#?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Leute,
    heute habe ich die Versandbestätigung von meinen Raspberry Pi bekommen.
    Ich möchte mich mit den RPi hauptsächlich der GPIO zuneigen.
    Ich habe schon etwas gegooglet und mich über die GPIO informiert.
    Habe nur einen Compiler in Python gesehen.
    Da ich leider nicht in Python programmieren kann suche ich einen Compiler in C oder in C#.
    Am meisten würde mich C# ansprechen, da ich mich immer mehr mit C# beschäftige.


    Dank euch

    Einmal editiert, zuletzt von darky (15. Juni 2012 um 22:29)

  • Hallo darky,
    das ist so ein Themenfeld, das ich auch mit meinerm Pi gerne erschliessen möchte. Im Prinzip kannst Du die GPIO pins sogar via Konsole über das /sys filesystem des Linux Kernels setzen, aber so richtig Spass macht das Ganz natürlich nur mit echtem Code. Ob's nun C oder Python (ist übrigens ein Interpreter, kein Compiler da Python eine Skriptsprache ist) sein soll, ist eigentlich egal. Zu C# kann ich leider nicht viel sagen, solltest Du Dich auch in C oder C++ gut zurecht finden, spricht nichts gegen diese Sprachen. Ich selber hab mir aber vorgenommen, endlich mal Python zu lernen. Etwas mehr Infos zu GPIO am Pi selber findest Du z.B. hier http://elinux.org/RPi_Low-level_peripherals

    Einmal editiert, zuletzt von MegaGumbo (18. Juni 2012 um 18:33)

  • Was? Man kann in c# auf dem Raspi proggen ?
    Wie dass denn, da läuft doch linux drauf, und c# braucht das .NET Framework, welches nur unter Windows läuft blablabla...
    Das whäre ja schön, wenn man in c# proggen könnte ;D Das gefällt mir umgefähr 1mio. mal besser als c....

  • doch klar kannst du unter C# proggen (stichwort mono) das ist die .NET implementierung in linux

    also VB.NET oder C# läuft unter linux

    • Offizieller Beitrag

    Die Basics in SEHR vielen Programmier/Script-Sprachen findest du hier:
    http://elinux.org/RPi_Low-level_peripherals#Code_examples

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Für alle die gerne mit C#(Mono) die GPIO-Pins benutzen wollen.
    - Nehmt den Code von http://elinux.org/RPi_Low-level_peripherals#Code_examples und schreibt in so um dass er für das Raspberry Pi funktioniert. Die Speicheradressen, etc. sind sicherlich irgendwo verfügbar.
    - Kompiliert diese als dll und schreibt dazu einen Wrapper in C# (=> http://msdn.microsoft.com/en-us/library/…v=vs.80%29.aspx)
    - Sprecht nun über die Wrapperklasse die GPIO aus eurem C# Programm an.
    - Freut euch!!! ;)

    Viel Spass damit. Wenn ich Zeit habe werde ich mir auch einen Wrapper für das PI schreiben. Leider ist das Pi, aufgrund der Tatsache dass es sich um ein System mit Betriebssystem handelt, nicht wirklich Realtimefähig. So werden wohl display etc. ohne vorgeschaltenen Controller o.ä. nicht wirklich funktionstüchtig sein!

    Für alle die gerne mit C#(Mono ) die GPIO-Pins benutzen wollen.
    - Nehmt den Code von http://elinux.org/RPi_Low-level_peripherals#Code_examples und schreibt in so um dass er für das Raspberry Pi funktioniert. Die Speicheradressen, etc. sind sicherlich irgendwo verfügbar.
    - Kompiliert diese als dll und schreibt dazu einen Wrapper in C# (=> http://msdn.microsoft.com/en-us/library/…v=vs.80%29.aspx)
    - Sprecht nun über die Wrapperklasse die GPIO aus eurem C# Programm an.
    - Freut euch!!! ;)

    Viel Spass damit. Wenn ich Zeit habe werde ich mir auch einen Wrapper für das PI schreiben. Leider ist das Pi, aufgrund der Tatsache dass es sich um ein System mit Betriebssystem handelt, nicht wirklich Realtimefähig. So werden wohl display etc. ohne vorgeschaltenen Controller o.ä. nicht wirklich funktionstüchtig sein!

    [font="Courier New"]Plus an Masse, das knallt klasse!

    [/font]

    Einmal editiert, zuletzt von Farin (20. August 2012 um 08:06)

  • Hallo,

    vielleicht hilft ja auch mein Treiber für die EMBIR-JX Ein-Ausgabe Erweiterung.
    Hier zum Download verfügbar. http://www.raspberrypi.org/phpBB3/viewtopic.php?f=45&t=9556
    Ist in C geschrieben.
    Die im EMBIR-JX verwendeten Bausteine werden per SPI angesprochen, die Übertragung wird ständig überwacht, Fehlerfälle erkannt.
    Was noch fehlt sind die Interrupt Funktionen. Der EMBIR-JX kann zu verschiedensten Ereignissen Interrupts generieren,
    z.B. Pegelwechsel an Eingängen, Übertemperatur, Ground Abriss etc.

    Es sind einfache Beispiele dabei ( Einzeiler ) mit denen:

    • eine Konfiguration beschrieben wird ( welche Ports sind Eingang, Ausgang oder Analogeingang, Blinkfunktion, Filterfunktionen usw )
    • Ausgangsports beschrieben werden
    • der aktuelle Status gelesen werden kann

    Alles weitere läßt sich sehr leicht daraus ableiten.

    Pepito

    Video eines kleinen Selbsttestes: http://dl.dropbox.com/u/38387544/vid…03-13-27-21.3gp

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!