screwdriver
11.03.2009, 10:47
Hallo zusammen!
Ich habe mir eine kleine Platine nach angehängtem Schaltplan angefertigt. Die Schaltung soll ein kleines Terminal darstellen.
Zur Inbetriebnahme der Platine habe ich dann von der AVR-CDC-Seite
http://www.recursion.jp/avrcdc/
die Hex-Datei für die Version mit Attiny45 @12MHz auf einen Attiny aufgespielt und die Fusebits laut Readme programmiert.
Anschließend habe ich auf meinem m644 folgendes Testprogramm aufgespielt und die Fusbits natürlich auf externen Quarz programmiert.
'************************************************* ******************************
'*** Testprogramm für CPU Board CPU32GUSB 20090114 ***
'*** Empfängt über die serielle Schnittstelle einen Textstring und gibt ***
'*** ihn zeilenweise auf einem grafischen LCD aus. ***
'************************************************* ******************************
'************************************************* ******************************
'Quarzfrequenz festlegen
$crystal = 20e6
$baud = 4800
Config Serialin = Buffered , Size = 32
'Display konfigurieren
$lib "glcdKS108.lib"
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 3 , Ce2 = 4 , Cd = 7 , Rd = 6 , Reset = 2 , Enable = 5
Setfont Font6x8
Config Portd.7 = Output 'LCD-Backlight
Set Portd.7 'Backlight on
'Variablen
Dim Text$ As String * 40
Dim Zeichen As Byte 'Von ATtiny empfangenes Zeichen
Dim Zeile As Byte , Spalte As Byte
'************************************************* ******************************
'*** HAUPTPROGRAMM ***
'************************************************* ******************************
Enable Interrupts
Cls
Zeile = 1
Spalte = 0
Do
Input Text$
If Len(text$) <= 16 Then
Lcdat Zeile , Spalte , Text$
Spalte = 0
Incr Zeile
If Zeile > 8 Then Zeile = 1
End If
Loop
End
'_************************************************ ******************************
'Fontdatei
$include "font6x8.font"
Fazit:
Beim Verbinden meiner Platine mit meinem Pc per USB-Kabel wird ein virtueller Comport erzeugt.
Als Terminalprogramm benutze ich das Bascom-Terminal. Meistens klappt es dann mit der Kommunikation, manchmal muss ich jedoch Terminal oder auch den m644 neustarten.
Leider hängt sich der AVR-CDC nach ein paar Zeichen (ca. 5 bis 20) auf und ich muss alles wieder neustarten...
Hat sonst noch jemand Erfahrungen mit AVR-CDC, insbesondere mit der Attiny45-Version, gemacht, und möchte sich dazu äußern?
Ich habe mir eine kleine Platine nach angehängtem Schaltplan angefertigt. Die Schaltung soll ein kleines Terminal darstellen.
Zur Inbetriebnahme der Platine habe ich dann von der AVR-CDC-Seite
http://www.recursion.jp/avrcdc/
die Hex-Datei für die Version mit Attiny45 @12MHz auf einen Attiny aufgespielt und die Fusebits laut Readme programmiert.
Anschließend habe ich auf meinem m644 folgendes Testprogramm aufgespielt und die Fusbits natürlich auf externen Quarz programmiert.
'************************************************* ******************************
'*** Testprogramm für CPU Board CPU32GUSB 20090114 ***
'*** Empfängt über die serielle Schnittstelle einen Textstring und gibt ***
'*** ihn zeilenweise auf einem grafischen LCD aus. ***
'************************************************* ******************************
'************************************************* ******************************
'Quarzfrequenz festlegen
$crystal = 20e6
$baud = 4800
Config Serialin = Buffered , Size = 32
'Display konfigurieren
$lib "glcdKS108.lib"
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 3 , Ce2 = 4 , Cd = 7 , Rd = 6 , Reset = 2 , Enable = 5
Setfont Font6x8
Config Portd.7 = Output 'LCD-Backlight
Set Portd.7 'Backlight on
'Variablen
Dim Text$ As String * 40
Dim Zeichen As Byte 'Von ATtiny empfangenes Zeichen
Dim Zeile As Byte , Spalte As Byte
'************************************************* ******************************
'*** HAUPTPROGRAMM ***
'************************************************* ******************************
Enable Interrupts
Cls
Zeile = 1
Spalte = 0
Do
Input Text$
If Len(text$) <= 16 Then
Lcdat Zeile , Spalte , Text$
Spalte = 0
Incr Zeile
If Zeile > 8 Then Zeile = 1
End If
Loop
End
'_************************************************ ******************************
'Fontdatei
$include "font6x8.font"
Fazit:
Beim Verbinden meiner Platine mit meinem Pc per USB-Kabel wird ein virtueller Comport erzeugt.
Als Terminalprogramm benutze ich das Bascom-Terminal. Meistens klappt es dann mit der Kommunikation, manchmal muss ich jedoch Terminal oder auch den m644 neustarten.
Leider hängt sich der AVR-CDC nach ein paar Zeichen (ca. 5 bis 20) auf und ich muss alles wieder neustarten...
Hat sonst noch jemand Erfahrungen mit AVR-CDC, insbesondere mit der Attiny45-Version, gemacht, und möchte sich dazu äußern?