Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

FreeBASIC auf Raspberry Pi

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1293
Wohnort: Ruhrpott

BeitragVerfasst am: 12.11.2025, 15:55    Titel: FreeBASIC auf Raspberry Pi Antworten mit Zitat

Hallo an alle!

Weiß jemand, wie ich FreeBASIC unter Raspbian installiert und zum Laufen bekomme?

Bei einem unter Ubuntu auf dem PC kompilierten und auf den RPi herüberkopierten Programm möchte Raspbian wissen, mit welcher Anwendung es diese Datei öffnen soll. Die Option "Datei als Programm ausführen" taucht bei den Eigenschaften nicht auf.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4723
Wohnort: ~/

BeitragVerfasst am: 12.11.2025, 17:21    Titel: Antworten mit Zitat

Kannst du die Rechte der Datei auf "ausführbar" ändern? Sollte was mit
Code:
chmod u+x meinedatei

sein (zusätzlich zu den bisherigen Rechten darf der Besitzer ausführen). Ggf. nochmal in der manpage zu chmod nachschauen. ubuntuusers.de hat auch immer schön ausführliche Artikel.

Ich weiß nicht genau, wie beim Kopieren einer Datei mit den Rechten umgegangen wird, aber ich halte es durchaus für möglich, dass Ausführungsrechte aus Sicherheitsgründen nicht mitkopiert wurden. (Wenn du als Zwischeninstanz ein nicht mit den Unix-Rechten kompatibles Dateisystem verwendet hast, sind die Rechte-Einstellungen sowieso weg.)
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1293
Wohnort: Ruhrpott

BeitragVerfasst am: 13.11.2025, 16:00    Titel: Antworten mit Zitat

Hallo nemored,

vielen Dank für den Tip. lächeln Das Programm (BER Approach) läuft zwar immer noch nicht, aber "Ausführen" lässt sich jetzt zumindest anwählen.

Ein erster Versuch, nach dieser Anleitung FB auf dem RPi zu installieren ist auch fehlgeschlagen, ich bekomme irgendwann einen "Fehler 126 Exec format error", aber andere haben es ja offenbar schon geschafft, also besteht noch Hoffnung. lächeln

Ich würde mit dem RPi gerne eine Steuerung für meine Solar(insel-)anlage bauen, die könnte ich mir dann ganz nach meinen Wünschen konfigurieren und bräuchte meine Daten nicht irgendeiner Cloud anzuvertrauen.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1841
Wohnort: [JN58JR]

BeitragVerfasst am: 16.11.2025, 12:15    Titel: Antworten mit Zitat

HiHo ...

wenn du apps auf dem pi laufen lassen möchtest, ist es sinvoll den compiler zu installieren, und die app auf dem pi direkt zu kompilieren. das läuft bei mir problemlos. Manchmal muss man allerdigns ein paar lib's nachinstallieren.

https://sourceforge.net/projects/fbc/files/FreeBASIC-1.10.1/Binaries-RaspberryPi/


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1293
Wohnort: Ruhrpott

BeitragVerfasst am: 17.11.2025, 11:37    Titel: Antworten mit Zitat

Hallo ThePuppetMaster,

danke für den Link. Sieht so aus, als bräuchte ich das Rad doch nicht neu erfinden. lächeln

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1293
Wohnort: Ruhrpott

BeitragVerfasst am: 08.02.2026, 22:47    Titel: Antworten mit Zitat

So, nach etlichem Herumprobieren habe ich FB auf dem RPi jetzt endlich zum Laufen gekriegt. Vielen Dank nochmal an ThePuppetMaster. lächeln

Meine nächste Frage wäre, wie kann ich auf die IO-Pins zugreifen? Es gibt da mehrere C-Bibliotheken, die ich entsprechend in meine FB-Programe einbinden könnte, oder ich könnte einen Wrapper schreiben. Aber vielleicht gibt es sowas ja schon, da könnte ich mir die Mühe sparen.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1841
Wohnort: [JN58JR]

