Hallo, ich bin nun schon ewig im Internet mit Google etc. unterwegs und finde aber keine brauchbaren Howto´s in deutsch oder englisch, die einem den Einstieg in die Programmierung der STM32F Prozessoren mithilfe von Ride geben. Könnt ihr mir da welche Tipps geben ?
Gast
#2488123
http://www.mikrocontroller.net/articles/MP32F103-Stick:_Ein_Mini-Mikrocontroller-Board_mit_USB_und_bis_zu_4MB_Datenspeicher unten auf der Seite gibt es ein paar links...
Hallo, danke für die schnelle Antwort. Ich habe hier das STM3210C-EVAL Board. Gibt es zu diesem evtl auch einstiegshilfen ?
Gast
#2488189
Ich fürchte so einfach ist das nicht. Hier ist ein Anfang: http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/CD00237044.pdf Sonst such mal nach deinem Board auf der st Seite. Dann musst Du dich durch die Beispiele durchschlagen. Es gibt auch ride7 Projektdateien zu einigen Beispielen in der Standard Library. Viel Glück!
Schon mal bei http://www.stm32circle.com versucht Fragen zu stellen? Der Schwerpunkt ist zwar auf einer anderen Hardware, naemlich von Raisonance, die auch das RIDE7 verkaufen aber da gibts viele Mitglieder die auch mal helfen. hth, Robert
Gast
#2488424
Weißt Du, ich möchte es nur mal schaffen, einen einzigen Ausgang, an dem eine der 4 Leds angschlossen sind, zu initialisieren und zum Leuchten zu bringen. Mehr sollte das erste, selbstgeschriebene Programm nicht können. Habe es mittlerweile geschafft, die Demosoftware Beispiele von ST draufzuspielen und zu testen.
Ok, dass ich die LEDS zum leuchten bringen kann, eine nach der anderen habe ich mittlerweile geschafft. Jetzt möchte ich, dass ich eine einzelne LED mit dem Taster, der an PB9 hängt, ein und ausschalten kann. Wie geht man da sinnvollerweise vor. Habe mal den Taster so initialisiert:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
Ist dieser Ansatz zu gebrauchen, oder eher nicht ?
und noch:
1 | |
2 | |
3 | |
hat oben noch gefehlt.
Annnnn Rrrrrrrrrrr schrieb: > if (ReadValue == 1) Da fehlt noch ein else Zweig mit dem Reset der GPIO, sonst bleiben die LED auch nach dem loslassen des Tasters an. Und die GPIO Takte der verwendeten Ports einschalten, sonst passiert gar nichts!
wie und wo schalte ich die GPIO Takte ein ?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
scheint aber eingschalten zu sein der Takt, oder irre ich mich da ? Für Port D, sowohl als auch für Port B....
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
Da der Taster 0 aktiv zu sein scheint, geht bei nichtbetätgtem Taster mal die LED an. mach ich bei READValue == 0 bleibt sie demzufolge aus. Aber wenn ich den Taster drücke oder loslasse, ändert sich halt immer noch nichts...
So gehts auch nicht, weil Du ReadValue = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_9); natürlich auch mit in die while Schleife nehmen musst!
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
geht irgendwie immer noch nicht.......
Gast
#2489180
Ich denke jetzt ist es an der Zeit das Du mal die Debug Funktionen probierst. Im Einzelschritt mit Variablenanzeige siehst Du genau was passiert.
wie geht das genau ?
Zeig mal das ganze Programm. Bei den Kodeschnipseln blickt keiner mer durch.
das ist das Programm von einem Codebeispiel.......
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
160 | |
161 | |
162 | |
163 | |
164 | |
165 | |
166 | |
167 | |
168 | |
169 | |
170 | |
171 | |
172 | |
173 | |
174 | |
175 | |
176 | |
177 | |
178 | |
179 | |
180 | |
181 | |
182 | |
183 | |
184 | |
185 | |
186 | |
187 | |
188 | |
189 | |
190 | |
191 | |
192 | |
193 | |
194 | |
195 | |
196 | |
197 | |
198 | |
199 | |
200 | |
201 | |
202 | |
203 | |
204 | |
205 | |
206 | |
207 | |
208 | |
209 | |
210 | |
211 | |
212 | |
213 | |
214 | |
215 | |
216 | |
217 | |
218 | |
Gast
#2489227
Gast
#2489252
Annnnn Rrrrrrrrrrr schrieb: > GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; > GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; > GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; Pin9? Oder doch eher Pin13?
Laut Doku ist es PB9. Was bedeutet Floating ?
Annnnn Rrrrrrrrrrr schrieb:1 | |
Der GPIO Takt fehlt, ist auskommentiert.
Gast
#2489277
Annnnn Rrrrrrrrrrr schrieb: > Was bedeutet Floating ? Das würde nun doch etwas zu weit gehen. Siehe: http://www.mikrocontroller.net/articles/STM32F10x_Standard_Peripherals_Library Schau dir noch mal die Sache mit dem Pin13 genauer an...
Geht au ned, nachdem ich ihn aktiv gemacht habe
oder mal ne ganz andere frage, vielleicht ist es besser, das projekt von grund auf neu zu schreiben. wenn ich in ride7 ein neues projekt erstelle ist mir schon klar, irgendwie muß ich dann noch eine neue source datei erstellen und zum schluss mit add item die main.c hinzufügen, oder ? aber wie schreibe ich die main.c ?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.