Antwort schreiben  Thema schreiben 
Seiten (8): « Erste < Vorherige 1 2 3 [4] 5 6 7 8 Nächste > Letzte »
Sprachausgabe von Analogwerten
Verfasser Nachricht
Veryoldman
Member
***


Beiträge: 52
Gruppe: Registered
Registriert seit: May 2010
Status: Offline
Bewertung: 0
Beitrag: #31
RE: Sprachausgabe von Analogwerten

Hallo AVRNix,

danke! Ich bin leider heute nicht dazu gekommen, das Modul mit HTerm zu Prüfen und die einzelnen Schritte einzugeben. Hol ich aber nach. Morgen fahr ich erstmal in den Zoo nach Gelsenkirchen um auf andere Gedanken zu kommen. Ich hab die Unterlagen aber Umgearbeitet, so dass ich jetzt die Datei Anhängen kann. Meld mich wieder, wenn ich mit HTerm soweit bin.

Gruß
Klaus



Angehängte Datei(en)
.doc File  VMusic2Notes_geändert.doc (Größe: 344.5 KB / Downloads: 6)
20.06.2010 22:17
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Eisbaeeer
Administrator
*******


Beiträge: 111
Gruppe: Administrators
Registriert seit: Dec 2007
Status: Offline
Bewertung: 0
Beitrag: #32
RE: Sprachausgabe von Analogwerten

Veryoldman schrieb:
ich bin ganz schön fertig. Die Goto Variante ist bis jetzt die Einzige, welche die Befehle ohne Probleme an das Modul weitergibt.

Krieg schon Schweisausbrüche deswegen!

Gruß
Klaus


Ruhig bleiben, zurücklehnen und das ganze mit einem gesunden Abstand anschauen. Ich hab eben mal dein Programm bezüglich der Subs angepasst.
Ich muss hier AVRNix ein "wenig" wiedersprechen, bezüglich der gosub Befehle. Grundsätzlich kann man nicht sagen am besten erst mit call arbeiten, dann mit gosub und dann erst mit goto.
Diese 3 Befehle sind in sich unterschiedlich. Bascom Hilfe lesen, dort sind die Befehle mit Beispielen beschrieben. In deinem Fall hast du einen Mega8, der sowieso wenig Flash hat. Du übergibst von deiner Sprungmarke auch keine Variablen in die Unterroutine, also benötigst du auch keinen Call Befehl. Darin liegt nämlich der Unterschied. Bei Call kannst du dem Sub noch Variable mitgeben, das geht mit Gosub nicht. Wenn ein Gosub "sauber" beendet wird, passiert auch kein Stack überlauf. Ich hab mal deinen Code angepasst. Die Unterprogramme werden jetzt über gosub aufgerufen und der Stack durch den Befehl "Return" wieder freigegeben. Probiers mal aus.

Code:
$regfile = "m8def.dat"                                      ' ATMEga8
$crystal = 8000000                                          ' 16Mhz extern, FuseBits= High = 0xD1, Low = 0xDF ' 8MHz extern, FuseBits= High = , Low =
$baud = 9600                                                ' Baudrate
$hwstack = 64                                               ' default use 32 for the hardware stack
$swstack = 20                                               ' default use 10 for the SW stack
$framesize = 80
'
'---- fuer Taster kompletter Port C als Eingänge -----------
Config Portc = Input

'---- Alle Taster-Eingänge auf "H" -------------------------
Portc = &B00111111

'---- Handshake Signale RTS/CTS ----------------------------
Config Pind.3 = Input
Portd.2 = 1
Config Pind.2 = Output
Portd.3 = 1

Rts Alias Portd.3
Cts Alias Portd.2

'---- LCD Definition ---------------------------------------
Config Lcd = 20 * 4                                         'LCD 4 Zeilen, 20 Zeichen
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portd.7 , Db6 = Portd.6 , Db7 = Portd.5 , E = Portb.1 , Rs = Portb.2       'LCD Pin-Config
Config Lcdbus = 4
Initlcd
Cursor Off

