RFM02 hängt beim senden (Bascom)

Gast #4079965
Lesenswert?
• ▲
▼
Hallo Forengemeinde,
ich bin seit Tagen daran die Funkmodule RFM01/02 am laufen zu bekommen.
Bei dem RFM02 habe ich das problem das sich das Testprogramm was ich im 
Bascomforum gefunden habe beim senden aufhängt bzw. nicht weiter macht, 
wenn er TX einschalten soll. Hier mal das Programm:
1
' ########################################################################
2
' # RF02-Test Bascom
3
' # Pollin Funk-AVR Board - RFM02 auf dem Board
4
' ########################################################################
5

6

7
$regfile = "M16def.dat"
8
$hwstack = 32
9
$swstack = 10
10
$framesize = 40
11
$crystal = 16000000
12
$baud = 9600
13
'Baud = 19200
14

15
Config Pind.2 = Input
16
Nirq Alias Pind.2
17

18
Config Pind.7 = Output
19
Fsk Alias Portd.7
20

21
Led Alias Portd.5
22
Config Portd.5 = Output                                     'LED zur Kontrolle
23

24
Dim Count As Byte
25
Dim Temp As Byte
26
Dim Cmd(2) As Byte
27

28

29
Declare Sub Fsk_send(byval Fsk_byte As Byte)
30
Declare Sub Rf_cmd(byval Tmp As Word) As Word
31

32

33
'config SPI
34
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 16 , Noss = 0
35
'Config Spi = Soft , Din = Pinb.4 , Dout = Portb.3 , Ss = Portb.2 , Clock = Portb.5
36

37
'init the spi
38
Spiinit
39

40
Waitms 100
41

42
Toggle Led
43

44
Print "RFM Einstellen"
45

46
Call Rf_cmd(&Hcc00)
47
Call Rf_cmd(&H8b62)                                         '433MHzband, 11.5pf, fsk90kHz, 2MHz clock
48
Call Rf_cmd(&Ha620)                                         '433.92MHz
49
Call Rf_cmd(&Hc811)                                         '19,2 kbit
50
Call Rf_cmd(&Hc220)                                         'tx bit sync
51
Call Rf_cmd(&Hc001)                                         'TX off
52
Call Rf_cmd(&Hd240)                                         'PLL 25%
53
Call Rf_cmd(&Hb300)                                         '-9 db
54
Call Rf_cmd(&He000)                                         'disable wakeup timer
55
Toggle Led
56
Print "Alles Eingestellt"
57

58
Do
59
Print "Sende Daten"
60

61
'TX an
62
Call Rf_cmd(&Hc039)
63

64
'Preamble 3x AA
65
Call Fsk_send(&Haa)
66
Call Fsk_send(&Haa)
67
Call Fsk_send(&Haa)
68
'HI/LOW Frame-Erkennung
69
Call Fsk_send(&H2d)
70
Call Fsk_send(&Hd4)
71
'Daten
72
Call Fsk_send(&H31)
73
Call Fsk_send(&H32)
74
Call Fsk_send(&H33)
75
Call Fsk_send(&H34)
76
Call Fsk_send(&H35)
77
Call Fsk_send(&H36)
78
Call Fsk_send(&H37)
79
Call Fsk_send(&H38)
80
Call Fsk_send(&H39)
81
Call Fsk_send(&H3a)
82
Call Fsk_send(&H3b)
83
Call Fsk_send(&H3c)
84
Call Fsk_send(&H3d)
85
Call Fsk_send(&H3e)
86
Call Fsk_send(&H3f)
87
Call Fsk_send(&H40)
88
Call Fsk_send(&H41)
89
Call Fsk_send(&H42)
90
Call Fsk_send(&H43)
91
Call Fsk_send(&H44)
92
Call Fsk_send(&H45)
93
Call Fsk_send(&H46)
94
Call Fsk_send(&H47)
95
Call Fsk_send(&H48)
96
Call Fsk_send(&H49)
97
Call Fsk_send(&H4a)
98
Call Fsk_send(&H4b)
99
Call Fsk_send(&H4c)
100
Call Fsk_send(&H4d)
101
Call Fsk_send(&H4e)
102
Call Fsk_send(&H4f)
103
Call Fsk_send(&H50)
104
'Frame-Ende Kennung
105
Call Fsk_send(&Haa)
106
Print "Daten gesendet"
107
'TX aus
108
Call Rf_cmd(&Hc001)                                         'TX off
109

110

111
Reset Led
112

113
Wait 2
114

115
Loop
116

117
End
118

119

120
Sub Fsk_send(byval Fsk_byte As Byte)
121
   Toggle Led
122
   For Count = 1 To 8
123
      While Nirq = 0                                        'wait NIRQ goes high
124
      Wend
125
      While Nirq = 1
126
      Wend                                                  'wait NIRQ goes low
127
      Temp = Fsk_byte And &H80
128
         If Temp = &H80 Then
129
            Set Fsk
130
            Else
131
            Reset Fsk
132
         End If
133
      Shift Fsk_byte , Left
134
   Next
135
End Sub
136

137

138
Sub Rf_cmd(byval Tmp As Word) As Word
139
Cmd(2) = Tmp And 255
140
Shift Tmp , Right , 8
141
Cmd(1) = Tmp
142

143
Spiout Cmd(1) , 2
144

145

146
End Sub

Sieht hier jemand was Falsch läuft?
Danke schonmal für eure Hilfe.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.