Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Bascom AVR
#49
Zrobiłem sobie kopie na zapas Smile Zobaczymy może nikt tego nie zepsuje Smile

Ja to robię tak ze znamiennikiem:

Kod:
Znamiennik:
'uruchamiam sobie TX
Ptt = 1
Tx_led = 1
Wentylator = 1
'blokujemy timer na czas wysylania znamiennika bo chrypi
Stop Timer0
Waitms 300
   Stringlength = Len(inputtekst)
'tutaj przesuwamy się po ciągu znaków i będziemy odtwarzać każdą literę z osobna
   For Charindex = 1 To Stringlength
   Sendchar = Mid(inputtekst , Charindex , 1)
   Charcode = Asc(sendchar)

    Dataindex = Charcode - 48
    Charstring = Lookupstr(dataindex , Alfabet)
    Codelength = Len(charstring)

'ta pętla generuje kazda litere znaku
         For Codeindex = 1 To Codelength
               Codeelement = Mid(charstring , Codeindex , 1)
            If Codeelement = "." Then
'Zagraj kropke
               Sound Morsepin , Kropka , Czestotliwosc
            Else
'Zagraj kreske
               Sound Morsepin , Kreska , Czestotliwosc
            End If
            If Codeindex < Codelength Then
               Waitms Kropka
            End If
         Next Codeelement
'odstęp pomiedzy znakami 3 x kropka
      Waitms Kreska
'i wracamy do początku pętli po następną literę
   Next Charindex
'resetujemy flagi
   Ptt = 0
   Tx_led = 0
   'Wentoff = 1
'skonczylismy nadawac znamiennik odpalamy timer 1
   Start Timer0
Return


i do tego tablica ze znakami:

Kod:
Alfabet:
Data "-----"                                                '0  Znaki pokolei tak jak są ustawione w tablicy ASCII
Data ".----"                                                '1  przy wywoływaniu musimy tylko przestawić indeks o 48
Data "..---"                                                '2  ponieważ cyfra 0 ma kod ASCII 48
Data "...--"                                                '3
Data "....-"                                                '4
Data "....."                                                '5
Data "-...."                                                '6
Data "--..."                                                '7
Data "---.."                                                '8
Data "----."                                                '9
Data "."                                                    ': do generowania znamienników znaki specjalne nie są potrzebne
Data "."                                                    ';
Data "."                                                    '<
Data "."                                                    '=
Data "."                                                    '>
Data "."                                                    '?
Data "."                                                    '@
Data ".-"                                                   'A  Literki
Data "-..."                                                 'B
Data "-.-."                                                 'C
Data "-.."                                                  'D
Data "."                                                    'E
Data "..-."                                                 'F
Data "--."                                                  'G
Data "...."                                                 'H
Data ".."                                                   'I
Data ".---"                                                 'J
Data "-.-"                                                  'K
Data ".-.."                                                 'L
Data "--"                                                   'M
Data "-."                                                   'N
Data "---"                                                  'O
Data ".--."                                                 'P
Data "--.-"                                                 'Q
Data ".-."                                                  'R
Data "..."                                                  'S
Data "-"                                                    'T
Data "..-"                                                  'U
Data "...-"                                                 'V
Data ".--"                                                  'W
Data "-..-"                                                 'X
Data "-.--"                                                 'Y
Data "--.."                                                 'Z

Część kodu zapożyczyłem, już nie pamiętam od kogo
...przede wszystkim nie zakłócać...
Odpowiedz


Wiadomości w tym wątku
Bascom AVR - przez SP5FCS - 15-08-2010, 21:43

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości