V : Basic-Compiler FAST-AVR

Gast #370551
Lesenswert?

Hallo,

ich habe mit Ingenieueren gesprochen, die diese Software auch nutzen
und lt. denen ist der compilierte Code wesentlich effektiver als der
von BASCOM.

Aktuelle Version ist die 4.3.0

Gruss
A. Arndt
Gast #370555
Lesenswert?

Hallo,

ich wechsele, weil mir die Leistung nicht so wichtig ist und ich bei
den Platinenlayouts flexibler bin, was z.B. LCD-Anschluss angeht, bei
FASTAVR müssen die Data-Pins alle in folge sein, bei BASCOM können es
irgendwelche sein, geht natürlich ziemlich auf die Performance.

Ich hatte damals um die 100,00 EUR bezahlt, meine ich...

Gruss

A. Arndt
Gast #370556
Lesenswert?

ich habe eine lcd-routine in fastavr selber geschrieben. ist
umnwesentlich grösser im asm-code und kann jeden pin nutzen den ich im
programm haben möchte.

$Device= m16
$Stack = 32
$Clock = 8
$Baud  = 19200

Dim temp1 As Byte
Dim temp2 As Byte
Dim daten As Byte
Dim text_lang As Byte
Dim text_anfang As Byte
Dim text_lcd As String *16

Declare Sub lcd_char()
Declare Sub lcd_string()
Declare Sub lcd_command()
Declare Sub lcd_init()
Declare Sub lcd_clear()
Declare Sub lcd_enable()

DDRC=&b11111111

lcd_init()
lcd_clear()

Do
Input text_lcd
lcd_clear()
lcd_string()

daten=194
lcd_command()
lcd_string()

Loop

End

Sub lcd_string()
  text_lang=Len(text_lcd)
  For text_anfang=1 To text_lang
     daten=Asc(text_lcd, text_anfang)
     lcd_char()
  Next
End Sub

Sub lcd_char()
  temp1=daten
  temp2=daten
  Swap(temp1)
  temp1=temp1 And &b00001111
  temp1=temp1 Or &b00100000
  PORTC=temp1
  lcd_enable()

  temp2=temp2 And &b00001111
  temp2=temp2 Or &b00100000
  PORTC=temp2
  lcd_enable()
  WaitUs 5
End Sub

Sub lcd_command()
  temp1=daten
  temp2=daten
  Swap(temp1)
  temp1= temp1 And &b00001111
  PORTC=temp1
  lcd_enable()
  temp2=temp2 And &b00001111
  PORTC=temp2
  lcd_enable()
  WaitUs 5
End Sub

Sub lcd_init()
  WaitMs 250
  PORTC=&b00000011
  lcd_enable()
  WaitMs 5
  lcd_enable()
  WaitMs 5
  lcd_enable()
  WaitMs 5
  PORTC=&b00000010
  lcd_Enable()
  WaitMs 5
  daten=&b00011000
  lcd_command()
  daten=&b00001100
  lcd_command()
  daten=&b00000100
  lcd_command()
End Sub

Sub lcd_clear()
  daten=1
  lcd_command()
  WaitMs 5
End Sub

Sub lcd_enable()
  PORTC.4=1
  Nop 3
  PORTC.4=0
End Sub
Gast #370560
Lesenswert?

@Hauke: und welcher Holzkopp will denn die Datenpins einzeln über alle
Ports verstreut haben? Macht doch nie Sinn. Wird doch ne entsetzliche
Bitschubserei. Wenn man nirgendwo wenigstens ein nibble frei hat, hat
man beim Hardwareentwurf gepennt.
Persönliche Seite #370562
Lesenswert?

Ah, alles durcheinander hier! :-)

@Hauke: Achso, na da war ich wohl zu spät ;)

@crazy horse: Ein paar posts hierdrüber:

>>
Autor: A. Arndt - info(at)artools.de
Datum: 02.08.2006 09:58

Hallo,

ich wechsele, weil mir die Leistung nicht so wichtig ist und ich bei
den Platinenlayouts flexibler bin, was z.B. LCD-Anschluss angeht, bei
FASTAVR müssen die Data-Pins alle in folge sein, bei BASCOM können es
irgendwelche sein, geht natürlich ziemlich auf die Performance.

Ich hatte damals um die 100,00 EUR bezahlt, meine ich...

Gruss

A. Arndt
>>

Das war der Ursprung. Wollte auch erst schreiben, dass es totaler
Quatsch ist, die Datenbits zu verstreuen, habs aber dann doch im Sinne
der Allgemeinheit gelassen.

Ist ja auch wurscht ;)
Gast #370563
Lesenswert?

Hallo,

mit den verstreuten Datenpins meine ich es so :

Ich ätze Platinen selber und schliesse LCD immer über 8-pol.
Platinenverbinder an, (RM 2,54) und schaue nach, wo diese
Steckverbindung am besten Platz (auf der Platine) finden und habe Lust,
auch noch nach zusammenhängenden Bits zu schauen, reicht schon den
Diplaykontrast an OCxx-Pins hängen zu müssen, so auch
Hintergrundbeleuchtung über PWM, klar geht auch mit Softw.-PWM...
Gruss
A. Arndt
Gast #370564
Lesenswert?

Hallo,

wir schweifen aber sehr, hier ist nicht Frage, ob Fastavr gut ist oder
nicht in bezug auf Technik und Codeverarbeitung, und wieso und weshalb,
ich habe diese Software zum Verkauf hier angeboten, hat jemand Interesse
?

Gruss
A. Arndt

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren