GPIO nutzung in C oder C#?

  • 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

    Edited once, last by darky ().

  • 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

  • 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

  • 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-u…s235281%28v=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!
    [hr]
    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-u…s235281%28v=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]

    Edited once, last by Farin ().

  • 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/383875…o-2012-08-03-13-27-21.3gp

  • Hei Leute


    Ich habe hier, ausgehend vom Python Code der Foundation, und meinem Linuxwissen eine Klasse programmiert die mit den GPIO-Pins des Raspberry Pi's umgehen kann. Der Code ist in C# und funktioniert wunderbar bei mir. :)


    Vielen Dank für eure Aufmerksamkeit.

    Files

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


    [/font]