Bascom $Include

DEAF BOY

Neues Mitglied
18. Juni 2011
19
0
1
43
Sprachen
Hallo,

ich habe verschiedene Sensoren z.B. Kompassmodul CMP03, Temperatursensor DS1621, 3 Achsen Accelator und Distanzsensor GP2D12 erfolgreich programmiert und Terminal ausgegeben.

Ich würde alle Sensoren includen und ging irgendwie nicht.
Code:
$regfile="m32def.dat
$crystal=16000000
$baud=9600

$include "Kompassmodul.bas"
$include "DS1621.bas"
$include "GP2D12.bas"
$include "3 Achsen Accelator.bas"

Ich kann nur Kompassmodul Werte sehen, die anderen werden nicht angezeigt

Lösche ich $include "Kompassmodul.bas", kann ich Temperaturwerte sehen und andere Sensor nicht.

Wie kann ich machen?
 
Hi,

Ich kann nur Kompassmodul Werte sehen, die anderen werden nicht angezeigt
Lösche ich $include "Kompassmodul.bas", kann ich Temperaturwerte sehen und andere Sensor nicht.
also blockiert dir die erste Include-Zeile alles was dahinter ist.

Kann es sein das du in deiner Bascom-Datei die du includest ein "End" am Ende hast ? Das würde dann bedeuten das dein Programm für den Compiler an der Stelle zu Ende ist. Das wär jetzt meine Idee.

Eigentlich macht der Compiler auch nichts anderes als wenn du die Dateien in der Reihenfolge der Includes in eine Datei schreiben würdest.

Gruß
Dino
 
Hallo Deaf Boy!

Ein $include sorgt nur dafür, dass an der zugehörigen Stelle der Programmcode aus der Datei eingebunden wird.

Versuch doch mal die $include-Dateien in einzelne Subroutinen zu unterteilen, die du dann an entsprechender Stelle nur noch aufrufst.


Beispiel:
Code:
Select Case Xy 
   Case is 1 : Gosub Kompass
   Case is 2 : Gosub DS1621
   Case is 3 : Gosub GP2
   Case is 4 : Gosub 3_Achsen
End Select




'--------------Include-Subs-----------------
Kompass:
$include "Kompassmodul.bas"
Return

DS1621:
$include "DS1621.bas"
Return

GP2:
$include "GP2D12.bas"
Return

3_Achsen:
$include "3 Achsen Accelator.bas"
Return


Noch ein Tipp.....
Man sollte Dateiennamen "niemals" mit Leerzeichen vergeben sondern besser mit einem Unterstrich. :wink:
Also NICHT: 3 Achsen Accelator.bas
BESSER : 3_Achsen_Accelator.bas


Grüße,
Cassio
 
Noch ein Tipp.....
Man sollte Dateiennamen "niemals" mit Leerzeichen vergeben sondern besser mit einem Unterstrich. :wink:
Also NICHT: 3 Achsen Accelator.bas
BESSER : 3_Achsen_Accelator.bas
da kann ich mich nur anschließen. Es ist eine absolute Windows-Unart mit diesen Leerzeichen, Sonderzeichen, Umlauten, ... in den Dateinamen. Im Endeffekt bekommt man nur Probleme mit so einer Schreibweise.

Also wenn dann nur Ziffern, Buchstaben (a-z/A-Z) und Minuszeichen, Punkt und Unterstrich verwenden. Alles andere muß zwar nicht, kann aber zu schönen Nebeneffekten führen an denen man stundenlang Zeit verplempern kann :p Wenn dann zB die Teile eines Dateinamens mit Leerzeichen auf einmal als Optionen eines Befehls interpretiert werden.

Doppelpunkt, Semikolon, Schrägstriche (egal welche Richtung / \ ), Pipe-Zeichen | , und so einige andere Sonderzeichen werden gerne im Betriebssystem oder irgendwelchen Sonderfunktionen verwendet. Die sind also absolut tabu.

Ergebnis : Windows versaut die Leute bei der Schreibweise weil es jeden Mist mitmacht bei dem man eigentlich nur noch mit dem Kopf schütteln kann.

Gruß
Dino
 
