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


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

[/code]Hallo Leute,

ich bin ganz schön fertig. Der Vorschlag von AVRnix brachte das gleiche Ergebnis wie vorher. Die Goto Variante ist bis jetzt die Einzige, welche die Befehle ohne Probleme an das Modul weitergibt. Aber warum? Den geänderten Code Häng ich nochmal an. Ist wie Verhext. Kann eventuell jemand mal Gucken, ob es im Ablauf des Programms irgendwas gibt, woraus man Schließen könnte, dass das Programm Blödsinn macht? Muss ich vielleicht die Abfolge ändern, wenn ja, wie? Ich Sehe eigentlich keine wirklichen Probleme (Ich seh sowieso kaum was.HiHi) Hier also der Code:
[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

'---- Deklariere Unterprogramme ----------------------------
Declare Sub Play_one
Declare Sub Stopp
Declare Sub Pause
Declare Sub Track
Declare Sub Random
Declare Sub Play_All

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

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

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

locate 1 , 1
lcd "" ; N ; "" ; S

Loop
end

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

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

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

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

Sub Track
Print "vsf" ; Chr(13)
Waitms 20
Cls
Locate 4 , 5
Lcd "Next"
locate 1 , 1
lcd S
End Sub

Sub Random
Print "vrr" ; Chr(13)
Waitms 20
Cls
Locate 4 , 5
Lcd "Play Random"
locate 1 , 1
lcd S
End Sub

Sub Play_All
Print "v3a" ; Chr(13)
Waitms 20
Cls
Locate 4 , 5
Lcd "Play all"
locate 1 , 1
lcd S
End Sub

End

Krieg schon Schweisausbrüche deswegen!

Gruß
Klaus

18.06.2010 20:45
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: Offline
Bewertung: 0
Beitrag: #22
RE: Sprachausgabe von Analogwerten

Also ich bin ein wenig verwundert das mit goto sub aufgerufen werden können.

Was sagte Walter Giller:" immer Locker vom Hocker oder es bleibt schwierig" Wink

Es muss ja ein Grund geben dafür.

Frage:
1. Du benutzt ein Quarz ( Wieviel MHz ) am ATMEGA 8 der auch die entsprechende Fuse eingestellt ist? Kannst du prüfen ob der Quarz schwingt (Osziloskop)?
Oder geht das nur über den internen RC Oszilator im ATMega8

Ich weis es nicht genau aber wird bei Print nicht ein CR + LF mitgesendet?
ggf mit HTERM überprüfen ob die Kommunikation klappt man sieht auch welche Sonderzeichen ( CR + LF ) empfangen oder gesendet werden.
Ich schätze mal das mit der Kommunikation nicht so ganz was stimmt.

Es muss ja ein Grund geben Smile - Wir brauchen Fakten Fakten Fakten.
ALso mal Auzeichen wie es klappt und dann mit dem ATMega.

Bei Unterschied haste den Fehler Smile

Zur Kommunikation von und zu dem Modul kann ich keine Aussage machen da ich das nicht habe.

Es könnte sein das du keine ASCII empfängst sondern Bytes.
Onrxd:
Incr N
B(n) = Udr
Return

Und wo werden bei dir:
'---- Handshake Signale RTS/CTS ----------------------------
Config Pind.3 = Input
Portd.2 = 1
Config Pind.2 = Output
PortD.3 = 1

RTS ,CTS überprüft bzw brauchst du das wirklich ?

Weil Tx und Rx sollten reichen , aber das weiss ich nicht.
Steht das ihrgendwo das du das benutzen must?



im Haupprogramm mal print "Empfang: ASCII "; chr(B(n)) ;" HEX: "; hex (b(n)) ; "

und Vergleiche diese mit der ASCII Tabelle.

TIP : Bascom Hilfe : Using the UART

Und dann Poste mal deine Ergebnisse Smile


Gruss
-----------------------------
AVRNix - http://www.comwebnet.de
Administrator
-----------------------------

Dieser Beitrag wurde zuletzt bearbeitet: 19.06.2010 08:59 von AVRNix.

19.06.2010 08:21
Webseite des Benutzers besuchen 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: Offline
Bewertung: 0
Beitrag: #23
RE: Sprachausgabe von Analogwerten

Gruss
-----------------------------
AVRNix - http://www.comwebnet.de
Administrator
-----------------------------
19.06.2010 08:47
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: #24
RE: Sprachausgabe von Analogwerten

Hallo Klaus und auch AVRNix,
ich finde auch, dass die Sache in den Griff zu bekommen sein MUSS.
Zuerst einmal würde ich die Ansprechbarkeit des VMUSIC2 mithilfe des Terminalprogramms testen und dabei möglichst viele verschiedene Kommandos ausprobieren.
Dann würde ich den Atmega einmal ggf. verschiedenen EINZELNE Kommandos in Richtung Sprachbaustein senden lassen und gucken, ob diese ordnungsgemäß ausgeführt werden.
Wenn er das nicht tut, dann würde ich den ATMEGA in Richtung PC mit aktiviertem Terminalprogramm senden lassen und wieder gucken, was dort ankommt und ob dabei z.B. auch die Datenrate 9600bps stimmt. Wie auch AVRNix schon geschrieben hat, würde dabei besonders auch interessant sein, was an den jeweiligen Zeilenenden ( <CR><LF> ) passiert. Dazu kann die HEX-Darstellmöglichkeit des Terminalprogrammes sinnvoll genutzt werden. Nach m.W. braucht der VMUSIC2 zur Befehlsauslösung immer NUR ein <CR> bzw. Chr(13) oder auch Chr(&H1D), aber auch noch ein zusätzliches <LF> bzw. Chr(10) oder Chr(&H1A) dürfte nicht stören. Ob es Probleme macht, wenn das <LF> z.B. vor dem <CR> steht, vermag ich derzeit nicht zu sagen.
Wenn das erst einmal mit den Einzelbefehlen klappt, dann kann man immer noch dazu übergehen, das Programm dahingehend zu erweitern, dass auch die einzelnen Tasten abgefragt werden und es sollte mit dem Deibel zugehen, wenn dann nicht auch ( wie schon in unzählligen Fällen bei anderen Programmen realisiert ) die Unterprogrammaufrufe in den Griff zu bekommen sein sollten.

Ein schönes Wochenende wünscht
Klaus

19.06.2010 09:39
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: #25
RE: Sprachausgabe von Analogwerten

Hallo Klaus und AVRnix,

ich hab mit meinem Terminal Programm zwei Log-File's Gespeichert und versuch mal die hier Anzuhängen. Man kann eigentlich gut die Abfolge Erkennen. Schaut euch das mal an. Was die Leitungen RTS und CTS betrifft, normaler Weise braucht man die Leitungen eigentlich nicht. Was die Anweisung <CR> und <LF> betrifft, hab ich die mal ins Programm Aufgenommen, mal vor mal hinter <CR>. Das brachte keine Veränderung. Ich hab versucht, meine Unterlagen hier anzuhängen aber die Datei ist zu groß. Könnte euch die Unterlagen als e-Mail zukommen zu lassen. Würde vielleicht Helfen das Ganze zu Verstehen. In den Unterlagen wird so Einiges (Was ich leider nicht richtig verstehe, mangels ausreichender Englischkenntnisse.) Beschrieben betreffend z.B. auch der RTS und CTS Leitungen.

Gruß
Klaus

PS: in dem Anhang "Anweisungen Aus AVR" ist gut zu Erkennen, das jedesmal wenn ich eine Taste gedrückt habe, ein Programm-Reset ausgeführt wird. Denn die Anweisung "vsv 0" darf eigentlich nur nach dem Start des Programms ausgeführt werden. Warum auch immer?



Angehängte Datei(en)
.txt File  Anweisungen Aus AVR.txt (Größe: 309 Bytes / Downloads: 4)
.txt File  Ausgabe aus VMUSIC2-Modul.txt (Größe: 3.14 KB / Downloads: 4)

Dieser Beitrag wurde zuletzt bearbeitet: 19.06.2010 18:58 von Veryoldman.

19.06.2010 18:53
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: Offline
Bewertung: 0
Beitrag: #26
RE: Sprachausgabe von Analogwerten

Mir sagt die Ausgabe nichts, ich weis nicht was gesendet wurde und was empfangen wurde.

Das ist eine Ausgabe von Hyberterm nicht mit HTerm ? Macht das mal mit Hterm mit Print " Ausgabe von"; Varibel_String_name in Bascom oder sowas die Sonderzeichen müssen auch erkennbar sein deswegen HTERM Programm Link siehe oben.

im zweiten Fall findet das Teil frn Befehl nicht. USB ist Laufwerk d: ?


Gruss
-----------------------------
AVRNix - http://www.comwebnet.de
Administrator
-----------------------------
19.06.2010 21:53
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: #27
RE: Sprachausgabe von Analogwerten

Hallo AVRNix,

OK, ich hab mir das HTerm Heruntergeladen. Kenn ich zwar noch nicht aber ich Häng das Modul und den AVR mal dran. Das Terminal-Programm, welches ich hier verwende, ist nicht Hyper-Terminal. Das USB Laufwerk ist D:/. So hab ich das jedenfalls verstanden. OK, ich werde das Ganze jetzt ausprobieren und hier wieder Posten. Wenn Du die anderen Unterlagen auch noch haben möchtest (ca. 1,5 MB) dann sag Bescheid, ich Schick sie Dir dann per Mail.

Gruß
Klaus

19.06.2010 22:25
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: Offline
Bewertung: 0
Beitrag: #28
RE: Sprachausgabe von Analogwerten

Hallo,

mir nützten die Unterlagen nichts. Kannst du diese nicht im zip Format bringen pdf sollte auch gehen per upload.

Wichtig ist : Das man sieht was an wenn gesendet bzw. empfangen wird. An der Muisk erkennt man schon das du nicht so sehr Alt sein kannst Wink


Die geloogten Daten zum Termial dann mit Ausgabe format:
print " sende Befehl -> "; Variable
print " gefrückt -> Play:"; Variable
print " Empfang Befehl-> "; Variable
print " STring empfang->"; Variable


ALso das man die Kommunikation vom AVR zum Termial sieht und welche Taste ggf gedrückt wurde. ALso Ohne Formatierung dann mit Formatierung.


Gruss
-----------------------------
AVRNix - http://www.comwebnet.de
Administrator
-----------------------------

Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2010 07:12 von AVRNix.

20.06.2010 07:09
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: #29
RE: Sprachausgabe von Analogwerten

Hallo AVRNix,

hab mir das HTerm mal angeschaut und werd das heute mal Anschliessen. Die Befehlsfolge ist auch klar. Was die Musik angeht, die ich so höre, geht das von Klassik bis Hartrock. Ich werd mal versuchen, die Unterlagen in ein entsprechendes Format zu bringen, damit die Datei nicht allzu groß wird. Entscheidend ist ja eigentlich nur die Befehlsliste und was mit dem Teil alles möglich ist. Da die Unterlagen in Word verfasst sind, müsste es ohne Probleme funktionieren. Hab mir gestern abend den Code nochmal Angeschaut und versucht was zu ändern, damit nicht jedesmal, wenn ich eine Taste Drücke ein Softreset ausgelöst wird. Hab die Goto Anweisungen in Call geändert. Zumindest Springt das Programm jetzt nicht immer ganz an den Anfang.

Gruß
Klaus

PS: Mein Alter, na ja, ich bin Bj. 50 und schon Rentner.

20.06.2010 09:27
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: Offline
Bewertung: 0
Beitrag: #30
RE: Sprachausgabe von Analogwerten

Also doch noch kein alter Sack Smile

Also mit Softreset ohne es zu wollen ist meist ein Stacküberlauf bzw. da die Rücksprungadresse überschrieben wird rennt der AVR bis zum Speicherende und dann beginnt er von vorne.

Die Sub wird aufgerufen und durch da es keine Rücksprungadresse gibt läuft das Programm bis zum Ende bzw. zur anderen Sub die ja dahinter ist, es werden jeweils 32 Byte auf den Stack gelegt und nie abgeholt.

Doc können nur gezippt hochgeladen werden.

Also lass mal das call stehen.

Das Problem was ich hier sehe ist die Kommunikation. Den Ablauf wie GPSKlaus sagte ist wichtig. Was wird gesendet was empfangen.

Gebe auch die Werte von der Varibale von

Dim S As String * 9 At &H70
Dim B(11) As Byte At &H70 Overlay

aus.


Gruss
-----------------------------
AVRNix - http://www.comwebnet.de
Administrator
-----------------------------
20.06.2010 10:09
Webseite des Benutzers besuchen 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: