PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bascom lernen



roooy
04.11.2004, 16:30
Hallo,

kann mmir jemand helfen???
ich möchte einen atmega 8 mit Bascom programmieren, bin aber ganz neu auf dem gebiet!!

Kann mir jemand vielleicht ne Internetseite nennen wo bascom erklärt ist(mit befehlen und so)???

mfg
roooy

04.11.2004, 16:34
Wie wäre es mit einem Buch, das würde optimal passen:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=946

x-ryder
04.11.2004, 17:01
was iss denn mit dem handbuch, ich find das da drin ganz gut erklärt

roooy
04.11.2004, 17:16
was iss denn mit dem handbuch, ich find das da drin ganz gut erklärt

was für ein Handbuch??

x-ryder
04.11.2004, 17:19
ach mensch... sschon wida mist gelabert die hilfe mein ich die hab ich mir ausgedruckt und siehe es sind ca. 500 - 700 seiten und da steht echt dann alles drinne das iss absolut perfekt zum lernen. das musste dann einfach einmal ganz durchlesen

Frank
04.11.2004, 17:23
Ja das stimmt, ich find die Hilfe auch sehr gut. Die ist mächtig umfangreich.
Wer nicht gerne englische texte liest, findet hier eine gute deutsche Alternative https://www.roboternetz.de/phpBB2/viewtopic.php?t=3710
Enthält die gleichen Infos, kostet nur leider etwas

roooy
04.11.2004, 17:32
Ja das stimmt, ich find die Hilfe auch sehr gut. Die ist mächtig umfangreich.
Wer nicht gerne englische texte liest, findet hier eine gute deutsche Alternative https://www.roboternetz.de/phpBB2/viewtopic.php?t=3710
Enthält die gleichen Infos, kostet nur leider etwas

kostenlos auf deutsch gibts da nichts,oder??? :-k
(edid:wenigstens ne kleine einführung??brauche das gar nicht so umfangreich!!brauch das nur für ein Projekt in der Schule)

andysafe
04.11.2004, 17:42
Hallo roooy

für die ersten Schritte schaue mal auf diese Internetseiten

http://www.rowalt.de/mc/index.htm

mittlerweile habe ich mir auch die entsprechenden Zeitungen ausgeliehen.

damit gelingt auf alle Fälle erstmal der Einstieg

Gruß Andreas

roooy
04.11.2004, 18:31
Hallo roooy

für die ersten Schritte schaue mal auf diese Internetseiten

http://www.rowalt.de/mc/index.htm

mittlerweile habe ich mir auch die entsprechenden Zeitungen ausgeliehen.

damit gelingt auf alle Fälle erstmal der Einstieg

Gruß Andreas
was für Zeitungen??

roooy
04.11.2004, 19:58
so hab mich jetzt schonmal weng eingelesen und was für mich geschrieben!

habe jetzt folgendes problem:
wie schaffe ich es wenn auf einem von mir definierten Eingangsport von außen ein High signal gesendet wird dass ich dieses dann über die serielle Schnittstelle an den Pc übertrage????

x-ryder
04.11.2004, 20:33
du willst ja gleich heftich anfangen, da brauchste nen pegelwandler (MAX232C + 4*10µF oder DS245).

Das musste aufbauen und dann anne serielle schnittstelle den code kann ich dir dann geben

roooy
04.11.2004, 21:18
das hab ich schon!!!!
werde folgende platine kaufen:
http://shop.mikrocontroller.net/csc_article_details.php?nPos=0&saArticle[ID]=29&VID=TzcwVL1Y9ui3vwm8&saSearch[word]=&saSearch[category]=AVR&saSearch[special]=

geht eigentlichs nur noch ums programmieren!!

werde 7 eingänge verweden wo jeweils ein Sensor(Lichtschranke CNY 70) angeschlossen wird!!diese sensoren geben dann H oder L signale an den Mic.,diese H o. L Signal soll dann an den PC übertragen werden!!!

wer klasse wenn du mir weiter helfen köntest!!

andysafe
05.11.2004, 11:25
na im prinzip geht das so