BeitragVerfasst am: 08.02.2026, 23:49    Titel: Antworten mit Zitat

Dafür nutzt du am besten wiringpi ... https://tutorials-raspberrypi.de/wiringpi-installieren-pinbelegung/

und dann per source z.b.

Code:
#Include Once "wiringpi.bi"
Dim TPinID as Integer = 6
pinMode(TPinID, MODE_OUTPUT)
Print digitalRead(TPinID)
digitalWrite(TPinID, LOW)
Print digitalRead(TPinID)
digitalWrite(TPinID, HIGH)
Print digitalRead(TPinID)
'...



wiringpi.bi
Code:
''
''
'' wiringPi -- header translated with help of SWIG FB wrapper
''
'' NOTICE: This file is part of the FreeBASIC Compiler package and can't
''         be included in other distributions without authorization.
''
''
#ifndef __wiringPi_bi__
#inclib "wiringPi"

#define __wiringPi_bi__

#define NUM_PINS 17
#define WPI_MODE_PINS 0
#define WPI_MODE_GPIO 1
#define WPI_MODE_GPIO_SYS 2
#define WPI_MODE_PHYS 3
#define WPI_MODE_PIFACE 4
#define WPI_MODE_UNINITIALISED -1
#define MODE_INPUT 0
#define MODE_OUTPUT 1
#define PWM_OUTPUT 2
#define GPIO_CLOCK 3
#define LOW 0
#define HIGH 1
#define PUD_OFF 0
#define PUD_DOWN 1
#define PUD_UP 2
#define PWM_MODE_MS 0
#define PWM_MODE_BAL 1
#define INT_EDGE_SETUP 0
#define INT_EDGE_FALLING 1
#define INT_EDGE_RISING 2
#define INT_EDGE_BOTH 3

type wiringPiNodeStruct
   pinBase as integer
   pinMax as integer
   fd as integer
   data0 as uinteger
   data1 as uinteger
   data2 as uinteger
   data3 as uinteger
   pinMode as sub cdecl(byval as wiringPiNodeStruct ptr, byval as integer, byval as integer)
   pullUpDnControl as sub cdecl(byval as wiringPiNodeStruct ptr, byval as integer, byval as integer)
   digitalRead as function cdecl(byval as wiringPiNodeStruct ptr, byval as integer) as integer
   digitalWrite as sub cdecl(byval as wiringPiNodeStruct ptr, byval as integer, byval as integer)
   pwmWrite as sub cdecl(byval as wiringPiNodeStruct ptr, byval as integer, byval as integer)
   analogRead as function cdecl(byval as wiringPiNodeStruct ptr, byval as integer) as integer
   analogWrite as sub cdecl(byval as wiringPiNodeStruct ptr, byval as integer, byval as integer)
   next as wiringPiNodeStruct ptr
end type
extern wiringPiNodes alias "wiringPiNodes" as wiringPiNodeStruct ptr