Hi
Nun schimpft nicht immer auf Windows. Es liegt doch in der Hand der User, wie sie ihre Dateien benennen. Eine ordentliche Schule allerdings sollte schon in der Lage sein, da entsprechende Information zu liefern. Ich hab mir jetzt nicht die Mühe gemacht nachzulesen, welche Empfehlung die Internet-Quellen da so von sich geben, aber ich kann mich erinnern, das unsere LINUX-"Experten" auch auf die Unterstriche geschimpft haben....
Das Leerzeichen in Dateinamen stehen können, ist schon in Word beim automatischen Zuweisen eines Dateinamens vorgegeben Mich stört es nicht weiter und Probleme habe ich damit bisher noch nicht gehabt.
Ok, ich stamme auch noch aus der Zeit, wo die Dateinamen unter DOS noch mit dem Hammer auf die Platte geklopft wurden und deshalb auch nur 8 Zeichen lang sein durften. Heut würde allein der Dateiname fast an die Kapazität der alten (10 MB !!) Festplatten kommen.
Einerseits waren viele Programme schneller... zwar nicht so komfortabel, aber dem Zweck zugeordnet. Heut ist Word eine WollmilchlegendeEiersau ähhh Eierlegendewollmilchsau. Dafür ist auch ein 2GHz Prozessor mit Quad-Kernel und 4 GB Speicher erforderlich, um einigermaßen Tempo in die Anwendung zu bekommen.
Trotzdem, ich vermisse das alte DOS und Win 3.0 nicht.. und ich finde, MS hat da für den Massenmarkt hervorragende Arbeit zu einem passablen Preis geleistet.
Gruß oldmax
 
hehe, da geb ich Dir recht: Wie gross war früher eine Textseite? 2K - 80 x 25 Zeichen...:flute:
 
Hi,

Nun schimpft nicht immer auf Windows. Es liegt doch in der Hand der User, wie sie ihre Dateien benennen.
...
aber ich kann mich erinnern, das unsere LINUX-"Experten" auch auf die Unterstriche geschimpft haben....
Das Leerzeichen in Dateinamen stehen können, ist schon in Word beim automatischen Zuweisen eines Dateinamens vorgegeben
ich schimpfe ja garnicht immer ;) aber oft :p

Das Problem ist eben das man durch diese wilden Dateinamen ne Menge Probleme bekommt wenn man die Datei von einem Betriebssystem zu einem anderen bringt um sie da weiter zu bearbeiten. Man verliert ne Menge Interoperabilität ( Boah was nen Wort ;) ). Und da fallen vor allem die Leute bei der Namensvergabe auf, die aus der Windows-Seite kommen. Ich hab aber irgendwann mal nen Linux-Tool gefunden das einem diese ganzen Sonderzeichen und anderen Wildwuchs im Dateinamen saubermacht. Hieß glaube ich "detox" oder so in der art.

Ach ja ... wenn man mal auf nem neuen PC wieder die 286er-Geschwindigkeit erleben möchte, dann läßt man unter Windows nen schönes großes Java-Programm laufen :cool: Schon oft erlebt und auch oft geflucht. Das einzig gute an Java ist die Portierbarkeit des Programms zwischen den Betriebssystemen.

Gruß
Dino
 
Hi Dino
Ich bin etwas irritiert, mag aber daran liegen, das ich eh immer nur im "Fenster" liege. Trotzdem muss ich da mal fragen, was gegen eine Umbenennung der Datei spricht, wenn sie auf ein anderes ( nicht kompatibles ) Betriebssystem transferiert werden muss ?
Also, bevor ich mir da graue Haare wachsen lassen würde.. ( meine letzten fallen o langsam aus...) bekämen die Dateien neue Namen und gut, oder ?
Gruß oldmax
 
Hi,

Trotzdem muss ich da mal fragen, was gegen eine Umbenennung der Datei spricht, wenn sie auf ein anderes ( nicht kompatibles ) Betriebssystem transferiert werden muss ?
das wird teilweise schwierig wenn man die Datei von beiden Betriebssystemen benutzen will (zB auf ner Partition die von beiden gemountet wird) und richtig schön wird es wenn es Dateien sind die zB relevant für Programme sind die auf beiden Systemen laufen. Stell man sich nur mal einen C-Compiler vor den es unter Windows und auch unter Linux gibt oder zB Thunderbird (die Mailbox-Namen kann man selber vergeben), Firefox, TrueCrypt, Eagle (Bibliotheken), ...

Aber ich glaube wir kommen grade ziemlich stark vom eigentlichen Thema ab :rolleyes: :offtopic: :rolleyes:

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)