if pind.1 =1 then
print "Eingeschaltet"
elseif pind.1=0 then
print "Ausgeschaltet"
end if

Schaue doch einfach auch mal die Bascom Samples durch.

http://www.mcselec.com/download_avr.htm
Hier gibt es auch noch Extrasamples für AVR.

Gruß Andreas

RCO
05.11.2004, 11:33
Also die Hilfe zusammen mit eineigen Programmbeispielen bringt einen schon echt weiter. Das von Frank empfohlene : https://www.roboternetz.de/phpBB2/viewtopic.php?t=3710 finde ich nicht so gut, das ist nur die Hilfe, ohne Beispiele auf Deutsch, allerdings mit eineigen sinnvollen Tools, und vor Allem für total-Anfänger nciht sonderlich Hilfreich. Meine Meinung.

MFG Moritz

Netbird
05.11.2004, 11:43
Hallo,

einen Lehrgang zum Lernen von BASCOM von P.Dams findet man über die Bascom-Homepage. (Mal nachsehen...)

Dort wird Schritt für Schritt Programmieren eingeführt, dies wird durch Beispielprogramme illustriert.

Der Text ist allerdings in Niederländisch, das fällt aber einem Deutschen nicht allzu schwer, besonders wenn man auch Plattdeutsch versteht ...

Die Beispielprogramme sprechen übrigens auch für sich alleine.
Dort wird auch gut erklärt, wie man ein LCD anschließt, den RC5-Code nutzt usw.

Anfängertipps / Startinfos gibt es in Deutsch bei J.P.Feltes. Seite habe ich gerade nicht parat.

Gruß, Harald

RCO
05.11.2004, 11:53
Meinst du das:

http://www.mcselec.com/download/appnotes/bascomavr-cursus.pdf

Also ich finde das schon relativ anstrengend mit dem niederländisch, aber er beahandelt da echt viele Themen.

MFG Moritz

roooy
05.11.2004, 12:51
So, hab jetzt mal was geschrieben!!!
kann das funktionieren???


'******************************************
'erste Versuche Bascom
'******************************************

$regfile = "4433def.inc"
$crystal = 3686400 'Quarz: 3.6864 MHz
Ddrd = &B0000000 'eingänge
Ddrc = &B1111111 'ausgänge

'PD0-PD7 = Sensoren
'PC0-PC7 = Motorsteuerung

Baud = 9600

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 1

Do
If Pind.0 = 1 Then 'Wenn Sensor1 (Pin PD0) High
Print = "Stein an Position 1"
Else If Pind.0 = 0 Then
Print = "Kein Stein an Position 1"
End If

Loop
End

andysafe
05.11.2004, 17:56
Hallo

Ich habe Dein Prog mal im Simulator getestet.
So funktionierte es nicht. Ich habe dabei auch ein paar Schreibfehler von mir entdeckt.

Print ohne =
und Elseif wird natürlich zusammen geschreiben

als Hinweis noch , die regfiledateien enden meistens mit "dat"

also hier dann der Code wie er im Simulator funktioniert


$regfile = "m8def.dat"
$crystal = 3686400 'Quarz: 3.6864 MHz
Ddrd = &B0000000 'eingänge
Ddrc = &B1111111 'ausgänge
Portd = 2

'PD0-PD7 = Sensoren
'PC0-PC7 = Motorsteuerung

Baud = 9600

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 1
Dim X As Bit

Do
X = Pind.1
If X = 0 Then
Print "Kein Stein an Position 1"
Elseif X = 1 Then
Print "Stein an Position 1"
End If

Loop
End

Wenn Du , um es im Simulator zu testen, als erste Zeile $SIM einfügst, läuft es schneller. Bevor Du es aber in den MicroC überträgst, müßt Du das wieder entfernen.

Das Elseif, das ich beim erstenmal genommen habe, ist natürlich quatsch, da ja ein Bit nur 2 Zustände haben kann.

Die Variable x, habe ich deshalb eingesetz, weil die Abfraqe mit Pind.1 einfach nicht funktionieren wollte , weiß bis jetzt aber noch nicht genau warum.

Ich habe auch mal select case probiert, der Vorteil hier man kann dadurch mehrere Tasten auf einmal bestimmen.

Bsp.
SELECT CASE Pind
CASE 0
Print "Keine Taste"
CASE 1
Print "Taste 1"
CASE 2
Print "Taste 2"
CASE 3
Print "Taste 1 +2"
END SELECT

Mir ist dabei aber was seltsames aufgefallen, uzw. hat x immer den entgegengesetzen Wert von Pind.1 (d.h ist Pind.1=0 dann ist x=1)
vielleicht hat ja mal jemand darauf eine Antwort , würde mich sehr interessieren.

Gruß Andreas

roooy
05.11.2004, 20:01
ok, hab da nochn par fragen:

was heisst "Dim X As Bit "????

und

kann mir jemand sagen warum die abfrage nicht mit "Pind.1" funktioniert??

und,fettes danke an andysafe

andysafe
06.11.2004, 10:42
benutzt du manchmal auch die Kontexthilfe von Bascom

der Befehl DIM dient dazu variablen zu Deklarieren
übersetzt heißt das in etwa

bestimme das x als variable mit der größe 1 Bit
d.h in x kann nur 1 Bit abgelegt werden

weitere größen wären z. Bsp.
Byte = 8 Bit
Word = 16 Bit
usw.
Ich kann Dir nur empfehlen , benutze mal die Hilfe und ansonsten besorge Dir mal ein Buch über Programmierung( wegen der Grundkentnisse,denn fast alle Bücher fangen immer damit an

Wie werden Variablen deklariert.
Welches Format sollen Sie haben.
Schleifen und Abfragen usw.

Das ist jetzt auch nicht irgendwie böse gemeint, aber vielleicht bringt Dich das weiter weil Dir ja scheinbar einige Grundlagen fehlen.

Gruß Andreas

E-Fan
06.11.2004, 11:02
Mit "DIM X as ..." sagst Du dem Compiler, das die Variable X ein Bit, Byte, Word, Integer etc. ist. Das muss er wissen um den Arbeitsspeicher benutzen zu können.
Versuche nicht mit dem Haus in die Tür zu fallen weil Dich die Com-schnittstelle am Anfang einfach überfordert.
Bau Dir doch erstmal ein Testboard mit Schaltern, LED's und von mir aus einem Protexpander auf und fange wirklich klein an! - Alles andere ist -verzeih mir bitte den Ausdruck- Blödsinn wenn man sich erst in die Materie reinfuchsen muss. Wer die Gedult dazu nicht besitzt wird über kurz oder lang ständig mit nicht laufenden Programmen gequält, ist aber selber daran schuld.
Die Befehle sind in der Bascom-Hilfe meiner Meinung nach sehr gut erklärt.
(meines ist nicht gerade das Beste weshalb ich ein Wörterbuch neben dem PC zu liegen habe. ;) )
___________________
Bascom an sich kann man nicht wirklich "lernen". Es wäre Sinnvoller sich in diesem Fall mit der Programmiersprache Basic auseinanderzusetzen. Ich habe mitte der 90er von meinem Cousin einen Computer bekommen, auf dem ein Basicinterpreter war - und dazu ein recht gutes Handbuch (GW-Basic). Die Sprache hab ich mir daraufhin selber beigebracht.
Man kann mittlerweile auch ne Menge Basiccompiler für IBM kompatible PC's legal kostenlos aus dem Netz ziehen. Dort sind die Befehle auch recht gut erklärt und man kann sie nahezu Problemlos auf Bascom übertragen. Um's nachlesen kommt man dann aber immer noch nicht drumherum.

E-Fan
06.11.2004, 11:05
arrrrrg!!! Falschen Butteon erwischt. - SCHEI....! ](*,) :oops:

roooy
06.11.2004, 12:33
Das Problem ist soviel Zeit hab ich leider nicht!!!!

Denn ich brauch das für ein Schulprojekt das im Januar fertig sein muss!!!! 8-[

d.h. ich muss mich wohl so durchkämpfen!!!

mfg