declare function wiringPiFailure cdecl alias "wiringPiFailure" (byval fatal as integer, byval message as zstring ptr, ...) as integer
declare function wiringPiFindNode cdecl alias "wiringPiFindNode" (byval pin as integer) as wiringPiNodeStruct ptr
declare function wiringPiNewNode cdecl alias "wiringPiNewNode" (byval pinBase as integer, byval numPins as integer) as wiringPiNodeStruct ptr
declare function wiringPiSetup cdecl alias "wiringPiSetup" () as integer
declare function wiringPiSetupSys cdecl alias "wiringPiSetupSys" () as integer
declare function wiringPiSetupGpio cdecl alias "wiringPiSetupGpio" () as integer
declare function wiringPiSetupPhys cdecl alias "wiringPiSetupPhys" () as integer
declare sub pinModeAlt cdecl alias "pinModeAlt" (byval pin as integer, byval mode as integer)
declare sub pinMode cdecl alias "pinMode" (byval pin as integer, byval mode as integer)
declare sub pullUpDnControl cdecl alias "pullUpDnControl" (byval pin as integer, byval pud as integer)
declare function digitalRead cdecl alias "digitalRead" (byval pin as integer) as integer
declare sub digitalWrite cdecl alias "digitalWrite" (byval pin as integer, byval value as integer)
declare sub pwmWrite cdecl alias "pwmWrite" (byval pin as integer, byval value as integer)
declare function analogRead cdecl alias "analogRead" (byval pin as integer) as integer
declare sub analogWrite cdecl alias "analogWrite" (byval pin as integer, byval value as integer)
declare function wiringPiSetupPiFace cdecl alias "wiringPiSetupPiFace" () as integer
declare function wiringPiSetupPiFaceForGpioProg cdecl alias "wiringPiSetupPiFaceForGpioProg" () as integer
declare function piBoardRev cdecl alias "piBoardRev" () as integer
declare function wpiPinToGpio cdecl alias "wpiPinToGpio" (byval wpiPin as integer) as integer
declare function physPinToGpio cdecl alias "physPinToGpio" (byval physPin as integer) as integer
declare sub setPadDrive cdecl alias "setPadDrive" (byval group as integer, byval value as integer)
declare function getAlt cdecl alias "getAlt" (byval pin as integer) as integer
declare sub digitalWriteByte cdecl alias "digitalWriteByte" (byval value as integer)
declare sub pwmSetMode cdecl alias "pwmSetMode" (byval mode as integer)
declare sub pwmSetRange cdecl alias "pwmSetRange" (byval range as uinteger)
declare sub pwmSetClock cdecl alias "pwmSetClock" (byval divisor as integer)
declare sub gpioClockSet cdecl alias "gpioClockSet" (byval pin as integer, byval freq as integer)
declare function waitForInterrupt cdecl alias "waitForInterrupt" (byval pin as integer, byval mS as integer) as integer
declare function wiringPiISR cdecl alias "wiringPiISR" (byval pin as integer, byval mode as integer, byval function as sub cdecl()) as integer
declare function piThreadCreate cdecl alias "piThreadCreate" (byval fn as sub cdecl(byval as any ptr)) as integer
declare sub piLock cdecl alias "piLock" (byval key as integer)
declare sub piUnlock cdecl alias "piUnlock" (byval key as integer)
declare function piHiPri cdecl alias "piHiPri" (byval pri as integer) as integer
declare sub delay cdecl alias "delay" (byval howLong as uinteger)
declare sub delayMicroseconds cdecl alias "delayMicroseconds" (byval howLong as uinteger)
declare function millis cdecl alias "millis" () as uinteger
declare function micros cdecl alias "micros" () as uinteger

declare function wiringPiI2CSetup cdecl alias "wiringPiI2CSetup" (devId as integer) as integer
declare function wiringPiI2CRead cdecl alias "wiringPiI2CRead" (devId as integer) as integer
declare function wiringPiI2CReadReg8 cdecl alias "wiringPiI2CReadReg8" (fd as integer, reg as integer) as integer
declare function wiringPiI2CReadReg16 cdecl alias "wiringPiI2CReadReg16" (fd as integer, reg as integer) as integer
declare function wiringPiI2CWrite cdecl alias "wiringPiI2CWrite" (devId as integer, data as integer) as integer
declare function wiringPiI2CWriteReg8 cdecl alias "wiringPiI2CWriteReg8" (fd as integer, reg as integer, data as integer) as integer

#endif

gibt noch ein paar andere funktionen, die hab ich hier aber nicht mit drin ... kann man aber natürlich erweitern zwinkern


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1293
Wohnort: Ruhrpott

BeitragVerfasst am: 09.02.2026, 08:17    Titel: Antworten mit Zitat

Vielen Dank!
Dann werde ich mal anfangen, mich da einzuarbeiten. Daumen rauf!

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz