Aktuelle Zeit: 25 Feb 2018 02:58:36


LCD4-64k Interface für AVR µC mit mehr als 64kByte Flash

New external libraries or developments.
Neue externe Bibliotheken oder Weiterentwicklungen.
  • Autor
  • Nachricht
Offline

de0508

  • Beiträge: 2111
  • Registriert: 02 Okt 2012 18:18:30
  • Wohnort: Hessen, Deutschland

LCD4-64k Interface für AVR µC mit mehr als 64kByte Flash

Beitrag10 Jan 2016 13:52:40

Hallo,

hier ist die erste Testversion für ein erweitertes LCD4-64k Interface für AVR µC mit mehr als 64kByte Flash.
Ein paar Kleinigkeiten im Assemblercode habe ich noch optimiert und die mögliche und erfolgreiche Anwendung seht ihr im angehängten Beispielcode.

Über Anmerkungen und Ergänzungen freuen wir uns.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Grüße Uwe
Offline

webster

  • Beiträge: 36
  • Registriert: 31 Dez 2012 13:41:22

Re: LCD4-64k Interface für AVR µC mit mehr als 64kByte Flash

Beitrag10 Jan 2016 21:47:00

Moin Moin,

besten Dank dafür, deutlich eleganter als mein Gefrickel...

Ich war zu faul zwischen lpm<->elpm zu Unterscheiden und benutze unter Inkaufnahme des Geschwindigkeitsverlustes nur noch RAMPZ&ELPM.

Habe es leider mit .org 0xXXXX nicht hingekriegt die Fonts aus meiner SSD1963-Lib unterhalb der 64K-Grenze zu quetschen, der Compiler hat die ge'.org'ten Teile geflissentlich ignoriert. Hätte das gefunzt wäre die Unterscheidung in der Addressierung ein deutlicher Speed-Schub beim Font-Zeichnen...

Schönen Tag in See

Webster
Offline

de0508

  • Beiträge: 2111
  • Registriert: 02 Okt 2012 18:18:30
  • Wohnort: Hessen, Deutschland

Re: LCD4-64k Interface für AVR µC mit mehr als 64kByte Flash

Beitrag10 Jan 2016 21:56:19

Für alle Mitleser,

Das Register RAMPZ und die Anweisung ELPM findet sich nur bei Atmel AVR µC mit mehr als 64kByte Flashspeicher und so kann man dann jedes Byte innerhalb von maximal 24Bit Adressen im Flash ansprechen und lesen.
Alle anderen Atmel AVR µC haben nur die Anweisung LPM, mit dieser kann maximal 64kByte im Flash adressieren und lesen.
Grüße Uwe
Offline

de0508

  • Beiträge: 2111
  • Registriert: 02 Okt 2012 18:18:30
  • Wohnort: Hessen, Deutschland

Re: LCD4-64k Interface für AVR µC mit mehr als 64kByte Flash

Beitrag22 Dez 2016 12:24:21

Hallo Forum,

ich habe das LCD4-64k Interface aus der aktuellen LCD4 Interface (21.12.216) abgeleitet und um die 64k Funktionalität erweitert.

Die Dateien werden unter Luna Share aktuell gehalten.
Grüße Uwe
Offline

de0508

  • Beiträge: 2111
  • Registriert: 02 Okt 2012 18:18:30
  • Wohnort: Hessen, Deutschland

Re: LCD4-64k Interface für AVR µC mit mehr als 64kByte Flash

Beitrag10 Dez 2017 09:31:39

Hallo,
ich habe das LCD4-64k Interface eingestellt und die Funktionalität in das Lcd4.Interface integriert.

Diese kann mit einer neuen LunaAVR Release mit ausgeliefert werden.

Hier schon mal zum Download, sie unterstützt für die Methode .DefChar() nun auch AVR µC mit mehr als 64k Flashspeicher :
Lcd4.interface


Beispielcode
Code: Alles auswählen
const F_CPU = 8000000
avr.device = atmega1284p
'avr.device = atmega644p
'avr.device = atmega328p
avr.clock = avr.F_CPU
avr.stack = 42

#library "Lcd4.interface"
' demo init
lcd4.PinDB7 = portb.3
lcd4.PinDB6 = portb.2
lcd4.PinDB5 = portb.1
lcd4.PinDB4 = portb.0
lcd4.PinEN  = portb.4
lcd4.PinRW  = portb.5
lcd4.PinRS  = portb.6

lcd4.Init()
' test für die unterschiedlichen Methoden, teilweise überladen
lcd4.DefChar(LCD_CUSTOM_CHAR0, 0)
lcd4.DefChar(LCD_CUSTOM_CHAR0.Addr, 0)
lcd4.DefCharAddr(LCD_CUSTOM_CHAR0, 0)
lcd4.DefCharAddr(LCD_CUSTOM_CHAR0.Addr, 0)

lcd4.Char( 0 )

end

data LCD_CUSTOM_CHAR0
.db 0b00001
.db 0b00010
.db 0b00100
.db 0b00000
.db 0b01000
.db 0b00100
.db 0b00010
.db 0b00001
enddata
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Grüße Uwe

Zurück zu Libraries / Bibliotheken

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

cron