Forum

APRS, protokol AX.2...
 
Oznámení
Smazat vše

APRS, protokol AX.25

13 Příspěvky
5 Uživatelé
0 Reactions
26.4 K Zobrazeno
Příspěvky: 40
Úvodní téma
(@ok5tvr)
Trusted Member
Přidal se: před 16 roky

Nedávno jsem se rozhodl naprogramovat procesor ATmega pro odesílání zpráv do APRS . ATmega je používám spolu s FX614. Po všech testech se vše jevilo korektně, nyní však vyvstal problém který je pravděpodobně způsoben chybným výpočtem kontrolního součtu FCS v paketu. Mohu se prosím zeptat jakým způsobem se provádí kontrolní součet z kolika bytu se součet provádí. velice děkuji tomáš OK5TVR


Odpověď
12 Odpovědí
Příspěvky: 945
 mx
Admin Registered
(@ok1mx)
Člen
Přidal se: před 10 roky
Odpověď
Příspěvky: 40
Úvodní téma
(@ok5tvr)
Trusted Member
Přidal se: před 16 roky

Ahoj,
tady je vytvořený program ve bascom jedná se zatím pouze o odesílání dat nadefinovaných do tabolky dat1:.
buhužel je asi kvuli špatnému výpočtu kontrolního součtu nefunkční. ale pro jistotu přikládám kod třeba se někomu podaří modifikace která bude funkční. ahoj tomáš OK5tvr

p.s. nadále pokračuji ve vývoji.

____________________
$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 100
$swstack = 50
$framesize = 50
$baud = 1200

Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , _
Db7 = Portb.0 , E = Portb.7 , Rs = Portb.6

Config Portc.3 = Output
Config Portc.5 = Output

'Typ Displeje
Config Lcd = 16 * 2
Cls
Cursor Off

Dim Count As Byte
Dim Count1 As Byte
Dim Count1b As Byte
Dim Count1c As Byte
Dim B1 As Byte
Dim B2 As Byte
Dim B3 As Byte
Dim P1 As Byte
Dim O1 As Byte
Dim O2 As Byte
Dim S(27) As Byte
Dim Fcs_v As Word

Do
'portc.3 k ovládání ptt
Portc.3 = 1

Gosub Flag
Gosub Flag
Gosub Flag

'odesílá 27 bytu z tabulky
Restore Dta1
For Count = 1 To 27
Read B1
S(count) = B1
For Count1 = 0 To 7 'převod bytu na jednotlivé bity a odeslání
Rotate B1 , Left , 1
B2 = B1 And &H01

Portc.5 = B2
Waitus 745 'zpoždění 745 us pro badovou rychlost 1200
If B2 = 1 Then P1 = P1 + 1 'počítá kolik bit 1 bylo odeslání
If B2 = 0 Then P1 = 0
If P1 = 5 Then 'pokud 5 za sebou odešle 0
Portc.5 = 0
Waitus 745
End If
Next Count1
Next Count

Fcs_v = Crc16uni(s(1) , 27 , &HFFFF , &H8408 , 0 , 0) 'výpočet kontrolního součtu z 27 bytů určených k odeslání

Gosub Fcs
Gosub Flag
Gosub Flag
Gosub Flag

Portc.3 = 0
Wait 2
Loop
End

'tabulka dat určená k odeslání
Dta1:
Data &H86 , &HA2 , &H40 , &H40 , &H40 , &H40 , &H60 , &HAE , &H64 , &H8C , &HA6 , &H40 , &H40 , &H68 , &H4A , &H8A , &H98 , &H82 , &HB2 , &H40 , &H61 , &H03 , &HF0 , &H54 , &H65 , &H73 , &H74

'odeslání flagu
Flag:
B3 = &H7E
For Count1b = 0 To 15
Rotate B3 , Left , 1
B2 = B3 And &H01
Portc.5 = B2
Waitus 745

Next Count1b
Return

'kontrolní součet
Fcs:
B3 = &H28 'odeslání fsc nízkého bytu
For Count1c = 0 To 7
Rotate B3 , Left , 1
B2 = B3 And &H01
Portc.5 = B2
Waitus 745
If B2 = 1 Then P1 = P1 + 1
If B2 = 0 Then P1 = 0
If P1 = 5 Then
Portc.5 = 0
Waitus 745
End If
Next Count1c

B3 = &H15 'odeslání fsc bysokého bytu
For Count1c = 0 To 7
Rotate B3 , Left , 1
B2 = B3 And &H01
Portc.5 = B2
Waitus 745
If B2 = 1 Then P1 = P1 + 1
If B2 = 0 Then P1 = 0
If P1 = 5 Then
Portc.5 = 0
Waitus 745
End If
Next Count1c
Return


Odpověď
Příspěvky: 126
(@ok1djo)
Přidal se: před 17 roky

Ahoj Tome,

sice atmel moc neznam, ani primo konstrukci AX-25 ramce, ale v tom kodu, ktery jsi dal k nahlednuti, mi je divna jedna vec. Cekal bych, ze data budou odesilany po jednotlivych bytech, postupne bud od spodniho nebo od horniho bitu. Prijde mi ale, ze tak, jak to mas napsane, se Tve bity odesilaji v tomto poradi: 2 3 4 5 6 7 8 1. Nejdriv delas rotaci doleva a az pak vybiras bit na prvni pozici (AND 01). Nemelo by to byt naopak? Tj ze nejdriv si pomoci AND vyberes prvni bit a az pak provedes rotaci?

Martin ok1djo


Odpověď
Příspěvky: 40
Úvodní téma
(@ok5tvr)
Trusted Member
Přidal se: před 16 roky

v prvním případě jsem to měl stejně, ale byl problém když jsem nechal vše vypsat binárně na port.
mělo být odesláno 01000111 a odeslalo se 10100011, pri tomto zápisu se odešle 01000111 takže toto je snad správně.
tomáš


Odpověď
Stránka 1 / 3
Sdílet:
RAFI99 RAFI88 RAFI88 RAFI88 RAFI88 mekahtoto mekahtoto mekahtoto mekahtoto mekahtoto slot gacor slot gacor slot dana slot dana RAFI88 slot gacor slot gacor slot gacor slot gacor pakjp pakjp slot dana slot gacor RAFI88 slot gacor slot gacor slot dana slot terpercaya slot thailand gadaitoto slot dana slot terpercaya slot thailand mekahtoto slot terpercaya slot gacor slot thailand slot dana pakjp ocatoto slot gacor ocatoto ocatoto ocatoto slot gacor slot gacor hari ini situs gacor situs gacor hari ini slot dana slot qris RAFI88 ocatoto rafi99 gadaitoto gadaitoto toto slot toto slot gadaitoto rafi88 rafi88 rafi88 rafi88 rafi99 gadaitoto gadaitoto gadaitoto gadaitoto ocatoto oca toto slot gacor oca toto ocatoto slot gacor rafi88 rafi88 rafi88 rafi88 rafi88 rafi99 pakjp pakjp pakjp pakjp pakjp pakjp pakjp rafi88 rafi88 pakjp pakjp pakjp pakjp pakjp pakjp rafi88 rafi88 mix parlay judi parlay judi bola parlay rafi88 pakjp ocatoto ocatoto ocatoto rafi88 rafi88 rafi99 rafi99 rafi99 ocatoto oca toto bermain slot online ocatoto ocatoto pakjp result data macau 5d bandar toto macau togel hari ini pakjp situs toto pak jp pakjp pak jp situs togel slot mahjong ways 2 pakjp pakjp pak jp situs slot online ocatoto ocatoto ocatoto ocatoto ocatoto ocatoto rafi99 rafi99 pakjp pak jp slot gacor slot resmi slot online rafi88 pakjp slot online slot resmi slot gacor slot gacor slot resmi slot maxwin pakjp gadaitoto gadaitoto gadaitoto gadaitoto gadai toto RAFI99 gadaitoto rafi99 pakjp pakjp slot toto pakjp pakjp rafi99 slot toto toto slot ocatoto ocatoto ocatoto slot toto rafi88 slot toto slot gacor slot gacor slot gacor slot toto ocatoto rafi99 ocatoto ocatoto ocatoto ocatoto ocatoto slot jp toto macau ocatoto ocatoto rafi99 rafi88 ocatoto gadaitoto pakjp rafi88 ocatoto ocatoto rafi99 ocatoto rafi99 gadaitoto ocatoto ocatoto ocatoto gadaitoto rafi88 rafi99 rafi99 rafi88 rafi88 rafi88 pakjp pakjp rafi88 pakjp pakjp rafi99 gadaitoto gadaitoto rafi88 gadaitoto pakjp pakjp pakjp pakjp pakjp pakjp pakjp pakjp pakjp gadaitoto gadaitoto rafi88 gadaitoto ocatoto ocatoto ocatoto ocatoto ocatoto ocatoto gadaitoto gadaitoto slot gacor kucingjp kucingjp gadaitoto kucingjp pakjp ubstoto ubstoto ubstoto ubstoto ubstoto gadaitoto gadaitoto ocatoto ocatoto ocatoto ocatoto ocatoto rafi99 gadaitoto gadaitoto ocatoto slot gacor ocatoto gadaitoto gadaitoto gadaitoto gadaitoto gadaitoto ocatoto ocatoto ocatoto ocatoto rafi99 gadaitoto gadaitoto gadaitoto gadaitoto rafi88 rafi88 rafi99 ocatoto ocatoto ocatoto ocatoto ocatoto rafi99 rafi99 ocatoto slot gacor slot toto ocatoto ocatoto ocatoto ocatoto ocatoto ocatoto ocatoto rafi99 pakjp rafi88 ocatoto maka77 ocatoto rafi88 pakjp kucingjp kucingjp gadaitoto ocatoto pakjp ocatoto pakjp gadaitoto pakjp rafi99 gadaitoto ocatoto ocatoto ocatoto ocatoto ocatoto gadaitoto gadaitoto gadaitoto ocatoto pakjp ocatoto rafi88 ocatoto rafi88 rafi99 gadaitoto gadaitoto rafi99 gadaitoto pakjp pakjp gadaitoto kucingjp gadaitoto gadaitoto rafi99 rafi99 gadaitoto gadaitoto gadaitoto gadaitoto rafi88 pakjp pakjp slot gacor rafi99 slot gacor slot gacor slot gacor slot toto slot toto pakjp slot gacor toto 4d pakjp pakjp pakjp pakjp pakjp pakjp pakjp rafi88 pakjp rafi99 pakjp pakjp rafi99 rafi99 rafi99 pakjp pakjp pakjpKaryawan Muda Raup 20 Juta dari Black Scatter Rahasia Tips Trik