Archiv verlassen und diese Seite im Standarddesign anzeigen : fastavr-basic
pebisoft
29.08.2005, 22:16
hallo, habe mal das fast-basic geladen.
100 zeilen kann man compilieren.
generiert 100% asm der selber noch geändert werden kann.
er wird dann mit dem avr32asm von avr-studio in hex umgesetzt.
der avr32asm ist mit dabei.
der asm-code kann auch direkt mit avr-studio geladen werden und gestartet werden.
also, ein gutes basic für den avr.
der code ist kleiner als der der von bascom.
und über den preis kann man auch nicht meckern ca 120 euro.
fastavr-basic wird mein nächtes basic werden.
mit ponyprog habe ich den code übertragen. ponyprog wird direkt von fastavr gestartet.
im anhang sind 2 demo, einmal in bas und einmal von fastavr in asm umgewandelt.
mfg pebisoft
'//////////////////////////////////////////////////////////
'/// FastAVR Basic Compiler for AVR by MICRODESIGN ///
'/// Mooving LED for STK-200, 500 ///
'//////////////////////////////////////////////////////////
$Device= m16 ' used device
$Stack = 32 ' stack depth
$Clock = 8. ' used crystal
$Source= On ' basic source in Asm
Dim n As Byte
DDRB=&hff ' PortB is output
n=&hfe ' init n
Do ' never ending loop
PORTB=n ' n out to port
Rotate(Left, 1, n) ' rotate n left one bit
WaitMs 100 ' 100ms delay
Loop ' back to start of loop
;FastAVR Basic Compiler, ver.4.1.3, by MicroDesign
;Created 23:45:08, 29-08-2005
;
.include "D:\FASTAVR\inc\m16def.inc"
;
.DSEG
n: .byte 1
.CSEG
.ORG 0
_Reset:
ldi yl,low(RAMEND)
out SPL,yl
ldi yh,high(RAMEND)
out SPL+1,yh
sbiw yl,32
;****** USERS BASIC CODE **********************
;-Line--0012----DDRB=&hff ' PortB is output--
ldi zl,low(255)
out ddrb,zl
;-Line--0013----n=&hfe ' init n--
ldi zl,low(254)
sts n,zl
;-Line--0015----Do ' never ending loop--
L0000:
;-Line--0016----PORTB=n ' n out to port--
lds zl,n
out portb,zl
;-Line--0017----Rotate(Left, 1, n) ' rotate n left one bit--
lds zl,n
ldi r24,1
call _RotBL
sts n,zl
;-Line--0018----WaitMs 100 ' 100ms delay--
ldi zl,low(100)
call _Wms
;-Line--0019----Loop ' back to start of loop--
rjmp L0000
L0001:
;****** END OF USER BASIC CODE ****************
;////// RotateLeftByte ////////////////////
_RotBL: lsl zl
brcc _RtBL1
sbr zl,1
_RtBL1: dec r24
brne _RotBL
ret
;////// _Waitms ///////////////////////////
_Wms: ldi r20,0x14
_Wms1: ldi r21,0x85
_Wms2: dec r21
brne _Wms2
dec r20
brne _Wms1
dec zl
brne _Wms
ret
;System Global Variables: 0 bytes
;User Global Variables: 1 bytes
'/////////////////////////////////////////////////////////
'/// FastAVR Basic Compiler for AVR by MICRODESIGN ///
'/// World famous program ///
'/// HelloWorld.bas www.FastAVR.com ///
'/////////////////////////////////////////////////////////
$Device= m16 ' used device
$Stack = 28 ' stack depth
$Clock = 8.0 ' adjust for used crystal
$Baud = 9600
$Source= On ' basic source in Asm
' use FastAVR or any other Terminal emulator
Print "Hello World!"
End
;FastAVR Basic Compiler, ver.4.1.3, by MicroDesign
;Created 23:46:11, 29-08-2005
;
.include "D:\FASTAVR\inc\m16def.inc"
;
.DSEG
.CSEG
.ORG 0
_Reset:
ldi yl,low(RAMEND)
out SPL,yl
ldi yh,high(RAMEND)
out SPL+1,yh
sbiw yl,28
ldi zl,0x18
out UCSRB,zl
ldi zh,high(51)
ldi zl,low(51)
out UBRRL,zl
out UBRRH,zh
;****** USERS BASIC CODE **********************
;-Line--0013----Print "Hello World!"--
ldi zl,low(S000*2)
ldi zh,high(S000*2)
call _PSc
call _PCL
;-Line--0015----End--
L0000:
jmp L0000
;****** END OF USER BASIC CODE ****************
; String constants:
S000: .db "Hello World!", 0
;////// Print string constants ////////////
_PSc: lpm
tst r0
breq _PSc1
mov r24,r0
rcall _Pch
adiw zl,1
rjmp _PSc
_Psc1: ret
;////// Print Cr, Lf & any char////////////
_PCL: ldi r24,0x0d
rcall _Pch
ldi r24,0x0a
_Pch: sbis UCSRA,5
rjmp _Pch
out UDR,r24
ret
;System Global Variables: 0 bytes
;User Global Variables: 0 bytes
Fastavr bietet aber weniger Funktionen und der generierte Code ist oft auch größer. Und die Entwicklungsumgebung ist auch recht mager
Dass so ein kurzer (für die Praxis nicht relevanter) Beispielscode in FAST-AVR kürzer ist als ein entsprechendes BASCOM-Code hat 3 Gründe.
FASTAVR startet mit dem Code, sofern kein Interrupt programmiert ist, mit der Adresse 0, also dort, wo sich normalerweise die Interrupt Sprungtabelle befindet. BASCOM hat dort RETI Befehle. Wird aus irgendwelchen Gründen ein Interrupt ausgelöst, landet das Programm bei FASTAVR irgendwo mitten in einer Programmsequenz, während bei BASCOM-AVR der unbeabsichtigte Interrupt mit dem RETI-Befehl (Return from Interrupt) gezielt auf dem kürzesten Weg verlassen wird.
BASCOM-AVR löscht gezielt den SRAM-Bereich beim Start, d.h. alle Variablen werden mit 0 bzw. blank initialisiert. FAST-AVR macht das nicht.
Variablen, deren Anfangswerte nicht belanglos sind, müssen bei FAST-AVR im Programm selbst initialisiert werden.
BASCOM-AVR deaktiviert gezielt den Watch-Dog, sofern er nicht benötigt wird.
Eine Fehlinitialiserung führt hier bei FAST-AVR zu sicher nicht gewünschten Effekten.
Es sind also grundsätzliche Hintergrundfunktionalitäten, welche bei BASCOM-AVR bei kleinen Programmen einen größeren Code im Vergleich zu FAST-AVR ergeben aber das Programm sicherer machen.
Sofern jemand für weniger Programmfunktionalität bei FAST-AVR mehr bezahlen will, ist das jedem selbst überlassen. Vielleicht hat auch pebisoft diesen Thread mit der herausfordernden Wortwahl mit der Absicht eingebracht, eine lebhaftere Diskussion über die Unterschiede in Gang zu bringen.
Eine wirklich fundierte Aussage über zwei Programmpakete kann man sicher erst dann treffen, wenn man eine größere Applikation in beiden Compilern entwickelt, und die Code-Sicherheit in der Praxis getestet hat.
Nach einem grundsätzlichen Überblick über beide Compiler und den sehr eingeschränkten Simulationsmöglichkeiten in FAST-AVR (bzw. ATMEL Studio, FAST-AVR hat ja keinen Simulator) für BASIC-Variablen habe ich mich für BASCOM-AVR entschieden und es bisher nicht bereut. Wie kann man z.B. im ATMEL-Simulator die
Ausgabe mit Print-Befehl
Ausgabe auf LCD
Wert von Variablen
testen?
pebisoft
30.08.2005, 10:21
den simulator von bascom kannste vergessen.
der beste ist avr-studio.
der fastaver-compiler erzeugt fertigen code der mit asm32avr (auch mit bei avr-studio) im avr-studio simuliert werden kann..... avr-studio ist das "simulationsprogramm", wichtig: merken. wenn ich sehe das bei fastavr "waitus 10" zum beispiel im avr-studio auch exakt zeitlich abläuft, kann ich nur sagen spitze. hingeben bei bascom musste ich immer zeitliche experiemente machen damit z.b. meine ir-sendediode angesprochen werden konnte.
in winavr habe ich es geschafft ohne timer dieses zu machen und siehe da, in fastavr kann ich das ohne timer proggen aber nicht in bascom.
das gleiche gilt für den srf04 , den ich von hand proggen kann ohne fertige routinen und timer, in bascom nicht und siehe da, in fastavr geht es wieder. ein test von mir ergab, das fastavr genauso schnell ist wie winavr-c (klasse). da ich gerne den code hier und da noch einmal gerne anschauen möchte und ich auch gerne asm lernen möchte kommt der fastavr wie gerufen. ich kann in asm noch keine grossen programme schreiben und siehe da fastavr gibt mir ein program in asm, wo ich jetzt auch erst einige interessante dinge in asm kennengelernt habe.
wenn ich das asmprogramm mit fastavr erstellt habe kann ich es aus fastavr gleich laden in den avr mit ponyprog oder avrdude.
-Ausgabe mit Print-Befehl
-Ausgabe auf LCD
-Wert von Variablen
kannste alles an den simulierten ausgängen im avr-studio verfolgen.
mfg pebisoft
Ich möchte mich hier nicht auf eine weitere Diskussion einlassen, da mir dazu die Zeit zum Thema FASTAVR eigentlich zu schade ist.
Um aber doch auf das Beispiel WaitUS 10 zurückzukommen für eine CPU mit 8MHz.
$Clock 8
WaitUS 10
ergibt in FASTAVR laut AVR-Studio
788 CPU-Cyclen = 98,5 µSec
In Bascom ergeben die gleichen Parameter 81 Cyclen zu 10,125 µSec.
Ich glaube das spricht für sich.
FASTAVR ist sicher eine feine Sache wenn man sich mit der Assembler-Sprache auseinandersetzen will.
Die einzigen positiven Hinweise auf FASTAVR, welche ich bisher gelesen habe betreffen auch die ASM-Ausgabe.
Eine nennenswerte größere mit diesem Compiler realisierte Applikation ist mir aber noch nicht untergekommen.
Ich wünsche Dir aber weiterhin viel Spass mit FASTAVR.
Rage_Empire
30.08.2005, 12:09
FASTAVR ist sicher eine feine Sache wenn man sich mit der Assembler-Sprache auseinandersetzen will.
Die einzigen positiven Hinweise auf FASTAVR, welche ich bisher gelesen habe betreffen auch die ASM-Ausgabe.
Da stimme ich zu, das würde auch die erstellung von Libs in Bascom vereinfachen.
Eine nennenswerte größere mit diesem Compiler realisierte Applikation ist mir aber noch nicht untergekommen.
Da stimme ich nur zu. Und wie auch schon erwähnt, die Simulation(was es eigentlich hier gar nicht gibt) und das Handling sind nicht unbediengt der Knüller.
Nee danke, bleib lieber bei Bascom. Jedoch finde ich es Intresannt zu sehen, was es noch so alles auf dem Markt gibt.
Stimme Euch zu - schon deshalb weil ich weiss das Bascom trotz seiner umfangreichen Fähigkeiten immer noch vom Entwickler verbessert wird. Dabei ist MCS auch immer sehr bescheiden und erhöht die Versionsnummer oft nur in der Nachkommastelle.
Das Fastavr Assemblerquelltext generiert ist manchmal ganz nützlich. Ich glaube jedoch das der Entwickler dies nur gemacht hat, weil er sich so die Arbeit sparen kann Binärcode zu generieren. Die Arbeit überläßt er dann wohl dem AVR Studio. Also sind immer zwei Compilervorgänge nötig wenn ich es richtig in Erinnerung habe.
Noch ein kurzer Nachsatz zum Punkt Entwicklung:
Laut Angabe auf der Homepage von FASTAVR gab es in den letzten 1,5 Jahren (Feb. 04 bis Aug. 05) folgenden Entwicklungsschritt:
- a lot of improvements and some bugs fixed
- new command MemFill(adr, len, byte)
Bug fixes, Improvements (welche?) und eine Funktion, welche in 5 Minuten geschrieben ist, scheint mir doch etwas bescheiden für eine Release, auf welche man 1 1/2 Jahre warten musste.
Auch war beim vorhergehenden Release-Sprung von 3.xxx auf 4.xxx nicht nachvollziehbar, womit sich der Sprung der Hauptnummer begründet.
@oe9vfj: (klingt so kurzwellenmäßig)
Dann tät ich sagen
-- some improvements and a lot of bugs :mrgreen:
Nun ja, ich habe die Amateurfunktlizenz, allerdings nur die für UKW und bin auch jetzt nicht mehr aktiv (ausser dass ich die Lizenzgebühren bezahle).
Aber das gehört nicht zu diesem Thema. Wir können uns aber gerne ausserhalb dieses Forums zu diesem Thema unterhalten.
Sieh' an, ein 2m Mensch !
..nicht mehr aktiv (ausser dass ich die Lizenzgebühren bezahle).
Einer noch OT: Macht nix, ich zahl auch Fernsehgebühr und krieg mit der Schüssel den ORF garnicht rein.
pebisoft
31.08.2005, 19:00
hallo, gib bei bascom mal ein:
a=b+c+d+e
geht nich......
du musst in bascom eigeben :
a=b+c
a=a+d
a=a+e
ist doch ätzend oder......der programmcode wird länger.....
in fastavr geht der erste term.
mfg pebisoft
Hallo Pepisoft
Darüber wurde ja schon in einem anderen Thread diskutiert. Sicher ein kleiner Nachteil von Bascom, da geb ich dir schon recht. Nichts ist perfekt! Allerdings kommen solche Sequenzen seltener beim programmieren vor als man denken könnte.
Und ob ich nun:
a=b+c+d+e
oder
a=b+c :a=a+d :a=a+e
in eine Zeile schreibe ist auch keine Tragödie. Die generierte Codegröße dürfte ziemlich gleich sein.
Die anderen Dinge wie Stabilität,zuverlässer kompakter Code,ständige Weiterentwicklung,umfangreicher Befehlssatz,viel Literatur, echte Binärcodeerzeugung ohne Assembler Umweg sind doch viel wichtiger.
pebisoft
31.08.2005, 23:30
habe gerade mit fastavr alle sensoren vom küchenbrettroboter in betrieb genommen, geht zur zeit nur einzeln, weil ich noch die demoversion habe (100 zeilen):
- sharpsensor
- compasmodul cmps03 (i2c)
- srf04
- srf08
- lcd display (16x2) und (128x64 von pollin)
- tsop1736
- ir-sendediode (wurde von meinem winavr-c umgesetzt in fastavr)
- motorsteuerung
- software rs232
- i2c eeprom24c256
- auswertung der radencoder vom angehängten asuro
- gaemboycamdaten auslesen und zum pc schicken
also, das ganze umsetzen ging schneller als mit bascom.
habe sogar einer handgeschriebene auswertung für die srf04 wie bei winavr-c, gut zum lernen (habe nicht pulse von fastavr genommen),
mir ging es um den test ob es das basic schafft den timer in den normalen basroutinen auszuwerten, in bascom traten fehler auf, weil die schleife zulange dauerte. habe es auch geschafft den 15bit irsendecode rc5 in den basicschleifen zu produzieren ohne interrupt. diesen sendebefehl gibt es in fastavr nicht, in bascom ja, nimmt aber einer timer weg. so kann man dann auch selbsterstellte asm-module dann als befehl in fastavr einbinden. diesen asm-modulen kann man sogar noch den letzten schlief geben und dann mit asm32avr neu compilieren. man kann in fastavr den asm-code einladen verbessern und gleich aus der ide compilieren. ich lade ihn auch gleich von der ide mit avrdude in den avr zum testen. ich finde es sogar von vorteil, das man nicht jede kleine routine wie in bascom fest verankert. manche schritte sind in bascom dadurch nicht immer nachvollziebar.
fazit: fastavr ist ein guter geselle der zum winavr-c passt, die leichtigkeit von basic hat und die schnelligkeit von c.
mfg pebisoft
Dino Dieter
31.08.2005, 23:32
Hallo
Meiner Meinung ist es das wichtigste, bei einer Sprache zu bleiben und diese zu beherrschen, anstatt bei jedem Problem die Sprache zu wechseln.
Sicher hat jede Sprache Vor und Nachteile, aber immer zu wechseln bringt einen doch nicht weiter.
MFG
Dieter
pebisoft
31.08.2005, 23:42
mich hat das wechseln der sprache sehr weit gebracht.
da es z.b. in winavr-c maximal nur 20 c-grundbefehle gibt und das andere daraus ensteht, habe ich gelernt die module von grund auf zu proggen.
bloss die schreibweise von c hat mir immer wieder schwierigkeiten gemacht.
habe fehler nicht gleich gefunden, nur weil irgendwo ausversehen ein senkrechter strich fehlte. darum war winavr-c noch nicht meine letzte sprache. obwohl ich in winavr-c alle meine module und sensoren am küchenbrettroboter mit c ansprechen kann, hat aber lange gedauert.
asm hat mich auch fasziniert. ich wollte eigentlich den ausgangscode immer in asm haben und ihn evtl noch fein zu schleifen und dann erst als endprodukt compilieren. und so habe ich jetzt die sprache gefunden, die das hergibt was ich mir vorstelle.
gerade im roboterbereich sollte man auch mal in der lage sein die sprache zu wechseln und das auch kurzfristig. bloss die eine sprache hat eine lobby und wird auf teufel komm raus gelobt und die ander sprache wird unterdrückt, weil sie die lobby nicht hat aber inhaltlich sehr gut ist.
mfg pebisoft
Ich muss hier Dieter voll zustimmen, es ist wichtig das man nicht ständig wechselt. Erst wenn man die Sprache und Compiler gut kennt kann man Probleme gut lösen. Soweit ich in Erinnerung habe hast du erst Bascom nur kurz genutzt und dann mit WInAvr in C gearbeitet. Von daher ist es kein Wunder wenn du es in Bascom noch nicht so schnell hin bekommen hast. Bascom hat eine so große Anzahl an Funktionen, daran muss man sich erst gewöhnen.
Im übrigen spricht auch in Bascom nix dagegen das Du Assembler einbindest. Das geht sogar noch bequemer, du kannst mitten im Quelltext einfach Assemblerbefehle nutzen. Somit gibt es eigentlich keine Aufgabe die nicht zu lösen wäre.
Aber jeder muss selbst seine Entscheidung treffen. Wenn du mit FastAvr zufrieden bist, dann ist es ja ok. Schaun wir mal ob du in 1 Jahr immer noch FastAVR nutzt. Bislang warst du ja bei jedem Compiler die ersten Wochen Feuer und Flamme wenn ich mich richtig erinnere ;-) Aber ich kenne das, ich bin bei neuer Software auch manchmal in einem Begeisterungsrausch der sich erst legen muss um es objektiv zu beurteilen
PS. Das mit der lobby kann ich bei Bascom nicht bestätigen. Ich zumindest hab mir am Anfang alle Compiler angeschaut, auch FastAvr und C in WinAVR. Und das MCS nun übermässig Werbung macht kann ich auch nicht sagen. Ich glaube der Compiler hat sich allein durch Leistung durchgesetzt und das ist in der Tat recht selten heute.
Ich glaube nicht, dass es irgendein Programm gibt, das in allen Punkten besser als ein Alternativprodukt ist, bzw. dass nicht einzelne Komponenten wo anders besser gelöst wären. Für mich zählt was das gesamte Programmpaket bietet, und da ist BASCOM für mich anderen AVR-BASIC-Compilern mehr als nur um eine Nasenlänge voraus.
Die Ausführungen von Frank und Dieter möchte ich voll inhaltlich unterstreichen und hier nicht weiter wiederholen.
Der sogenannte Feinschliff im ASM-Code hat für mich nur einen sehr begrenzten Nutzen. Bei jeder Programmänderung im BASIC Code und neuer Kompilierung muss man ja dann die ganzen Änderungen im ASM Code mühsam händisch wieder neu einbringen. Wesentlich sinnvoller ist da sicher entsprechende Programmteile direkt im BASIC-Code in ASM unterzubringen.
Auch von einem Lobbyismus konnte ich nichts bemerken. Vielmehr steht der Verbreitungsgrad und die entsprechende Resonanz in den verschiedenen Foren in einem direkten Zusammenhang zu Qualität, Leistungsumfang und Preis/Leistungsverhältnis der Produkte.
Es möchte Dich sicher niemand davon abhalten, Dein Projekt mit FASTAVR zu realisieren.
Ob ein Kompiler hält was er verspricht kann man aber erst nach der Umsetzung eines entsprechend umfangreichen Projektes abschätzen und nicht schon nachdem man einzelne Komponenten isoliert voneinander getestet hat.
Rage_Empire
01.09.2005, 11:21
Hm, basic -> c -> basic? Bissl verwirrend. Irgendwann sollte man sich festlegen können.
pebisoft
01.09.2005, 14:05
ich bin noch jung (57 jahr und habe zeit : bin pensionär).
ich such immer die vor und nachteile. vielleicht kannst du keine belastungen im proggen ab und drehst wahrscheinlich schnell ab.
...
meine gesamten programme gibt es in winavr-c und bascom. gerade ein fbas videobild erzeugen mit dem avr8 mache ich in winavr-c. ich hoffe das ich es jetzt auch mal in fastavr hinbekomme, in bascom gabe es nur 6 zeilen zu 12 buchstaben dann kam das timming nicht mehr hin.
mfg pebisoft
Dann haste vielleicht nicht alle Befehle und sinnvollen Vorgehensweisen in Bascom drauf weshalb es bei FastAVR für Dich schneller geht.
Ich geh eher nach der Devise "Lieber eine Sache richtig gekonnt als mehrere nur halb gewollt."
Alle Compiler haben ihre Vor- und Nachteile. Man muss sich eben die Zeit nehmen und mit der Materie beschäftigen um die ganze Funktionalität zu beherrschen.
Deshalb aber einen als "besonders gut" hervorzuheben oder sich über Schreibweisen auszulassen halte ich für ziemlich Kurzsichtig beziehungsweise für absolut belanglos.
Ich hab mich bei Bascom mühselig reingefuchst (Basic autodidaktisch erlernt) und werde vorerst auch dabei bleiben weil es meine Anforderungen mehr als nur zufrieden stellt.
pebisoft
03.09.2005, 16:56
ich habe alle befehle getestet, ausser sram, mc-card, pc-mouse und pc-tastatur. die letzten beiden nicht, weil ich angst hatte den eingansport der schnittstelle zu zerstören. ich habe viel,viel zeit. die hast du nicht, weil du noch für meine pension klotzen musst. da ich auch asm progge, kommt mir das fastavr wie gerufen. ich habe eigenständige routinen geschrieben für rc5-empfang und rc5-senden, die nehmen mir die timer weg und sind zu langsam. ich wollte in bascom mit einem avr8 ein fbas videobild darstellen, ist zu langsam.
ich bin jetzt gerade damit in fastavr fertig geworden.
ich wollte selber die srf04-sensoren proggen, weil die entfernungswerte von bascom mit pulsin und pulseout zu ungenau sind.
habe ich in fastavr realisiert.
du merkst jetzt auch, wenn du beim robby ins eingemachte gehen tust mit den sensoren profihaft messen tust, kannst du die ausgabewerte von bascom nicht immer verwenden. für einen amateur reicht bascom aber allemal. ich hatte damals beim kauf von bascom noch nicht gewusst, das das timing beim avr das wichtigste ist und die genaue abstimmung der interrups. dieses timing für die einzelnen baugruppen an meinem küchenbrettroboter konnte bascom nicht mehr einhalten.
in der beschreibung von bascom steht, "wird auch von profis verwendet", das heisst, die profis, die in der entwicklungsphase vom projekt stehen, können es während der aufbauphase mit bascom testen, danach sollte man aber in asm oder c proggen.
natürlich ist das bascom 40 euro günstiger als fastavr (geiz ist geil).
wer sich das bei seinem avr-hobby nicht leisten kann das fastavr, der sollte bascom nehmen.
mfg pebisoft
Millenniumpilot
03.09.2005, 17:42
Hallo pebisoft,
Du schriebst ja großspurig:
" ich habe viel,viel zeit. die hast du nicht, weil du noch für meine pension klotzen musst."
Eventuell könntest Du Dir ja auch ein paar Zehntelsekunden für uns nehmen und die Shift-Taste benutzen.
Dann können wir Deinen Text vieeeel schneller lesen und anschließend früher wieder zur Arbeit gehen und ranklotzen (für Dich).
Dirk
Ich glaube kaum das Du mit nem AVR ein sauberes FBAS Bild erzeugen kannst das dem PAL-Standart entspricht. Dafür ist nämlich jeder zu langsam weil er 270MBit/s verarbeiten müsste.
JanB hat ja schon gezeigt das man in Assembler ein Videobild hin bekommt . Sowas ist allerdings richtig viel Arbeit und erfordert genaue Kenntnis über die Taktzyklen und jedes Codebyte. Das ist nun wirklich eine Aufgabe wofür Compiler denkbar ungeeignet sind, egal welcher. Sowas sollte man in Assembler einbinden wenn´s vernünftig sein soll. Wenn ich mich richtig erinnere hat das JanB mal in Bascom eingebunden
in der beschreibung von bascom steht, "wird auch von profis verwendet", das heisst, die profis, die in der entwicklungsphase vom projekt stehen, können es während der aufbauphase mit bascom testen, danach sollte man aber in asm oder c proggen.
Wieso ?
Wenn es sauschnell gehen soll, dann klar, Assembler.
Aber nicht jede professionelle Applikation ist auf Geschwindigkeit angewiesen.
Wer gerne die Steuerung einer Kaffemaschine in ASM proggt, bitte sehr ;)
Muß aber nicht sein, oder ?
Professionell ist für mich:
Ein fehlerfreies, für die Anforderung genügend schnelles Gerät zu bauen.
Ich hatte ja schon mal geschrieben:
Es ist dem Kunden völlig egal, mit welcher Programmiersprache das programmiert wurde.
Haupsache, es macht genau das was der Kunde will und er bekommt es zu einem zugesagten Termin.
Und genau bei der Terminsache sind Sprachen wie BASCOM natürlich auf einem der vorderen Plätze.
Stell' dir einfach mal vor, ein Kunde braucht dringend zu einem festgelegten Zeitpunkt ein Gerät und beauftragt 2 Entwickler mit dem gleichen Projekt.
Der eine optimiert auf Teufel komm raus in Assembler, weil das Gerät dann 50 Mal schneller läuft als nötig, wird aber nicht zum Termin fertig.
Der andere benutzt Basic kommt auf die nötige Geschwindigkeit und wird noch vor dem festgelegten Termin fertig.
Was ist nun aus Sicht des Kunden professioneller ? :)
Kann schon schön sein, an Assemblercode rumzufeilen.
Aber dann muß man auch die Zeit dafür haben, aber wer hat die schon;)
Falls ich mal zu viel Zeit haben sollte, werde ich mir fastavr auch mal ansehen.
Da ich noch kein Assembler für AVRs gemacht habe (früher mal ein ganz klein wenig 8051 Assembler), ist das bestimmt sehr hilfreich, sich den erzeugten Code anzeigen zu lassen.
Ich glaube kaum das Du mit nem AVR ein sauberes FBAS Bild erzeugen kannst das dem PAL-Standart entspricht. Dafür ist nämlich jeder zu langsam weil er 270MBit/s verarbeiten müsste.
Da verwechselst du was.
270MBit ist die übliche Datenrate für unkomprimiertes digitales Video (SDI), so wie es im Studio / Schnitt / Ü-Wagen-Bereich eingesetzt wird.
Gruß
Christopher
Rage_Empire
04.09.2005, 12:04
du merkst jetzt auch, wenn du beim robby ins eingemachte gehen tust mit den sensoren profihaft messen tust, kannst du die ausgabewerte von bascom nicht immer verwenden.
Profihaft messen? Hm, also wenn du Logikanalyzer, Digitaloszi und sonstige Analyzer hast, dann kannst du Professionell messen. Galube nicht, daß jemand priv. (schon gar nicht pensionär :cheesy: ) ein Labor von solch Messtechnik, bestenfalls noch von Rohde&Schwarz, Agilent oder HP hat.
http://www.globaltestsupply.com/images/products/1663a.jpg
Profihaft, tz tz tz........
pebisoft
04.09.2005, 17:47
ein digitaloszi und ein analyzer habe ich. es gibt auch pensinonäre die mehr geld bekommen als einer der 6tage in der woche ranklotzt und zu denen pensionären gehöre ich. manchmal ist das leben ungerecht für andere.
mfg pebisoft
Ist ja schön das wir jetzt wissen was Du hast aber wolltest Du uns nicht eigentlich von der scheinbar so überragenden Funktionalität FastAVR's überzeugen?
pebisoft
05.09.2005, 12:51
eigentlich nicht überzeugen. jeder muss wissen was er gebraucht.
und heute in der zeit wo die sozialhilfeemfänger immer mehr werden, kann sich das nicht jeder leisten. darum gibt es auch immer mehr unerlaubte kopien auch hier von usern in der roboterscene. wenn ich manchmal sehe um was hier gefeilscht wird , kann ich nur sagen, wer sich dieses hobby nicht leisten kann soll es sein lassen und sich nicht mit betteleien durch diese welt schnoddern und herumbetteln ob er das teil nicht 1 euro billiger bekommt. manchmal ist es zum kotzen, wenn man so etwas liest.
mfg pebisoft
es gibt auch pensinonäre die mehr geld bekommen als einer der 6tage in der woche ranklotzt und zu denen pensionären gehöre ich. manchmal ist das leben ungerecht für andere.
Moin,
sich damit zu brüsten, zeugt von geistiger Armut :-&
Viele Grüße,
Bruno
Es ist toll, Pebi, was du dir alles leisten kannst.
Nun wissen wir es alle, und jetzt laß gut sein.
Erzähl' uns lieber vom FastAvr, das war nämlich, glaub' ich, das Thema
Um Dich (Pebi) wieder mal zum Thema zu bringen:
Von einem Compiler erwarte ich mir mehr als nur eine primitive Umsetzung von geradeaus Befehlen ins ASM. Dazu muss ich nicht 125 EUR ausgeben um dann ohnehin das meiste in ASM zu programmieren bzw. maschinell erstellten Code nachzubessern. Dieses Geld wäre in entsprechender Literatur über ASM-Programmierung sicher sinnvoller angelegt.
Ein BASIC-Compiler soll mich dort unterstützen wo es um Programmstruktur, Modularität und Pflegbarkeit eines Programmes geht.
Eine einfaches Schleifenkonstrukt in BASIC ist die allbekannte FOR - NEXT Schleife. Und schon hier zeigt FASTAVR gewaltige Lücken:
FOR - NEXT Schleifen sind in FASTAVR nur für die Typen BYTE und WORD/INTEGER möglich. Nicht aber wie in BASIC üblich (und in BASCOM implementiert) für LONG, SINGLE oder gar mit DOUBLE.
Weiters ist auch eine verschachelte FOR - NEXT Schleife nicht möglich.
Probier mal:
Dim w1 as Word, W2 as Word
For w1 = 1 to 10
For w2 = 1 to 10
Print W1; " " ; w1
Next
Next
Da FASTAVR schon an diesem einfachen BASIC-Syntax scheitert, frage ich mich, ob die Klassifizierung als BASIC-Compiler überhaupt gerechtfertigt ist.
mfg Josisoft
@Josi: dein Beispiel: Ehrlich, da weigert er sich ?
Vielleicht mußt du "next w2" u. "next w1" dazusagen ?
Moin,
bei mir compiliert er dieses Beispiel.
Vielleicht liegts ja an der Version des Fast-AVR?
Hab mir zum Spaß die "neue" version 4.1.3 runtergeladen.
LG,
Bruno
Entschuldigung, war ein Versehen von mir. Der Fehler lag in einer anderen Zeile, FASTAVR brachte die Fehlemeldung "missing next".
Was aber bleibt ist die Einschränkung auf 1 und 2Byte Variablen.
Wenn man eine Schleife mit einer Variablen der Type LONG kompiliert, akzeptiert er das auch, die Schleife wird aber nach dem ersten Durchlauf verlassen.
mfg Josisoft
pebisoft
05.09.2005, 15:12
das ist ein fehler in bascom.
bei bascom brauchst du keine "next gehe".
warum ist das aber der basicstandard.
bei fastavr musst du einen namen eingeben.
ich habe das buch "avr-risc microcontroller" von trampert für 69,95 euro.
mehr literatur braucht man eigentlich nicht. und basic kann jeder. asm kann ich nicht so. habe jetzt auch schon die ersten "lib" in asm mit fastavr gebaut.
ist wunderbar, wie ein legokasten. ich möchte auch in asm proggen und wissen, was macht das program von a-z. wer das geld nicht hat, soll es sein lassen. aber es lohnt sich den avr auf den kern zu schauen.
mfg pebisoft
Man kann jeden Binärcode disassemblieren wenn du Assemblercode sehen willst, also auch Bascom Code. Wozu dann anderen Compiler?
pebisoft
06.09.2005, 09:10
jeder muss sich nach seinem geldbeutel richten. es können nicht alle fastavr kaufen. natürlich kannst du den bascomcode disam. musst für so ein basic (fastavr) programmmierfreude haben. es ist nicht für jeden gedacht, nur für ein bestimmte gruppe von programmieren. und zu dieser gruppe gehöre ich.
ich liebe sachliche nachvollziebare ergebnisse.
mfg pebisoft
pebisoft
06.09.2005, 10:06
hallo, zur zeit schreibe ich eine kleinen interpreter in fastavr-basic.
in fastavr kann ich hinter dem programm flash-variable dimensionieren die den restlichen flashspeicher als variable nutzen. wenn ich z.b. einen avr16 habe und ca 4kbyte-binärcode, kann ich flashvariablen einrichten bis zur grösse von ca 11kbyte. diese flashvariablen kann ich auch während des betriebes ändern mit anderen inhalten. mein vorhaben ist ein interpreter zu schreiben zu compilieren und den code dann in die flashvaribale zu bringen und dann vom normalen basic aus zu starten und einfluss zu nehmen. man kann das flashram aber nur einigetausendmal beschreiben (ca 30000mal).
mfg pebisoft
...es können nicht alle fastavr kaufen...
Ist das die unterschwellige Behauptung BASCOM Nutzer wären arme Schlucker die sich damit begnügen obwohl FastAVR nach Deinen Ausführungen soooo viel besser ist?
P.S.: Ich bin Besitzer der Freewareversion weil 4kB Code im Moment für meine Anforderungen mehr als ausreichend sind. DAS war für mich auch der ausschlaggebende Punkt weshalb ich überhaupt zu Atmel-Controllern gekommen bin. Für kleinere Sachen kann man sich erstmal austesten ohne gleich tief in die Tasche greifen zu müssen um dann vielleicht festzustellen "Upps - war wohl doch nix!" und sich über das zum Fenster rausgeschmissene Geld zu ärgern.
pebisoft
07.09.2005, 19:14
zur frage eins: ja
zur frage zwei:
mit der 4kybte version kannst du dir kein urteil bilden über die ausführungszeit beim avr16 wenn du ca 14kbyte reinen bincode hast.
weiterhin kannst keine komplettpaket von sensoren testen, die alle im zusammenhang eine einheit bilden für den ablauf des robby.
weiterhin sind die 4kbyteversion beliebt, weil ein grosser teil zur zeit nicht damit proggen tut, sondern versucht den code zu knacken, wie man die 4kybte begrenzung umgehen kann, diese frage ist des öfteren hier aufgetaucht.
wurde dann wieder als nichtzugelassen frage auch wieder aus dem forum genommen.
"Ist das die unterschwellige Behauptung BASCOM Nutzer wären arme Schlucker die sich damit begnügen.."
darum ist hier meine antwort: ja, für die kodeknacker, wenn du es genau wissen willst.
du weisst aber auch das du deine erstellten programme mit einer nichtangemeldeten version hier nicht veröffentlichen darfst um vorteile damit zu erwirtschaften oder wettbewerbe zu bestreiten mit gelderträgen.schon das reinstellen mit dem hinweis: schau mal, ich habe dir hier mal eine code geschrieben für deinen robby. ist nicht erlaubt.
darum heisst es ja auch testversion. auch darf der test eine bestimmte zeit nicht überschreiten. wenn die relation des programmes zur benutzten zeit nicht mehr stimmt, hast du eine raubkopie wenn du sie noch weiterhin benutzt.
da heisst, wenn du in ca4 monaten hier im forum immer noch mit einer demo hantierst, ist es kein testen mehr sondern du erstellst programme mit einer raubkopie.
mfg pebisoft
du weisst aber auch das du deine erstellten programme mit einer nichtangemeldeten version hier nicht veröffentlichen darfst um vorteile damit zu erwirtschaften oder wettbewerbe zu bestreiten.schon das reinstellen mit dem hinweis: schau mal, ich habe dir hier mal eine code geschrieben für deinen robby. ist nicht erlaubt.
Wie die meisten Deiner Aussagen ist auch diese schlicht falsch.
Frage Mark Albers.
Es lohnt nicht, auf den Rest deiner unsäglichen sozial komplett unverträglichen Thesen einzugehen, das gehört nicht in ein Forum und wird an passender Stelle geklärt.
Henrik
pebisoft
07.09.2005, 21:55
deine "warnung" unter deinem namen sind dein makel zur unglaubwürdigkeit . deine aussagen kann ich daher nicht für voll nehmen. du bist für mich kein vollwertiger ansprechpartner.
mfg pebisoft
Ah so... Jetzt sind einige es schon nicht mehr Wert ansprechbar zu sein und viele sowieso Hacker da sie Bascom nutzen und nicht wissen was sie machen sollen wenn im Gegensatz zum reichen Rentner am Ende des Geldes noch so viel Monat übrig bleibt.
Das zu schreiben was ich jetzt denke stellt mich vor unsägliche Probleme da es mir die Tränen aus den Augen und die Lachfalten ins Gesicht treibt. Deshalb lass ich's.
@alle anderen: mich bitte net schlagen!
Schon mal auf die Idee gekommen das der eine oder andere vielleicht gar kein Interesse am Roboterbau haben könnte sondern wegen anderer Dinge mit dem µC Programmieren angefangen hat?
So was sollte einem solch erfahrenen Menschen wie Dir schon von vorn herein klar sein oder? :-$
Hi Pepisoft,
ich muss hier hrei aber recht geben. Das was du zu dem Demo schreibst ist einfach völlig falsch. Die Regeln mag es ja bei der ein oder anderen Shareware oder auch kommerziellen Demo geben, aber ich habe bei Bascom nirgends was davon gelesen. VOn daher spricht nix gegen die Weitergabe kompilierter Programme mittels Demo. Und mit der 4K Version kann man schon einen Compile rund eine Entwicklungsumgebung soweit testen das man eine Kaufentscheidung fällen kann. Manche Controller haben sogar weniger Speicher, die kann man voll programmieren.
Auch viele andere Features die du erwähnst wie Eram Programmierung usw., sowas gibts alles in Bascom auch. Bislang hab ich noch über kein Feature gelesen, das für mich den Kauf rechtfertigen würde. Das Fastavr teurer ist kann ja wohl kein Argument sein. Selbst wenn Fastavr nur halb soviel wie Bascom kosten würde, so würde ich Bascom bevorzugen.
Warte es doch erst mal ab und teste das Ding richtig. Wenn du dann nach einigen Monaten wirkliche Argumente gefunden hast, was ich bezweifele weil es die nicht gibt, dann kannst du uns versuchen zu überzeugen. Prüf aber vorher erst mal nach ob es auch wirklich was ist was Bascom nicht auch kann.
Gruß Frank
Millenniumpilot
08.09.2005, 08:36
Hallo pebisoft,
Du schiebst:
deine "warnung" unter deinem namen sind dein makel zur unglaubwürdigkeit . deine aussagen kann ich daher nicht für voll nehmen. du bist für mich kein vollwertiger ansprechpartner.
Im Gegenteil! Hrei hast sich in meinem Augen durch seine Beiträge qualifiziert, so das ich ihn absolut für voll nehme. Ich habe keine Ahnung, was damals abgelaufen ist und wofür er eine Verwarnung bekommen hat, aber wenn ich Deine Beiträge so lese, die IMHO teilweise voll unter die Gürtellinie gehen, frage ich mich allen ernstes, warum Du noch keine Verwarnung bekommen hast.
Kopfschüttelnd über soviel Arroganz
Dirk
pebisoft
08.09.2005, 09:20
ich habe schon eine verwarnung bekommen, weil ich ganz offen die wahrheit sage und kein blatt vor dem mund nehme. ich hasse es wenn einer nicht die wahrheit sagt und fängt an zu tuscheln. das ist feigheit, oder das arbeitsleben hat ihn so geformt, weil derjenige angst hat den arbeitspaltz zu verlieren. zivilcourage gibt es nicht mehr, es könnte mir ja was passieren...wenn..
mfg pebisoft
pebisoft
08.09.2005, 09:30
ich hatte ja eingangs geschrieben, das man schnell aus bascom herauswachsen kann, wenn man zuviel zeit hat (so wie ich) sich damit zu beschäftigen. natürlich ist bascom was für anfänger, keine frage.
da ich auch in winavr-c progge, weiss ich was ich in bascom vermisse.
und dieses bietet fastavr. wer sich noch nie mit winavr-c auseinander gesetzt hat kennt auch nicht die nähe von asm. diese nähe zum asm-code findert man nur in winavr-c oder fastavr. da ich diese asm-nähe brauche für meine projekte habe ich mich für den kauf entschlossen. ich habe winavr-c dadurch kennen belernt, das ich alle sensoren hardwarenahe und mit durchsichtigen routinen in c geproggt habe mit hilfe einiger mitglieder aus dem forum. mir fällt in c nur schwer die namensgebungen und die kürzel, weil mit machner vergessene senkrechte strich schon zum grübeln gebracht hat, weil man den auch nicht auf anhieb sieht.
ich will auch keine überzeugen hier. weil viele es scheuen das geld auszugeben oder auch nicht haben.
natürlich habe ich vom forum schon post in meinem fach gefunden, nach dem motto, kannste mir das fastavr mal kopieren zum testen, wollten aber das ungegrenzte. oder wo ich mir das fertige nokiadisplay mit platine gekauft habe und mit fertigen programmroutinen. "kannste mir mal das programm geben usw..". der autor dieser platine hat sehr viel arbeit hinein gesteckt um so etwas nicht frei auszugeben. und diese fragen "haste mal eine copie für mich..." häufen sich von monat zu monat.
auch hat mich autor von fastavr überzeugt, der leider nicht mit der bascom-ag mithalten kann. ich unterstütze auch gerne pionierarbeit.
mfg pebisoft
...verwarnung bekommen, weil ich ganz offen die wahrheit sage und kein blatt vor dem mund nehme.
Pebi, die Wahrheit ist was sehr subjektives. Was für den einen Wahrheit, ist für den anderen eine undifferenzierte und beleidigende Unterstellung.
Bitte diskutiere die Vorzüge von Compiler nach deren Eigenschaften und nicht mit Mutmaßungen über die, die ihn verwenden.
pebisoft
08.09.2005, 09:48
man muss im leben auch sehr harte kritik entgegen nehmen können,
abr die junge genaration und mittlerenalter generation ist verweichlicht, empfindlich und voll frust, können nicht mehr belastet werden, ziehen sich zurück und meckern nur noch aus dem hinterhalt ohne das man sie sieht.
mfg pebisoft
...junge genaration ..verweichlicht, empfindlich ...
Es tut mir wirklich leid, wenn das deine vorwiegenden Erfahrungen sind, wirklich.
Kannst du dich erinnern ? Über unsere Generation haben sie das damals aber auch gesagt.
WIR waren ja in den 60-ern die Rocker, die Hippies und die Studenten auf der Straße.
Um wieder zur Sache was zu sagen:
Auch solche Dinge stimmen nicht pauschal:
wer sich noch nie mit winavr-c auseinander gesetzt hat kennt auch nicht die nähe von asm. diese nähe zum asm-code findert man nur in winavr-c oder fastavr. da ich diese asm-nähe brauche für meine projekte habe ich mich für den kauf entschlossen.
Ich kenne mich mit C schon aus. Ich habe im Lauf der Jahre mehr C Programme als Basic Programme geschrieben (auf PC). Und WINAVR hab ich mir auch angeschaut, wenn auch nur kurz.
Auch Assembler ist mir nicht unbekannt, es gab Zeiten da war sowas sogar auf dem PC noch angesagt und sinnvoll. Auch in ersten Bascom Programmen habe ich schon I2C Routinen mal in Assembler verwirklicht (weils damals noch einen Bug in den Libarys gab). Allerdings bin ich da sicher kein Experte und die Registerstruktur liegt mir nicht so sehr, aber notfalls krieg ich da auch was zusammen, dauert halt nur! Aber es ist halt wirklich selten notwendig.
Ich finde es viel wichtiger das man in einer Hochsprache Assembler in den Quelltext einbinden kann und das ist bei WinAvr als auch bei Bascom der Fall. Ich hab in dem Thread immer noch nicht erfahren ob das überhaupt in FastAvr der Fall ist. Das nachträgliche einbinden in compilierte Programme bringt wenig, der Grund wurde hier ja schon genannt.
Also mehr Fakten wären angesagt wenn der Thread ne Aussage haben soll
Gruß Frank
pebisoft
08.09.2005, 18:23
hier kurz eine demo mit fastavr , mit asm als sub und wert einlesen als zahl , weiterhin eine sub und wert einlesen als übergebene variable.
hier sieht man auch, wie klar die programmierdisziplin ist.
es wird die gleiche disziplin verlangt wie bei winavr-c, darum ist fastavr-basic auch genause schnell wie winavr-c, wie ich festgestellt habe.
man braucht nur einmal den asm-code gegenüberstellen. fast kein unterschied.
mfg pebisoft
$Device= m16
$Stack = 32
$Clock = 8
$Baud = 19200
$Source= On
Dim wert As Byte
Dim wert_adr As Word
Dim wert_1 As Byte
Dim wert_adr_1 As Word
Declare Sub test()
Declare Sub test_1()
wert_adr=VarPtr(wert) ' adr der variable im sram
wert_adr_1=VarPtr(wert_1)
wert_1=123
Do
test()
Print wert
WaitMs 250
test_1()
Print wert
WaitMs 250
Loop
End
' können auch in einer sub declariert werden
$Asm
.def pebi_1=r24
$EndAsm
' zahl 77 direkt einlesen
Sub test()
$Asm
ldi pebi_1,77
STS wert, pebi_1
$EndAsm
End Sub
' wert_1 als variable einlesen
Sub test_1()
$Asm
lds pebi_1,wert_1
STS wert, pebi_1
$EndAsm
End Sub
Danke, das ist doch mal ein Fakt. Nun gut, man kann Assembler einbinden. Aber das geht ja in Bascom alles sehr ähnlich. Wo siehst du nun den großen Vorteil?
Gruß Frank
Moin,
vielleicht könnte ja Pebi ein Stückchen seiner professionellen Programmierkunst zum Besten geben und uns wenigstens ein kleeeeines bisschen in seine Meisterwerke reinschnuppern lassen?
Wie sollen wir uns denn sonst ´ne Meinung bilden?
Der gepostete Codeschnipsel ist ja nicht der Brüller, also los Pebi, lass Dich nicht lumpen und gib uns bitte ein paar Profi-Tipps!!
LG,
Bruno
pebisoft
08.09.2005, 23:11
nee, nee. das müsst ihr schon selber machen. ihr sollt euch keine meinung bilden. beschäftigt euch erst einmal mit winavr-c und wenn ihr da etwas zustande bekommen habt, dann seit ihr schon ein kleines stück näher.
ich habe in winavr-c folgende sensoren geproggt:
- lcd-display 2x20
- lcd-display von pollin 128x64 pixel in text und grafik
- cmps03 compasmodul
- srf04 ultramodul
- srf08 ultramodul
- sharpsensor
- tsop 1736 (empfängercode selber erstellt)
- ir-sendediode rc5 (sendecode selber erstellt)
- i2ceeprom 24x256
wenn ihr das in winavr-c geschafft habt, dann können wir uns noch einmal unterhalten, über die feinheiten des programmierens.
habe alles schon in fastavr umgesetzt, natürlich profimässig. geile sache.
der küchenbrettroboter rollt mit fastavr-basic.
na, denn,schlaft schön .
"Der gepostete Codeschnipsel ist ja nicht der Brüller, also los Pebi, lass Dich nicht lumpen und gib uns bitte ein paar Profi-Tipps!!"
diese aufforderung sieht so nach einer schlappen form aus.
so, jetzt muss ich mich erst einmal wieder mit meiner 135 euro teuren cmucam2 beschäftigen, geiles ding, kann ich euch sagen. habe schon die ersten erfolge auch mit fastavr und der cmucam2, toll. die raum-werte eines vorher eingegebenen farbigen gegenstandes werden jetzt schon als daten umgesetzt. wenn ich den gegenstand bewege zeigt er mir die x,y an und die kleinerwerdende box an, die signalisiert, das sich der gegenstand entfernt. ist garnicht so schwierig, wenn man weiss wie. ich schätze in 4tagen fährt mein küchenbrettroboter nach den daten.
die gameboycam habe ich noch nicht am robby gestestet, kann das bild, das mit fastavr gesendet wird aber schon mit meinem selbsterstellten visual5.0 programm vom tischboard und avr auf dem pc empfangen.
wie ihr seht, laufen mehrere projekte bei mir. mein usb-easyfunkmodul (70 euro) kann auch schon mit mit dem easy-funkmodul auf dem robby verbindung aufnehmen mit fastavr. die 3x srf04, 2x sharpsensoren und cmps03 compassmodul gehen zufriedenstellend mit fastavr auf dem küchenbrettroboter.
mfg pebisoft
pebisoft
08.09.2005, 23:39
"Aber das geht ja in Bascom alles sehr ähnlich. Wo siehst du nun den großen Vorteil?"
ein stück hähnchenfleisch schmeckt auch so ähnlich wie ein stück kaninchenfleisch. beide machen satt, haben aber verschiedene einweisswerte und andere inhaltsstoffe.
hallo frank, beschäftige dich mal mit fastavr, dann erkennst du die vorteile.
mfg pebisoft
Guten Morgen Pepisoft,
na staun! Gestern Abend sah dein Beitrag ja noch ganz anders aus. Du hast ihn ja inzwischen stark entschärft und das Niveau gegenüber dem ersten Beitragsentwurf wieder angehoben. Ein Glück für Dich das bei uns im Ort das komplette Internet in dem Moment ausgefallen war als ich dir die passende Antwort schreiben wollte. So bist du auch einer Verwarnung noch gerade so entschlüpft.
Du weist sicher selbst das du wieder nah an Verwarnung dran bist, einige deiner letzten Anmerkungen zu Usern sind schon auf einem bedenklichen Niveau. Es fehlt also nur noch ein I-Tüpfelchen.
Übrigens, wir haben auch eine Zitat-Funktion. Da du ja sehr viel Zeit hast wie du immer sagst, solltest du dich vielleicht auch mit den Forum Funktionen beschäftigen.
Dies war eine sachliche Frage zu der Assembler-Einbindung:
Aber das geht ja in Bascom alles sehr ähnlich. Wo siehst du nun den großen Vorteil?"
Ich wollte wissen wo du die Vorteile bei der direkten Assembler Einbindung siehst. Generell ist die in der Tat fast identisch auch bei Bascom vorhanden. Ich hatte eigentlich eine sachliche Antwort erwartet.
Wie schon gesagt, ich hab mir FASTAVR schon angeschaut und hab auch schon beschrieben das die für mich wichtigen Dinge mir bei Bascom wesentlich besser gefallen haben. Welche Dinge das waren wurde auch schon gesagt. Dennoch kann in einigen weniger wichtigen Dingen FASTAVR sicher auch ein paar Stärken haben, ich dachte du wolltest hier überzeugen. Nachfragen müssen daher erlaubt sein, man ist ja neugierig. Wenn du nicht überzeugen als auch keine Punkte nennen willst die dir positiver erscheinen, wozu dann der Thread.
Gruß Frank
pebisoft
09.09.2005, 08:53
hallo, guten morgen.
meine neue idee ist es einen asm-codemodulkasten zu bauen für alle wichtigen routinen der sensoren und abläufe. dieser ist mit fastavrbasic nicht schwer zu realisieren, da er ein fein strukturierter mit text versehender asm-courcode für den asm32avr herauskommt.
die ersten ansätze wollte ich schon einmal nur mit asm-code-assembler alleine machen, war mir zu komplex. fastavr ist die "allergrösste hilfe" dafür. für fastavr-basic braucht man auch keine hilfe und fragen, wie fastavr funktioniert sondern hier tauchen nur fragen auf: wie setze ich das register tccrb1 um ein togglebit zu erzeugen oder wie setze ich jenes register , fragen wie bei bascom auch. aber fragen hinsichtlich der fastavr-basic-befehle , wie sie in bascom auftauchen gibt es nicht. hier geht es eigentlich nur noch um den sensor und rein um die avr-struktur.
eingentlich müsste bascom in den befehlen auch leicht sein und es dürften keine bascom fragen über die befehle auftauchen sondern eingentlich auch nur noch strukturfragen über den avr oder über den sensor, aber leider ist das nicht so. z.b. wundere ich mich wie langsam bascom ist wenn das compasmodul cmps03 angesprochen wird. es kommt daher, weil die warteschleifen für den internen i2c-ablauf (register befüllen) 5x so gross sind als man für das modul braucht (man spricht auch davon bascom arbeitet wie ein büffel (dran-drüber-drauf)), darum ist es auch problemlos und der anwender sagt : du, bascom schluckt alles).
bei mir dauern die internen i2c-wartezeiten 5us bei bascom über 25us.
das gleiche tritt auch beim abfragen des tsop1736 auf mit getrc5.
da werden daten auf den stack gepopt, wo man sich fragt, junge das brauch doch bascom normal nicht machen und auch hier werden die wartecyklen auf auf das 4fache verlängert. bascom ist halt ein büffel.
sicherheitsfaktor für die ausführungssicherheit um die oberflächliche interne asm-struktur nicht zerbrechen zulassen. ich kann hier noch viele dinge aufzählen. wie ihr merkt geht es nicht um +,-, *, / sondern um das ausführen von befehlen für die sensoren. der ir-sendebefehl ist noch schlimmer mit der zeitvergeudung. schnappt mir sogar auf dauer einen interrrupt weg. so, genug geschrieben.
bis bald.
mfg pebisoft
pebisoft
09.09.2005, 09:05
ach so, habe auch die neue nokia-display-platine mit nokia farbdisplay angeschafft.
jetzt geht es los das programm dafür zu schreiben. wird etwas schwieriger werden, weil die interne display-struktur nicht einwandfrei bekannt ist. ein neuer spass beginnt, der winter kann kommen.
mfg pebisoft
Wiedermal etwas Unwissenheit! Bei I2C gibt es genormte Geschwindigkeiten. Nicht alle I2C Bausteine vertragen so hohe Übertragungsraten, daher ist es sinnvoll das Bascom nicht von vornherein zu schnell überträgt. Natürlich kann man dort die Geschwindigkeit erhöhen, schau dir mal den Bascom Befehl an:
CONFIG I2CDELAY = value
Zudem hab ich Zweifel ob FAST AVR überhaupt Clockstretching unterstützt. Und das hier auch viele Fragen zu Bascom Befehlen auftauchen liegt daran das Bascom eine viel größeren Befehlsvorat hat als FASTAVR.
Du hast ja gesagt das du es nicht für so sinnvoll hälst wenn ein Compiler schon für zahlreiche Aufgaben Befehle besitzt, dabei machst du jetzt mit deinem asm-codemodulkasten genau das gleiche. Dein ASM-Modulkasten macht genau das, was bei Bascom in Form von Libarys schon lange vorhanden ist.
Leider ist mir aber die Zeit zu schade um ständig hier in dem Thread die irreführenden Behauptungen von Dir zu korrigieren. Also ich halt mich jetzt hier raus. Ich hoffe nur das die Leser die Behauptungen erst mal überprüfen bevor sie sich für einen Compiler entscheiden.
Gruß Frank
in fastavr kann ich hinter dem programm flash-variable dimensionieren die den restlichen flashspeicher als variable nutzen. wenn ich z.b. einen avr16 habe und ca 4kbyte-binärcode, kann ich flashvariablen einrichten bis zur grösse von ca 11kbyte.
Hast du mal den generierten Assemblercode zu einen einfachen Beispiel davon ??
AVRs können ihren eigenen Programmspeicher nur aus der Bootloader Sektion heraus beschreiben und dann auch nur Blockweise.
man kann das flashram aber nur einigetausendmal beschreiben (ca 30000mal).
Atmel garantiert nur für bis zu 10 000 Zyklen laut den Datenblättern. Danach kann es durchaus schon mal zu fehlern kommen ( muss aber nicht ).
MfG Kjion
...jetzt muss ich mich erst einmal wieder mit meiner 135 euro teuren cmucam2 beschäftigen,...mein usb-easyfunkmodul (70 euro) ...
Du gibst Dich mit so nem Billigplunder zufrieden? Als superliquider Rentner, FastAVR-User und Superprogger? :-#
('tschuldigung das musste jetzt einfach mal raus)
'tschuldigung das musste jetzt einfach mal raus
Gut, jetzt isses draussen. Und wer hat gesprochen ?
ein Mitleser der sich fragt was das alles soll.
Das einzige was ich bis jetzt herausgelesen habe war: Pebi ist reich (Mein Auto, mein Haus etc), Rentner und geistiger Brillenträger mit Konvex-Konkaven Linsen die am Rand sehr dick sind. Solche Überheblichkeit ist selten nervt aber umso mehr. Aber so langsam scheint er sich ja zu fangen. (die Hoffnung stirbt zuletzt!)
pebisoft
09.09.2005, 17:51
"Du gibst Dich mit so nem Billigplunder zufrieden? Als superliquider Rentner, FastAVR-User und Superprogger?"
na , du kennst wohl "www.roboter-teile.de" nicht.
top ware, guter service, kann ich nur empfehlen, erste marke hier in deutschland.
aber du kauft dann wahrscheinlich die guten funkmodule für 14 euro bei conrad.
na denn. bis bald.
mfg pebisoft
pebisoft
09.09.2005, 17:58
es wäre nett wenn sich die gäste mal einloggen.
es gibt nichts schlimmeres als sich zu verstecken und meckern.
hoffentlich seit ihr im schul/arbeitsleben nicht so feige und stellt euch den herausforderungen.
mfg pebisoft
farmerjo
09.09.2005, 21:16
Ein gewisser faktor bei Fastavr scheint ja auch zu sein das man nachher Assembler hat. Unter dem Motto hohoho schaut mal was ich für ein harter bin, alles in ASM gemacht.
Es ist in der tat ganz nett wenn man mal nachschauen kann wie Basicbefehle in ASM umgesetzt werden. Aber dann nimmt man das als den wahren weg an. Ich kann mich noch dran erinnern als ich mal für eine 8051 eine 0,5s Warteschleife in ASM schreiben mußt. 4 Leute --> 4 unterschiedliche Ergebnisse. Teiwleies nur leicht unterschiedlich teilweise ganz andere Vorgehensweisen. Der eine brauchte weniger Register, der andere hatte wo anders was gespart. Und was hab ich draus gelernt, viele Wege führen nach Rom.
Wenn man wirklich ASM machen will, dann ganz von Hand, sonst hat man das was vorgekautes was irgendwie von dem Menschen eingefärbt ist der den Compiler geschrieben hat.
Und zweitens, Bascom ist so geil Übersichtlich das man sich oft sogar die Kommentare sparen kann und für 90% der Aufgaben absolut ausreichend. Wer auf Assembler steht ist gut, ich mach es nur wenn es partou nicht anders geht.
Gruß Johann!
pebisoft
09.09.2005, 23:16
da gebe ich dir recht. abr ich finde asm gut. habe 1982 auf dem c64 eine dos-ähnliche-oberfläche nur in asm geschrieben, kam gut an in der "go 64".
in dem basic habe ich asm-grafikbefehle reingehängt auch mit asm. die asm-befehle kann man nicht ändern, jeder prozessor hat eine festvorgegebene anzahl von befehlen und ein festvorgegenes format. da kann man nichts ändern. man muss nur in der lage sein aus diesen handvoll befehlen was zu machen. und der avr hat nur eine handvoll befehle, die sind schon vorgekaut beziehungsweise jeder befehl hat eine bestimmte aufgabe. ist wie ein legokasten, richtig zusammenzubauen und das macht fastavr. ich finde es bedauerlich, das die jungen menschen diese handvoll befehle für den avr nicht in die richtige reihenfolge bringen können und dafür ist fastavr eine grosse hilfe. beim proggen muss auch ergeiz mit dabei sein und ein klares denkvermögen mit einem gutem gedächtnis. es ist schon lustig anzusehen, wie schwer der avr angeblich gemacht wird, dieser kleine 8kyte kobold. ich kann nur sagen rein ins eingemachte.
in basic sind alle kommentare überflüssig, in bascom sowie in fastavr.
basic spricht für sich, ist ja auch eine sprache für beginner.
in winavr-c habe ich noch verständnis.
mfg pebisoft
Rage_Empire
09.09.2005, 23:33
@Pebi: Hör doch endlich mal auf, über ünsere Jugend zu beurteilen. Ich denke mal, es ist oftmal erstaunlich was heutzutage 15jährige auf die Füße stellen. Und das, obwohl sie es nicht lernen müssen, sondern es lernen wollen. was hast du mit 15 gemacht? Na? Prozessoren gabs auch schon in den 70er.
Und ich finde den Ansatz diser jungen Leute nicht schlecht, daß sie das Programmiersystem verwenden, welches sie am besten verstehen können. Wenn diese jungen Leute so weiter machen, gibts wenigstens noch hoffnung für die zukünftige deutsche wirtschaft (und die rente ;-) ).
pebisoft
09.09.2005, 23:43
riesterrente....oder...
mfg pebisoft
... beim proggen muss auch ergeiz mit dabei sein und ein klares denkvermögen mit einem gutem gedächtnis...
Ach echt - ist nicht Dein Ernst oder?
Ich hatte bislang immer den Eindruck das Du Dir Deine Sachen so mirnichts-dirnichts aus dem Ärmel schüttelst....
*gggl*
pebisoft
10.09.2005, 00:16
nein aus dem ärmel nicht aber aus dem kopf. ich progge immer ca von 23.00 uhr bis 02.00 uhr in der früh, ist die beste zeit. schlafe bis um 9.00 uhr und bin dann wie neu geboren. dann wird der tag genossen, ohne proggen, expresso trinken, in den gassen lang schlawendeln, 2 stunden in die uni, wenn es ein interessantes thema gibt in der vorlesung und ... und...
nach dem motto: gehe verschwenderisch mit der zeit um, denn morgen hast du wieder welche.
mfg pebisoft
merlin63
14.07.2008, 08:51
hallo
ist schon etwas älter der beitrag. habe ihn eben erst gelesen......auwei kann ich nur sagen. bei so viel alternde aroganz kann ich nur sagen....
""nach dem motto: gehe verschwenderisch mit der zeit um, denn morgen hast du wieder welche"".....
bist du dir da so sicher?????
gruß thomas
vklaffehn
14.07.2008, 15:18
Moin!
Hach, lass doch den guten alten Pebisoft ruhen :-) Vieleicht hat ihn die Zeit ja mittlerweile eingeholt und auf die Tücken des Berufslebens mit geregelten Arbeitszeiten losgelassen.....
Mein Motto geht da eher in die Richtung : Nutze die Zeit, die Du jetzt hast, man weiß nie, wieviel noch übrig ist .
MfG
Volker
merlin63
14.07.2008, 20:43
hi volker
das motto gefällt mir schon besser ;-)
lg thomas
vklaffehn
15.07.2008, 00:05
Moin!
Jau, bis vor 2 Jahren ging ich durchs Leben und dachte die ganze Zeit, Dies und Jenes muß ich mal machen, dann geht man Nichts ahnend wegen Rückenschmerzen zum Doktor, am nächsten Tag wird einem ein Tumor rausgeschnipselt mit anschließender Strahelntherapie, und dann träumt man nicht, sondern macht :-) Hab ich schon erwähnt, im Oktober darf mein PanoHead sich in New York und Nova Scotia austoben :-)
MfG
Volker
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.