Userinfo & Login
Zurück   AVR-PRAXiS-Forum > AVR-Mikrocontrollerfamilie > Software
Software Software-Fragen und -Lösungen, welche sich auf Applikationen und nicht auf spezielle AVR-Hardware beziehen, könnt ihr in diesem Forum und dessen Unterforen veröffentlichen.
Antwort
 
Themen-Optionen Ansicht

  #1  
Alt 30.01.2010, 13:27
umsteiger umsteiger ist offline
Erfahrener Forum-Benutzer
 
Registriert seit: 25.01.2010
Ort: Haiterbach
Beiträge: 80
Standard Vergleich BASCOM- Aneres BASIC

Hallo BASCOM-Spezialisten, entschuldigt mir, dass ich zu einem solchen Vergleich auffordere..
- alo, ich kenne "Quik Basic" auf DOS- ebne für PC. ich kenne das "intel-AH Basic" für die 8052 und will mich nun mit den "Atmels" bescheftigen.. Bitte seid mir nicht böse, wenn ich hier Vergleiche aufstelle...
--Schon vor einigen Jahren habe ich versucht mir die Leistungen, Eigenschaften, des BASCOM klar zu machen, dabei kahm ich zu der Erkenntniss: - Bascom ist ein Basiccompiler, soll heissen, es werden Basicprogramme in Textform geschrieben, compiliert, in den AVR-Chip gebrannt(übertragen) und dann funktioniert es oder auch nicht, und das "debugging" des BASIC-Surcecodes folgt...
-- Das INTEL-AH-Basic ist anders, es ist vorrangig ein "Interpereter", soll heisen, der BASIC-Code befindete sich im 8052-Chip, der Aufbau mit zusätzlichem RAM kommunizeirt mit einem Terminal und der Interpreter hat vorerst einen "SOFORT"- Mode, das heisst, Basicbefehle können eingegeben werden und sofort ausgeführt werden..
z.B.
> 10 Print 240* 2 "eingaben"
auf dem Terminal folgt sofort die Ausgabe:

> 480
Das funktioniert auch mit komplexen aritmethischen Befehlen oder mehrzeiligen Instruktionen, Mathematik wie beim Taschenrechner..

Zum Unterschied, kennt das "BASCOM" wenn ich mich da nicht irre, keine Gleitkommaaritmethik. Darum würde ich mich bei den AVR-´s auch nicht für "BASCOM" entscheiden...

-würde mich gerne eines besseren belehren lassen und für BASCOM entscheiden...

-- Noch was für eventuelle 8051-HA Basic interessierte. - INTEL hat das AH-Basic scheinbar frei gegeben, inklusive Surce-Code, man kann sich es aus dem I-Net laden in einen Chip (auch die 89C52 Typen) von ATMEL brennen und ein Board aufbauen....
-Ach, noch ein Vergleich hier zwischen den AVR-Chips und den 8051-ern, zu deren Nachteil..

- Die AVR-´s schaffen es mit jedem Taktzyklus einen elementar-Befehl auszuführen.....
-- Die standard 8051-er benötigen für einen Elementarbefehle 12 Taktzyklen....
--das heisst, bei selber Taktfrequenz, machen die AVR´s ein 12-fach beseres "MIPS" -Ergebniss

- Allerdings, gibt es auch schon von anderen Herrstellern Chips der 8051-serie, die einen Elementarbefehl in 4 oder sogar 2 Taktzyklen erledigen....


- Wolfgang
Mit Zitat antworten
  #2  
Alt 02.02.2010, 10:32
merlin.r merlin.r ist offline
Neuer Benutzer
 
Registriert seit: 02.02.2010
Beiträge: 2
Standard

Zitat:
Beitrag anzeigen
...
Zum Unterschied, kennt das "BASCOM" wenn ich mich da nicht irre, keine Gleitkommaaritmethik. Darum würde ich mich bei den AVR-´s auch nicht für "BASCOM" entscheiden...

-würde mich gerne eines besseren belehren lassen und für BASCOM entscheiden...
Hallo Wolfgang
Hier ein Auszug aus der BASCOM-AVR Help
Zitat:
Elementary Data Types



· Bit (1/8 byte). A bit can hold only the value 0 or 1. A group of 8 bits is called a byte.

· Byte (1 byte). Bytes are stores as unsigned 8-bit binary numbers ranging in value from 0 to 255.

· Integer (two bytes). Integers are stored as signed sixteen-bit binary numbers ranging in value from -32,768 to +32,767.

· Word (two bytes). Words are stored as unsigned sixteen-bit binary numbers ranging in value from 0 to 65535.

· Long (four bytes). Longs are stored as signed 32-bit binary numbers ranging in value from -2147483648 to 2147483647.

· Single. Singles are stored as signed 32 bit binary numbers. Ranging in value from 1.5 x 10^–45 to 3.4 x 10^38

· Double. Doubles are stored as signed 64 bit binary numbers. Ranging in value from 5.0 x 10^–324 to 1.7 x 10^308

· String (up to 254 bytes). Strings are stored as bytes and are terminated with a 0-byte. A string dimensioned with a length of 10 bytes will occupy 11 bytes.



Variables can be stored internal (default) , external or in EEPROM.
Das rechnen Single und Double dauert aller Dings deutlich länger (als mit Ganzzahl)

Man kann auch bei der Programmerstellung direckt im Basic ASM-Code einbauen
Zitat:
Dim a As Byte At &H60 'A is stored at location &H60
Ldi R27 , $00 'Load R27 with MSB of address
Ldi R26 , $60 'Load R26 with LSB of address
Ld R1, X 'load memory location $60 into R1
!SWAP R1 'swap nibbles

Ein weiterer Vorteil, ist meines Erachten, das das ein Compiler ist, und somit ein "agilerer", kompakterer Code erzeugt wird, da kein Platz durch den Interpreter verbraten wird.

CU
merlin.r

Geändert von merlin.r (02.02.2010 um 12:09 Uhr).
Mit Zitat antworten
  #3  
Alt 04.02.2010, 19:36
Benutzerbild von Cassio
Cassio Cassio ist offline
Moderator
 
Registriert seit: 29.10.2008
Ort: Region Hannover
Beiträge: 1.540
Standard

Zitat:
Beitrag anzeigen
Zum Unterschied, kennt das "BASCOM" wenn ich mich da nicht irre, keine Gleitkommaaritmethik. Darum würde ich mich bei den AVR-´s auch nicht für "BASCOM" entscheiden...

-würde mich gerne eines besseren belehren lassen und für BASCOM entscheiden...
Hallo Wolfgang!

Vielleicht helfen dir die Zeilen aus der BASCOM-Hilfe ja weiter....


Zitat:
Floating point SINGLE (4 BYTE)(ASM code used is supplied by Jack Tidwell)

Single numbers conforming to the IEEE binary floating point standard.

An eight bit exponent and 24 bit mantissa are supported.

Using four bytes the format is shown below:





31 30________23 22______________________________0



s exponent mantissa





The exponent is biased by 128. Above 128 are positive exponents and below are negative. The sign bit is 0 for positive numbers and 1 for negative. The mantissa is stored in hidden bit normalized format so that 24 bits of precision can be obtained.



All mathematical operations are supported by the single.

You can also convert a single to an integer or word or vise versa:



Dim I as Integer, S as Single



S = 100.1 'assign the single

I = S 'will convert the single to an integer





Here is a fragment from the Microsoft knowledge base about FP:



Floating-point mathematics is a complex topic that confuses many programmers. The tutorial below should help you recognize programming situations where floating-point errors are likely to occur and how to avoid them. It should also allow you to recognize cases that are caused by inherent floating-point math limitations as opposed to actual compiler bugs.







Decimal and Binary Number Systems

Normally, we count things in base 10. The base is completely arbitrary. The only reason that people have traditionally used base 10 is that they have 10 fingers, which have made handy counting tools.





The number 532.25 in decimal (base 10) means the following:



(5 * 10^2) + (3 * 10^1) + (2 * 10^0) + (2 * 10^-1) + (5 * 10^-2)



500 + 30 + 2 + 2/10 + 5/100

_________



= 532.25





In the binary number system (base 2), each column represents a power of 2 instead of 10. For example, the number 101.01 means the following:

(1 * 2^2) + (0 * 2^1) + (1 * 2^0) + (0 * 2^-1) + (1 * 2^-2)

4 + 0 + 1 + 0 + 1/4

_________

= 5.25 Decimal

Dies ist aber nur ein Auszug aus der BASCOM-Hilfe!
Du solltest dir das einfach noch mal genauer ansehen und durchlesen!

Gruß,
Cassio
__________________
Never say never again !

Programmiersprache:
BASCOM (1.12.0.0)


OLED Farbdisplay für AVR-Mikrocontroller
Mit Zitat antworten
  #4  
Alt 06.02.2010, 11:01
umsteiger umsteiger ist offline
Erfahrener Forum-Benutzer
 
Registriert seit: 25.01.2010
Ort: Haiterbach
Beiträge: 80
Standard

Zitat:
Beitrag anzeigen
Hallo Wolfgang!

Vielleicht helfen dir die Zeilen aus der BASCOM-Hilfe ja weiter....





Dies ist aber nur ein Auszug aus der BASCOM-Hilfe!
Du solltest dir das einfach noch mal genauer ansehen und durchlesen!

Gruß,
Cassio

Danke Euch, werde mir BASCOM auch mal näher ansehen, leider kann ich mit "C" nicht viel anfangen. Vorerst will ich mit Assembler den MEGA32 dazu bringrn ein Display mit dem Hitachi-Cip zu laufen. Habe ein solches Display schon 1982? mit dem 8048 zm laufen gebracht unter schweren bedinungen, da mein enlisch damals so gut war wie heute mein chinesisch.
Habe mir soeben den "DRAGON" angesehen, ich denke den werde ich mir zulegen, ist scheinbar das, was man braucht um den ATMEL´s auf die Finger zu schauen.

Wünsche Euch noch ein schönes Wochenende

Wolfgang
Mit Zitat antworten
  #5  
Alt 10.02.2010, 12:44
umsteiger umsteiger ist offline
Erfahrener Forum-Benutzer
 
Registriert seit: 25.01.2010
Ort: Haiterbach
Beiträge: 80
Standard

Zitat:
Beitrag anzeigen
Danke Euch, werde mir BASCOM auch mal näher ansehen, leider kann ich mit "C" nicht viel anfangen. Vorerst will ich mit Assembler den MEGA32 dazu bringrn ein Display mit dem Hitachi-Cip zu laufen. Habe ein solches Display schon 1982? mit dem 8048 zm laufen gebracht unter schweren bedinungen, da mein enlisch damals so gut war wie heute mein chinesisch.
Habe mir soeben den "DRAGON" angesehen, ich denke den werde ich mir zulegen, ist scheinbar das, was man braucht um den ATMEL´s auf die Finger zu schauen.

Wünsche Euch noch ein schönes Wochenende

Wolfgang
Hallo liebe AVR-Freunde, möchte hier noch anhängen, als ich in den 60-er Jahren mich für das Abitur vorbereitete, damals gab es noch keine Taschnerechner mit denen man sich hätte helfen können. Also, musste man sich mit Rechenschiebern auseinandersetzen und das war schon ein grosser Vorteil. Ich erinnere mich an die Arbeit mit Logarithmentabellen, 10-er oder Naturallogarithmen, es war einfach ein Vortschritt, dass es diese Tabellen gab und mann als Abituranwerter diese benutzen konnte.., durfte..
-- einen Taschenrechner der alles beherrschte, hatte ich mir angeschafft, leider hat er die Belastungen bis zu Ende nicht durchgahalten...
-- Einen wissenschafftlicher Taschenrechner von heute... Hätt ich mir damals nicht in den kühnsten Treumen vorgestellt....


Wolfgan

p.s. Verzeiht also, wenn meine beiträge ein wenig altertümlich erscheinen.....
Mit Zitat antworten
  #6  
Alt 10.02.2010, 12:53
Benutzerbild von dino03
dino03 dino03 ist offline
Moderator
 
Registriert seit: 27.10.2008
Beiträge: 2.432
Standard

Hi Wolfgang,

Zitat:
Beitrag anzeigen
damals gab es noch keine Taschnerechner mit denen man sich hätte helfen können. Also, musste man sich mit Rechenschiebern auseinandersetzen und das war schon ein grosser Vorteil. Ich erinnere mich an die Arbeit mit Logarithmentabellen, 10-er oder Naturallogarithmen, es war einfach ein Vortschritt, dass es diese Tabellen gab und mann als Abituranwerter diese benutzen konnte.., durfte..
-- einen Taschenrechner der alles beherrschte, hatte ich mir angeschafft, leider hat er die Belastungen bis zu Ende nicht durchgahalten...
-- Einen wissenschafftlicher Taschenrechner von heute... Hätt ich mir damals nicht in den kühnsten Treumen vorgestellt....
ich kenne noch Taschenrechner mit den 4 Grundrechenarten und LED-Anzeige
Nen Rechenschieber hab ich selber noch rumfliegen und nen mechanischen
Rechner (Addifix) hab ich auch noch. Da hat man mit nem Metallgriffel in
Ausschnitten rumgestochert und Zahnscheiben weitergedreht.

Die älteren die den gesamten Prozessor-Urschleim mitgemacht haben
können sich unter den Begriffen des Prozessorinneren (ALU, PC, SP, Flags,...)
wenigstens noch was vorstellen. Heutzutage wird das ja nur noch als
Black Box erklärt.

Gruß
Dino
__________________
SCC - Der Schaumburger Computer Club
http://www.sccweb.de

JFB-LAN - Die LAN-Party des SCC für Jugendliche
ab 12 in der Jugendfreizeitstätte Bückeburg
http://www.jfb-lan.de
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Port-Abfrage und Einlesen in Variable für Select-Case-Vergleich Dominik LED + LCD 9 07.10.2009 13:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:14 Uhr.

Powered by vBulletin® Version 3.6.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
vBulletin Style by: vbdesigns.de
AVR-PRAXiS V.2007 I © Copyright 2007 by Dirk Rodenhausen