• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Problem mit Steuerung von Soundmodul Mo3 unter Bascom

klausklaus

Geocacher
Hallo,
seit einigen Tagen versuche ich das Soundmodul "Mo3" bzw. "WT588D-U" unter Verwendung von BASCOM im Three-Wire-Modus zu steuern. Im Flash-Bereich des Bausteins wurden dazu bereits mehrere Sprachsegmente abgelegt. Nach Aktivierung der Anweisung "SDA=0 " und Ausklammerung von "If Addr2 = 1 Then Sda = 1 Else Sda = 0" lassen sie sich mit untenstehendem Testprogramm nach Programmstart auch gemeinsam Abrufen.
Was bisher aber leider noch nicht klappt, ist der für mein später zu erstellendes Programm benötigte Aufruf eines bestimmten einzelnen Sprachfiles. Unter Verwendung der im Datenblatt zu findenden C- und Assembler-Versionen habe ich die untenstehende BASCOM-Subroutine erstellt, aber irgendwo hakt es bei ihr noch. Aktiviert man in ihr die Anweisungen "Print SDA;" und "$Sim" so kann man bei Simulation sehen, dass die Ausgabe der Bitfolge über den Datenport "SDA" fehlerfrei zu sein scheint. Auch sollte das gewählte Timing stimmen, aber dennoch lässt sich das Modul auf diese Weise nicht ansprechen.
Für jeden weiterhelfenden Tipp bin ich dankbar.
Klaus

'------------------------------------------------------------
$regfile = "m328pdef.dat"
$crystal = 16000000
$hwstack = 16
$swstack = 32
$framesize = 32
'$sim

Config Portb = Output

Dim Addr As Byte
Dim Addr2 As Byte
Dim I As Byte

Portb = &B11111111

Sda Alias Portb.2
Cs Alias Portb.1
Scl Alias Portb.0

Declare Sub Speakout

Wait 2
'Sda = 0 'test only ???

Start:
'----------------------------
'Addr = &H9C 'address of segment to be spoken
Addr = 5

Gosub Speakout
End

'----------------------------
Sub Speakout 'speak subroutine
Cs = 0
Waitms 5

For I = 1 To 8
Scl = 0
Addr2 = Addr And 1
If Addr2 = 1 Then Sda = 1 Else Sda = 0 '################
'Print Sda; 'test only
Rotate Addr , Right
Waitus 150
Scl = 1
Waitus 150
Next I

Cs = 1
End Sub
 
OP
K

klausklaus

Geocacher
So,
das beschriebene Problem ist weitgehend gelöst. Zm Zeitpunkt des Schreibens hatte ich noch nicht so richtig verstanden, was es mit der im Eingabemenü zu findenden EQUATION-Nummer auf sich hat. Fälschlicherweise hatte ich alle benötigten Sprachsegmente in die VOICE EDITING AREA kopiert und konnte sie von dort auch nur gemeinsam wieder abrufen. Richtig ist es dagegen, jedem einzelnen Segment eine eigene Equation-Nummer zuzuteilen. Nach Ablage im Flash-Speicher lassen sich die Segmente dann unter Eingabe der zugehörigen numerischen Adresse auch wieder einzeln aufrufen, wozu sich grundsätzlich auch das von mir gepostete Programm verwenden lässt.

Bei einem Exemplar meiner WT-866D-U-Sprachspeicher habe ich jetzt aber noch ein anderes Problem: Beim Versuch der Flash-Programmierung kommt immer nur die Fehlermeldung: "SET FLASH INFORMATION FAILED". Gibt es dazu irgend eine Idee?

Klaus
 

Artem

Geonewbie
Hello, klaus!

I found this thread being stuck with the exactly same problem: "SET FLASH INFORMATION FAILED".

Have you solved it?

Sorry, I don't speak German, but I can use Google Translate.

Hope to hear from you soon,
 
OP
K

klausklaus

Geocacher
> Hello, klaus!
I found this thread being stuck with the exactly same problem: "SET FLASH INFORMATION FAILED".
Have you solved it?
Sorry, I don't speak German, but I can use Google Translate.
Hope to hear from you soon,

Hello,
i did not solve the problem, but since this i also did not touch my moduls any more,.
I hoped the deliverer would read this thread and give a useful hint, but this unfortunately did not happen. So in the moment i don't know how to help.

Klaus
 

Artem

Geonewbie
Well now, then I did :)

Logically enough, I supposed that flash chip gone wrong, and re-soldered it with the new one SPI flash from Winbond (p/n 25x16A - that is 16Mb, you can take greater or less). And it works like a charm now :)

I will be glad if it would help somehow.
 

upigors

Geowizard
Hallo Klaus, in diese Richtung habe ich mit den Modulen noch garnicht "gespielt"
Vielleicht, wenn das Projekt läuft, kannst du ja mal eine etwas ausführliche anleitung schreiben. Bin sicher nicht der Einzige den das interessieren könnte :D
 
Oben