'---- RS232 Com-Port ---------------------------------------
'Config Com1 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0

'---- Variable ---------------------------------------------
'---- Test -------------------------------------------------
Dim S As String * 9 At &H70
Dim B(11) As Byte At &H70 Overlay
Dim N As Word                                               'Byte
Dim Rts As Byte
Dim Cts As Byte

'---- Test Voreinstellungen --------------------------------
Rts = 1
Cts = 0

'---- Festtext ---------------------------------------------
Cls                                                         'Lösche Display
Locate 2 , 3
Lcd " Klaus - VMUSIC2 "
Locate 3 , 3
Lcd " USB MP3 Player "
Wait 2
Cls

'---- Eingang Serieller Daten ------------------------------
'Sreg.7 = 1
Set Sreg.7
On Urxc Onrxd
Enable Urxc

'---- Lautstärken-Voreinstellung ---------------------------
Print "vsv0" ; Chr(13);                                     ' Lautstärke Voreinstellung 0 = Laut, 256 = Leise

'---- Hauptprogramm ----------------------------------------
Do

If Pinc.0 = 0 Then Gosub Play_one
If Pinc.1 = 0 Then Gosub Stopp
If Pinc.2 = 0 Then Gosub Pause
If Pinc.3 = 0 Then Gosub Track
If Pinc.4 = 0 Then Gosub Random
If Pinc.5 = 0 Then Gosub Play_all

Locate 1 , 1
Lcd "" ; N ; "" ; S

Loop
End

'---- Unterprogramme ----------------------------------------
Onrxd:
Incr N
B(n) = Udr
Return

Play_one:
Print "vpf Lorelei.mp3" ; Chr(13)
Waitms 20
Cls
Locate 1 , 1
Lcd S
Locate 4 , 5
Lcd "Play one"
Return

Stopp:
Print "vst" ; Chr(13)
Waitms 20
Cls
Locate 4 , 5
Lcd "Stop"
Return

Pause:
Print "vp" ; Chr(13)
Waitms 20
Cls
Locate 4 , 5
Lcd "Pause"
Return

Track:
Print "vsf" ; Chr(13)
Waitms 20
Cls
Locate 4 , 5
Lcd "Next"
Locate 1 , 1
Lcd S
Return

Random:
Print "vrr" ; Chr(13)
Waitms 20
Cls
Locate 4 , 5
Lcd "Play Random"
Locate 1 , 1
Lcd S
Return

Play_all:
Print "v3a" ; Chr(13)
Waitms 20
Cls
Locate 4 , 5
Lcd "Play all"
Locate 1 , 1
Lcd S
Return

End


Gruß Eisbaeeer



Angehängte Datei(en)
.bas File  code.bas (Größe: 3.2 KB / Downloads: 2)

Dieser Beitrag wurde zuletzt bearbeitet: 23.06.2010 05:40 von Eisbaeeer.

23.06.2010 05:39
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Veryoldman
Member
***


Beiträge: 52
Gruppe: Registered
Registriert seit: May 2010
Status: Offline
Bewertung: 0
Beitrag: #33
RE: Sprachausgabe von Analogwerten

Hallo Eisbaeeer,

danke für Dein Interesse an dem Projekt, an dem ich schon geraume Zeit Sitze. Werde Deinen Vorschlag ausprobieren und Berichten was dabei herauskommt.

Gruß
Klaus

PS: Schätze, dass ich morgen endlich dazu komme mit der Geschichte weiterzumachen. Kommt mir im Augenblick zuviel dazwischen.

23.06.2010 21:31
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Veryoldman
Member
***


Beiträge: 52
Gruppe: Registered
Registriert seit: May 2010
Status: Offline
Bewertung: 0
Beitrag: #34
RE: Sprachausgabe von Analogwerten

Hallo Leute,

ich bin wieder da. In der Zwischenzeit bin ich also dazu gekommen, mit dem Terminal Programm zu Testen ob das Modul alle Befehle zuverlässig annimmt und auch, dass das Modul vernünftig antwortet. Soweit scheint alles in Ordnung. Warum das nicht über den AVR funktioniert, ich hab keine Ahnung. Jedesmal, wenn ich versuche die Daten auf's Display zu bringen, nimmt das Modul die Anweisungen nicht mehr an. Eisbaeeer hatte mir ja eine Version Umgeschrieben aber leider gibt's hier auch keine Erfolgsmeldung. Einzige Möglichkeit, die mir noch dazu einfällt, wie sieht eigentlich die exakte Fuse Bit Einstellung für den Mega8 mit 16MHz ext. und aktiviertem USART aus. Könnte mir das jemand mal Sagen?

Gruß
Klaus

27.06.2010 14:38
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
gpsklaus
Moderator
*****


Beiträge: 103
Gruppe: Moderators
Registriert seit: Aug 2008
Status: Offline
Bewertung: 0
Beitrag: #35
RE: Sprachausgabe von Analogwerten

Veryoldman schrieb:
.... in der Zwischenzeit bin ich also dazu gekommen, mit dem Terminal Programm zu Testen ob das Modul alle Befehle zuverlässig annimmt und auch, dass das Modul vernünftig antwortet. Soweit scheint alles in Ordnung. Warum das nicht über den AVR funktioniert, ich hab keine Ahnung.................


Dann nehme Dir einmal einen einzelnen Befehl und sende ihn von Deinem PC1 via Terminalprogramm in Richtung VMUSIC2. Wenn er hier korrekt ausgeführt wird, dann sende den gleichen Befehl in Richtung eines auf einem zweiten PC laufenden Terminalprogrammes und wähle hierbei eine Darstellung in HEX. Notiere Dir die HEX-Werte der einzelnen ankommenden ASCII-Zeichen ( unter besonderer Berücksichtigung derjenigen, die am Stringende stehen ).
Lasse jetzt stattdessen Deinen ATMEGA in Richtung PC2 senden und notiere wieder die empfangenen HEX-Werte.
Welche Unterschiede sind dabei festzustellen?

Gern kannst Du beide Log-Varianten auch hier posten.

Klaus

Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2010 14:33 von gpsklaus.

28.06.2010 14:20
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Veryoldman
Member
***


Beiträge: 52
Gruppe: Registered
Registriert seit: May 2010
Status: Offline
Bewertung: 0
Beitrag: #36
RE: Sprachausgabe von Analogwerten

Hallo Klaus,

nach dem Motto, man geht nicht mehr ohne zweit PC.HiHi OK, mach ich, kann aber ein bis zwei Tage dauern. Morgen kommt erst mal Meister Röhricht (Gas, Wasser, Sche..) um unsere Abwasserleitung zu untersuchen. Heute abend werd ich versuchen zumindest die Signale vom Atmega aufzunehmen. Die Logs werd ich dann hier Anhängen.
Aber mal ein anderer Gedanke! Was passiert wohl, wenn ich zu jeder Anweisung vom AVR aus ein Serout hinzufüge und beim Abfragen des Moduls ein Serin? Nur so ein Gedanke (kam mir heute). Wie das funktioniert weis ich noch nicht aber?????????

Gruß
Klaus

Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2010 16:53 von Veryoldman.

28.06.2010 16:45
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Veryoldman
Member
***


Beiträge: 52
Gruppe: Registered
Registriert seit: May 2010
Status: Offline
Bewertung: 0
Beitrag: #37
RE: Sprachausgabe von Analogwerten

Hallo Klaus,

ich hab soeben mit dem Terminal Programm HTerm Anweisungen zum Modul Gesendet und Aufgezeichnet. Irgendwie kann ich aber keine Logdatei Erstellen oder einen Bildschirm Schnappschuss. Hab ich kurzerhand ein Bild mit meiner Digi Kamera gemacht. Hoffe, Du kannst Sehen wie das zusammen hängt. Ganz unten sind die Eingangsbefehle zu Sehen. Erster Befehl ist "v3a" = Play all, dahinter siehst Du "vst" = Stop. Die Darstellung oben ist in ASCII und darunter in HEX, so ist ein direkter Bezug zu Sehen.

Gruß
Klaus

PS: Der Rest folgt später!



Angehängte Datei(en) Thumbnail(s)
   
28.06.2010 22:24
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
AVRNix
Administrator
*******


Beiträge: 1.538
Gruppe: Administrators
Registriert seit: Dec 2007
Status: Online
Bewertung: 0
Beitrag: #38
RE: Sprachausgabe von Analogwerten

Ob die Fusebit richtig sind kann man hier entnehmen
http://halvar.at/elektronik/kleiner_basc..._standard/

was passiert wenn du den ATMega dran hängst und Ihn den Langen String übergibst ?
Lasse die Empfangen Byte mal am Termial ausgeben von Dim S As String * 9 At &H70
Dim B(11) As Byte At &H70 Overlay. Etwa so
Print "S: ";S
for n=1To 11
print "B: ";hex(b(n));" ";str(b(n))
next n

Will mal wissen ob der String richtig verarbeitet wird wenn vom HTerm was gesendet wird.


Gruss
-----------------------------
AVRNix - http://www.comwebnet.de
Administrator
-----------------------------
29.06.2010 06:02
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
gpsklaus
Moderator
*****


Beiträge: 103
Gruppe: Moderators
Registriert seit: Aug 2008
Status: Offline
Bewertung: 0
Beitrag: #39
RE: Sprachausgabe von Analogwerten

Hallo Veryoldman,
auf Anhieb habe ich bei H-Term auch keine Möglichkeit zum Erstellen eines HEX-Log-Files für ankommende Daten gefunden und vielleicht gibt es diese Möglichkeit auch garnicht.
@AVRNix kannst Du dazu etwas sagen?

Ansonsten nutzt es natürlich erst einmal garnichts, die vom VMUSIC2 zurückgegebenen ( umfangreichen ) Daten zu analysieren. Es geht doch stattdessen darum, ein bestimmtes kurzes Kommando einmal über ein Terminalprogramm und einmal vom ATMEGA in Richtung VMUSIC zu senden. Wenn dabei NUR das vom Terminalprogramm initiierte Kommando ausgeführt wird, dann MUSS es doch Unterschiede zwischen den ausgesandten Charakterfolgen geben. Diese gilt es zu erkennen, in dem man die aus beiden Quellen kommenden Zeichenfolgen an einen 2. PC mit dort aktiviertem Terminaprogramm schickt und hier vergleicht ( und dabei besonders auf die Endungen mit den <CR><LF>-Kommandos achtet ).

Klaus

29.06.2010 15:41
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
gpsklaus
Moderator
*****


Beiträge: 103
Gruppe: Moderators
Registriert seit: Aug 2008
Status: Offline
Bewertung: 0
Beitrag: #40
RE: Sprachausgabe von Analogwerten

Hallo Veryoldman,

> auf Anhieb habe ich bei H-Term auch keine Möglichkeit zum Erstellen eines HEX-Log-Files für ankommende Daten gefunden und vielleicht gibt es diese Möglichkeit auch garnicht.

Habe das gerade einmal ausprobiert. Mithilfe der SAVE OUTPUT-Taste kann man durchaus LOG's erzeugen, aber offensichtlich nur im ASCII-Format, wobei man dann aber keine eventuellen Unterschiede hinsichlich übertragener Steuercharaktäre an den Zeilenenden erkennen kann.
Somit bleibt zumindest bei diesem Terminalprogramm offenbar nur die Weitergabe als Screenprint.

Klaus

29.06.2010 16:02
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen

Gehe zu Forum: