Seite 2 von 4

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 12:52
von mk-soft
Immer Schritt für Schritt vorgehen.

1. Comport Daten empfangen und auswerten.

Wenn du da angekommen bist und etwas Code zum testen hast, sehen wir weiter

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 12:56
von jacdelad
mk-soft hat geschrieben: 07.01.2023 12:52 Wenn du da angekommen bist und etwas Code zum testen hast, sehen wir weiter
Was anderes hatte ich auch nicht gesagt...

Also schön:

Code: Alles auswählen

OpenConsole("Serial Port Test")
If OpenSerialPort(0,"COM11",9600,#PB_SerialPort_NoParity,8,1,#PB_SerialPort_NoHandshake,1024,1024)
  *puffer=AllocateMemory(1024,#PB_Memory_NoClear)
  Repeat
    While AvailableSerialPortInput(0)
      BytesRead=ReadSerialPortData(0,*puffer,1024)
      If BytesRead
        For iLoop=0 To BytesRead-1
          PrintN(Hex(PeekB(*puffer)))
        Next
      EndIf
    Wend
    Delay(1000)
  ForEver
Else
  PrintN("Keine Verbindung!")
EndIf
Input()
Der Code wird aber nicht funktionieren, weil ich nicht weiß welchen Handshake du benutzen musst, wie viele Stopp-Bits du benutzt, wie groß der Puffer sein muss, in welchem Abstand die Daten kommen, in welchem Format deine Daten ankommen, etc.

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 13:14
von druckernrw
Gut danke.
Ich werde es mal testen was da passiert. Ehrlich gesagt hab ich das noch gar nicht geschnallt wie man hier do und loop schleifen macht.
Das ist hier alles völlig anders, obwohl es sich basic nennt. Also dein Code geht nicht. hast recht.
Hab jetzt nur erstmal das Beispiel gefunden um den ton in anderer höhe abzuspielen.

- müsste nun "Com11 mit 9600,n,8,1,cs0,ds0,cd0,rs" ständig abfragen.
- in eine variable Schreiben und Sound Nummer 0 halt entsprechend in der höhe setzen, auf loop
- Dauerschleife

Code: Alles auswählen

initSound()           ; Initialisieren des Sound-Systems
UseOGGSoundDecoder()  ; Verwenden von Ogg-Dateien

 ; Lädt einen Sound aus einer Datei
 LoadSound(0, "C:\DTMF\TurbineSoundkurz.ogg")
 ; Der Sound wird abgespielt
 PlaySound(0, #PB_Sound_Loop, 100)
  
 MessageRequester("Info", "Ok zum Stoppen.")
 
 StopSound(0)
 MessageRequester("", "Sound gestoppt")
 
 FreeSound(0) ; Der Sound wird freigegeben
 End

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 13:26
von jacdelad
Das sind jetzt aber 2 komplett verschiedene Dinge, einmal die Com-Geschichte und einmal das Abspielen eines Sounds.

Wie gesagt, bau dir erst ein kleines Grundgerüst (Konsole oder Fenster), verstehe den Ablauf und dann können wir über die Verbindung zum Arduino reden. Und erst wenn die Verbindung steht, dann sollten wir die Daten auswerten. Das wollte ich mit meiner ersten Reaktion aussagen.

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 13:27
von druckernrw
In deinem Beispiel... Warum muss man da einen empfangspuffer angeben? warum 1024?
Es kommt das hier im seriellen monitor an von der arduino IDE
  • 66240.00
    68115.00
    70000.00
    68115.00
    66240.00
    64345.00
    62480.00
    60600.00
    58730.00
    60600.00
    62480.00
    64345.00
    66240.00
    68115.00
    70000.00

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 13:31
von mk-soft
Bitte die Hilfe von Comport genau lesen ...

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 13:32
von jacdelad
1024 ist ein Kilobyte, siehe Hilfe zum Befehl AllocateMemory. Das war einfach ins Blaue geraten, damit er groß genug ist.
Das sind schöne Werte, aber in welchem Format? LongInt, Quad, Double, String? Signed oder unsigned? Irgendwelche Füllzeichen?

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 13:36
von mk-soft
@jacdelad

Danke das du wieder eingestiegen bist ;)

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 13:42
von druckernrw
jacdelad hat geschrieben: 07.01.2023 13:32 1024 ist ein Kilobyte, siehe Hilfe zum Befehl AllocateMemory. Das war einfach ins Blaue geraten, damit er groß genug ist.
Das sind schöne Werte, aber in welchem Format? LongInt, Quad, Double, String? Signed oder unsigned? Irgendwelche Füllzeichen?
Die einfachen analogen variablen enden ja bei 32767.
Das müsste eine lange Variable sein. Keine Füllzeichen

Re: Arduino und Purebasic Sound wiedergabe

Verfasst: 07.01.2023 13:48
von jacdelad
druckernrw hat geschrieben: 07.01.2023 13:42 analogen variablen
:freak:

Aber im Ernst. Du hast die Grundstruktur und die Hilfedatei. Jetzt bist du gefragt, der Arduino muss eine Dokumentation haben.

Wenn du keine Doku hast kannst du auch ein paar Schleifen verschachteln und alle Möglichkeiten durchprobieren bis du den Arduino verbinden kriegst. Oder schaust mal in eine deiner anderen Softwares, die sich mit ihm verbinden, dort findet man vielleicht die Einstellungen.