Hi Ich will gerade mein Display von pollin, mit dem sed1520 Controller zum laufen bringen. Schaltung hab ich schon gebaut, nur klappt das programmieren nicht so richtig, da ich eigentlich für den PC programmiere und auf Mikrocontrollerbasis recht neu. Ich möchte mir aber auch nicht durch irgendwelchen Tutorials durchwühlen, wo ich alle Grundlagen noch mal beigebracht bekomme. Problem ist, ich wollte das Display einfach mal in Bascom ansteuren mit Code aus dem Internet. So weit so gut: Aber der Code ist nicht ganz Fehlerfrei. Zumindest fehlen glaub ich ein paar librarys, aber ich weiß nicht welche und anders kann ich mir das nicht erklären. $regfile = "m8def.dat" $crystal = 1000000 ' ***************************************************** $lib "glcdSED1520.lbx" Config Graphlcd = 120 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 4 , Ce2 = 5 , Cd = 2 , Rd = 3 'The dataport is the portname that is connected to the data lines of the LCD 'The controlport is the portname which pins are used to control the lcd 'CE =CS Chip Enable/ Chip select 'CE2= Chip select / chip enable of chip 2 'CD=A0 Data direction 'RD=Read ' ***************************************************** Glcdcmd &H3E , 1 : Glcdcmd &H3E , 2 ' both displays off Cls Waitms 10 Glcdcmd &H3F , 1 : Glcdcmd &H3F , 2 'both on '------------------------------------------------------------------ ' Arbeitsschleife Do Sec_s = Str(_sec) Sec_s = Format(sec_s , "00") Min_s = Str(_min) Min_s = Format(min_s , "00") Std_s = Str(_hour) Std_s = Format(std_s , "00") Portb.0 = Puls If Z1 < 10 Then Setfont Font16x16 Lcdat 1 , 1 , " " ; Std_s ; ":" ; Min_s ; " " , 0 Setfont Font8x8 Lcdat 2 , 98 , ":" ; Sec_s , 0 Lcdat 3 , 1 , " AVR-Praxis.de " Lcdat 4 , 1 , " " ; Date$ ; " " , 0 Else Setfont Font16x16 Lcdat 1 , 1 , "A V R - " , 0 Lcdat 3 , 1 , "Praxis " , 0 Wait 3 End If Loop End 'end program ' ------------------------------------------------------------------ Sectic: Toggle Puls If Z1 < 10 Then Incr Z1 Else Z1 = 0 End If Return ' ------------------------------------------------------------------ $include "font8x8.font" $include "font16x16.font" Das ist der Code vom Avr-Praxis Forum, leicht angepasst. Nur es kommen 2 Assigment Fehler und dass Loop nicht gefunden werden kann, aber das ist wahrscheinlich ein Folgefehler. Die Fehler sind im Anhang. Komischerweise konnte ich die Fehler auch nicht durch auskommentieren beheben. Falls ihr mir doch ein Tut vorschlagen wollt: Ich werde in Zukunft eh in C dann programmieren (das kann ich dann auch), aber ich find es einfacher den Display AVR in Bascom zu schreiben. Achso noch was, ich glaub ich brauch die Fonts noch, wo bekommt man die her?
Hallo! Schlecht kopiert? Wenn Du die Variablen nicht definierst wird es nicht funktionieren wie Du schon bemerkt hast. MfG
Hallo Sam, benutze doch bitte beim nächsten Mal die Code-Tags oder häng den Bascom-Code als Datei an. Du machst es uns damit leichter dir zu helfen. 1. Wie vom Vorposter bereits bemerkt: Wenn du Variablen benutzt, musst du die auch vorher Bascom bekannt machen.
1 | Dim Sec_s As String * 2 , Min_s As String * 2 , Std_s As String * 2 |
2 | Dim Z1 As Byte , Puls As Byte |
2. Wenn du eine Softclock haben willst, musst du das ebenfalls Bascom sagen. Ausserdem möchtest du, dass jede Sekunde die Routine SECTIC aufgerufen wird.
1 | Config Clock = Soft , Gosub = Sectic |
3. Die Fontdateien "font8x8.font" und "font16x16.font" findest du im Verzeichnis C:\Bascom-AVR\Samples\Lcdgraph. Diese Dateien musst du dann in dein Projektverzeichnis kopieren, damit Bascom die auch findet. Viel Erfolg! screwdriver
Danke. Kann ich das mit den Fonts irgendwie umgehen und unter die 4kb kommen?
>Ich möchte mir aber >auch nicht durch irgendwelchen Tutorials durchwühlen Die Faulheit kennt keine Grenzen.
Hey, programmieren kann ich, aber mit Basic hatte ich selten was am Hut. Ich hab bisher fast noch nie mit Basic programmiert, eher mit c, c++ oder c#.
Sam schrieb: > Kann ich das mit den Fonts irgendwie umgehen und unter die 4kb kommen? Ja, wenn du auf den 16x16-Font verzichtest. Also die letze Zeile
1 | $include "font16x16.font" |
auskommentieren und dann noch alle Zeilen mit
1 | setfont Font16x16 |
durch
1 | setfont Font8x8 |
ersetzen. Das ist jetzt nur Quick&Dirty, passt aber dadurch zum restlichen Code. Kasperle schrieb: >>Ich möchte mir aber >>auch nicht durch irgendwelchen Tutorials durchwühlen > > Die Faulheit kennt keine Grenzen. Ja, ich fands auch schon grenzwertig. Aber Sam hat halt wenigstens einen Code gepostet. Ich bin aber jetzt auch hier raus, weil mir seine Sprüche mit C programmieren, usw. auf den Keks gehen. screwdriver
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.