Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: CC PRO: RTTY / Baudot erzeugen Kategorie: Programmierung Basic (von DL1ASL - 8.02.2017 19:55)
Als Antwort auf CC PRO: RTTY / Baudot erzeugen von DL1ASL - 4.02.2017 13:35

>
> ' nach -->
> 'Ben├Âtigte Libs┬┤s:  IntFunc_lib.cc
> 'Routinen:          BEEP.cbas
> 'Autor:             Ulli Sommer
> 'Datum:             21.12.2007
> 'Funktion:          Tonausgabe mit der C-Control Pro
> 'Ben├Âtigt wird:     Piezzo Schallwandler an Portd.5 gegen GND
> 'ACHTUNG:     Tonh├Âhe besitzt eine Tolleranz von ~ +/-1%
> '---------------------------
> ' Idee von  -- >   DL1ASL
> ' Projektname   : RTTY-Baudot-Signal erzeugen
> ' Bemerkung     : ├änderungen von DL1ASL , Klaus
> ' Nutzung von BEEP zur Aussendung von RTTY-Signalen
> '               : ohne Piezo ! daf├╝r von Portd.5 ein Widerstand
> '               : mit ca 50kOhm(Pegel) an LINE-IN des PC
> ' Decoder-SW    : MixWin: RTTY , 50 baud, shift, 170 , Lowercase
> ' Beginn  : 12.1.2017
> ' Version : V1
> ' Anmerkung : der Baudot-Code benutzt 5 Bit ,
> '            Buchstaben und Ziffern/Zeichen benutzen selben Code
> '            Unterscheidung erfolgt durch einen Umschalt code
> '
> ' --------------------------------------------------------
> 'Shift 170
> #define Tone_mark   145   '784Hz
> #define Tone_shift  185   '622Hz
> #define delay 20          ' 50 baud
> '--------- Start Main--------------------
> Sub main()
> Dim i As Integer
> Do While True
>   AbsDelay(1000)   ' ok am 19.01.2017
>   For i = 0 To 9
>     bit_Buchstaben()
>     bit_TonR()
>     bit_TonY()
>   Next
>   Zeilenvorschub()
> End While
> End Sub '  --  Ende Main ----------------
> '==========================================/
> ' die folgende Codierung f├╝r einen Buchstaben
> ' ist zu aufwendig , also erstmal als Demo
> ' gedacht
> ' Ausgabe von RY dient zur Abstimmung
> ' bei der Funk├╝bertragung
>
> Sub bit_TonR() '01010        R       4
>   BEEP(Tone_shift , delay )  ' Startbit
>   BEEP(Tone_shift , delay )
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_shift , delay )
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_shift , delay )
>   BEEP(Tone_mark  , delay )  ' Stopbit
> End Sub
> Sub bit_TonY()  '10101       Y       6
>   BEEP(Tone_shift , delay )  ' Startbit
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_shift , delay )
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_shift , delay )
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_mark  , delay )  ' Stopbit
> End Sub
> Sub bit_Buchstaben()  'Buchstaben 11111
>   BEEP(Tone_shift , delay )' Startbit
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_mark  , delay )
>   BEEP(Tone_mark  , delay)  'Stopbit
> End Sub
> Sub Zeilenvorschub()   '00010
>   BEEP(Tone_shift , delay ) ' Startbit
>   BEEP(Tone_shift , delay ) ' 1.Bit
>   BEEP(Tone_mark  , delay ) ' 2.Bit
>   BEEP(Tone_shift , delay ) ' 3.Bit
>   BEEP(Tone_shift , delay ) ' 4.Bit
>   BEEP(Tone_shift , delay ) ' 5.Bit
>   BEEP(Tone_mark  , delay)  ' 2 Stopbits
> End Sub
> 'Ton erzeugen von Ulli Sommer
> Sub BEEP(Tone As Word, Periode As Word)
>     Timer_T1FRQ(Tone,PS_64)
>     AbsDelay(Periode)
> End Sub
>

'----------------------------------------------------
Hallo C-C Pro 32 User !
Hier die Verbesserung des voher gezeigten Programms !

'--------- Start Main--------------------
Sub main()

Do While True
  AbsDelay(1000)
  baudwert = 31    ' Umschalten Buchstaben
  schieben(baudwert)
  For i = 0 To 9
    bit_TonR()      ' R
    bit_TonY()      ' Y
  Next
  baudwert = 2     ' neue Zeile
  schieben(baudwert)
  AbsDelay(1000)

  baudwert = 27   ' Umschalten Ziffern/Zeichen
  schieben(baudwert)
  For i = 0 To 9
    bit_TonR()     ' 4
    bit_TonY()     ' 6
  Next
  baudwert = 2     ' neue Zeile
  schieben(baudwert)
End While

End Sub '  --  Ende Main ----------------/
'==========================================/




    Antwort schreiben


Antworten: