Hi all, dies ist mein erster Beitrag, deshalb wenn ich hier was falsch mache, nur sagen! Ich hab zwei Arduinos und vier RFM70-S (Sende-/Empfangsmodul)! Ich habe an die Module schon die Kabel angelötet und schon etwas ausprobiert; weit gekommen bin ich aber leider nicht! ;-( Ich hab noch keine Ahnung, wie des mit den ganzen Registern und dem SPI-Bus funktioniert! Es wäre nett, wenn ihr mir helfen könnt, gutefrage.net und Google konnetnt nicht helfen. Ich hab eine interessante PDF-Datei (http://www.ne555.at/images/ne555/RFM70.pdf) gefunden, wo viel darüber drin steht, aber leider nur in Englisch! Ich programmiere in der neusten ArduinoSoftware (1.0)! Ich hab zwar auch schon einige Beispiele gefunden, aber nicht für die ArduinoSoftware! Danke im voraus, die mir das gut erklären können (dazu gehören auch Link)!
Und wo ist jetzt deine Frage? Hilfe alles klappt nicht ist keine Frage. Geh alles Schritt für Schritt durch und stell dann hier KONKRETE Fragen. Dann wird dir auch geholfen. Und Englisch wirst du wohl lernen müssen. Datenblätter (da steht eigentlich immer alles drinn was man wissen muss) gibts nur auf Englisch.
Ich hab keine genaue Frage, ich möchte nur, dass mir jemand das was oben steht erklärt. Also wie des mit dem SPI funktioniert, wie ich das Modul zu verbinden habe, was ich programmieren muss, ... Ich verstehe von dem SPI halt noch fast nichts und deshalb wollte ich, dass es mir jemand erklärt! Des wegen Englisch was du gesagt hast: Ich lerne Englisch, kann aber noch net so viel (7. Klasse)! Und: In diesem Datenblatt steht, z.B. nicht drin, welche Funktionen ich zum Programmieren brauch. Das ist mir zwar klar, dass es nicht drin steht, trotzdem hilft es mir dann nur ein wenig weiter! Fürs nächste mal: Antworte auf des, was da steht! Da steht ja, was ich noch net kann, und was ich erklärt haben wollte!
Und in der 7. Klasse hast Du noch nicht gelernt korrektes Deutsch zu schreiben, kannst die lokale Suche nicht bedienen und kennst auch Google nicht? http://www.mikrocontroller.net/articles/Serial_Peripheral_Interface http://kner.at/home/news.avr.rfm70.html
Ich m. schrieb: > Fürs nächste mal: > Antworte auf des, was da steht! Da steht ja, was ich noch net kann, und > was ich erklärt haben wollte! http://www.gutefrage.net/frage/arduino-uno-mit-dem-sende-empfangsmodul-rfm70-s-verbinden > Ich hätte gerne Schaltpläne und ein passendes Programm! > Die hilfreichste Antwort bekommt natürlich den Titel 'Hilfreichste > Antwort' von mir! ;-)
Ich m. schrieb: > Ich hab keine genaue Frage, ich möchte nur, dass mir jemand das was oben > steht erklärt. Also wie des mit dem SPI funktioniert, wie ich das Modul > zu verbinden habe, was ich programmieren muss, ... Ich verstehe von dem > SPI halt noch fast nichts und deshalb wollte ich, dass es mir jemand > erklärt! So funktioniert das nicht. Zerlege Dein Problem in Teile (wie programmiert man Deinen µC, was ist SPI, wie steuert man SPI mit Deinem µC an, wie funktioniert der RFM70, wie ist das alles miteinander zu verbinden) und fang an, diese Teile nacheinander abzuarbeiten. Dich an die Hand nehmen und Dir alles Erklären wird hier niemand. Du kannst, darfst und sollst hier jederzeit Fragen stellen, aber das nur dann, wenn Du erkennen lässt, daß Du selber versucht hast, etwas herauszufinden. Eine Frage wie "Was ist SPI" lässt das nicht erahnen, aber eine Frage wie "Wofür ist die Taktpolarität bei SPI da, und was passiert, wenn sie falsch eingestellt ist?" schon eher.
@Tom: Ich kann Google benutzen, und war auch schon auf einem der Links (auf dem zweiten)! Nur der Code der da steht ist nicht, wie ich es habe wollte für die StandartArduinoSoftware von adruino.cc! @Fox Mulder: Dein Link ist auch eine Frage von mir! Ich frag halt überall, dass ich so schenll wie möglich zu einer Antwort komme! @All: Ich hab des mit dem SPI schon angeguckt, weiß, dass es MISO und MOSI SCK und SS gibt und wofür diese sind! Nur an meinem Sende-/Empfangmodul (RFM70-S) sind noch weitere anschlüsse, wo ich keine Ahnung habe, wie ich diese anschlißen muss! Die Programmierung hab ich mir auch schon angeguckt, also SS zuerst auf LOW setzen, danach mit 'SPI.transfer (int daten)' die Daten übertragen und zum Schluss SS wieder auf HIGH setzen! Aber das Modul hat noch zwei weitere Anschlüsse, bei denen ich mir net ganz sicher bin. Diese sind IRQ vom Typ DO (Digital Output) und die Funkzion ist 'Maskable interrupt pin (active low)'. Jetzt eine konkrte Frage (wie ihr es wollt): Aber was macht dieser Anschluss (IRQ)?
Nochmal: Falls ihr denkt ich hab mit dem Arduino noch nichts gemacht, dann ist das falsch! Ich hab 2 Arduinos, 1 EthernetShield, 1 DisplayShield und einen selbstgemachtn 3x3x3 LED Würfel! Von der Programmierung hab ich es schon geschafft, den Arduino mit dem EthernetShield als WebServer und als WebClient laufen zu lassen! Den 3x3x3 LED Würfel hab ich auch mit meinem Programmierten Muster zum Leuchten gebracht! Jetzt versuch ich halt was neues und brauche Hilfe! Trotzdem danke für eure Tipps z.B., dass ich konkrete Fragen stellen soll, usw.!
Ich m. schrieb: > Jetzt eine konkrte Frage (wie ihr es wollt): > Aber was macht dieser Anschluss (IRQ)? Gegenfrage: Was ist ein Interrupt?
Keine Ahnung was ein Interrupt ist. Das wird meine Nächste Frage. Und was heisst das, wenn rechts neben dem Autor in Klammern Moderator steht?
Ich m. schrieb: > Keine Ahnung was ein Interrupt ist. Das wird meine Nächste Frage. Falsche Antwort. Recherchiere selbst. > Und was heisst das, wenn rechts neben dem Autor in Klammern Moderator > steht? Daß der (hier also ich) einer ist. Davon gibt es hier mehrere, es gibt aber auch einen, bei dem "Administrator" steht. Das ist dann Andreas, der Forenbetreiber.
Tja daran sieht man mal wieder, auch wenn jemand schon "einiges" mit Arduino gemacht hat, zum richtigen Entwicklen und Verstehen hat es dann noch nicht gereicht. Man kann halt nicht alles haben, entweder man will einfach, schnell und ohne Wissen was zusammenstöpseln, dann nimmt man Arduino. Oder man möchte sich auch mal Zeit nehmen wirklich zu Verstehen was da so abläuft, dann braucht man diesen Quatsch nicht. DU hast dich halt für einfach und schnell entschieden, nun Ernte die Früchte deiner Entscheidung.
Oh ich möchte auch noch was konstruktives Beitragen: Es ist ja noch nicht zu spät für dich, schnapp dir deinen AVR Controller, ja ganz nackt, ohne ArduinoBoard, Bootloader, Shield oder sonst was, das dazugehörige Datenblatt, installier dir AVR Studio und fang an das Ding ordentlich in C zu programmieren. Ohne Arduino, ohne spezielle APIs (ja ich weiß du weißt nicht was eine API ist), einfach so mit den Wekzeugen welche dir WinAVR bzw. AVR-GCC/AVR-LIBC bieten. Und du wirst sehen, ein paar Tage (oder Wochen) experimentieren und Datenblätter lesen und schon gehts besser. Und dann kannst du dich auch mal an die RFMs ranwagen und weißt vielleicht auch was ein Interrupt ist. Gib dich nicht auf, lern richtig Entwicklen.
Könnt ihr mal 'dumme' Kommentare lassen!? Wie z.B. der von Grml! Ich versuche es zu verstehen und wollte es ja auch erklärt haben, nur das Ich hab mal nachgeguckt, was Interrupt heißt (kurze Unterbrechung um kurze Sachen zu machen), aber was sagt mir dieser Anschluss mir über das Modul? Heißst, dass, wenn der Anschluss gerade auf (active LOW) LOW ist, dass dann gerade ein Interrupt ist und dass das Modul gerade keine 'Befehle' aufnehmen kann?
Hab was veressen wegzumachen, also nochmal richtig: Könnt ihr mal 'dumme' Kommentare lassen!? Wie z.B. der von Grml! Ich versuche es zu verstehen und wollte es ja auch erklärt haben, nur das wollt ihr ja nicht! Ich hab mal nachgeguckt, was Interrupt heißt (kurze Unterbrechung um kurz etwas zu machen), aber was sagt mir dieser Anschluss mir über das Modul? Heißst, dass, wenn der Anschluss gerade auf (active LOW) LOW ist, dass dann gerade ein Interrupt ist und dass das Modul gerade keine 'Befehle' aufnehmen kann?
"Gib dich nicht auf, lern richtig Entwicklen." Eben, das ist halt das Problem am Arduino. Gibts für irgendwas keine Library sind die Leute am Ende. Klar, mann kann schnelle Erfolge erziehlen (z.b. den LED Cube...wobei ich bezweifel, dass Ich m. den Code selbst geschrieben hat...) aber man stößt halt auch schnell an die Grenzen. Und wenn man dann ohne Library da steht kann man auch gleich C oder ASM nehmen....
"Dumme Kommentare"? Hast du "schlaule" mal in dein verlinktes Datenblatt geguckt? Da steht genau was wann IRQ warum macht: > IRQ Digital Output Maskable interrupt pin, Active low > After transmission, if the PTX packet has the NO_ACK flag set, RFM70 sets > TX_DS and gives an active low interrupt IRQ to MCU. If the PTX is ACK > packet, the PTX needs receive ACK from the PRX and then asserts the TX_DS > IRQ. > The receiver automatically validates and disassembles received packet, if > there is a valid packet within the new payload, it will write the payload > into RX FIFO, set RX_DR and give an active low interrupt IRQ to MCU. > In RFM70 there is an active low interrupt (IRQ) pin, which is activated > when TX_DS IRQ, RX_DR IRQ or MAX_RT IRQ are set high by the state machine > in the STATUS register. The IRQ pin resets when MCU writes > '1' to the IRQ source bit in the STATUS > register. Und du wagst es MICH oder meine Kommentare als dumm zu bezeichnen? Junge, wenn du keine Datenblätter auf Englisch lesen kannst, dann lern das erstmal. Dies ist notwendig und zwar absolut. Da führt kein Weg dran vorbei.
Ich m. schrieb: > Heißst, dass, wenn der Anschluss gerade auf (active LOW) LOW ist, > dass dann gerade ein Interrupt ist und dass das Modul gerade keine > 'Befehle' aufnehmen kann? Nein. Das heißt, daß gerade etwas passiert ist und das Modul dies dem µC mitteilen will, dieser also schleunigst per SPI mal den Status abfragen soll, um herauszufinden, was jetzt passiert ist.
@Grml: Ich bezeichne dich nicht als dumm. Ansonsten trotztdem auch danke für deine zweite Antwort, denn die war hilfreich (genau wie die von rufus)! Noch eine Frage (hab ich im Datenblatt nicht gefunden): Welchen SPI-Modus muss ich wählen?
Schau mal in den Wikipedia Artikel über SPI. Da sind die Modi aufgeführt. Dann schaust du in die timing Diagramme in dem Datenblatt des RFM70. Und schon weißt du bescheid.
> Noch eine Frage (hab ich im Datenblatt nicht gefunden): > Welchen SPI-Modus muss ich wählen? Im Datenplatt vom RFM70 Kapitel 6.3 'SPI Interface', im Speziellen 6.3.1 'SPI Command' und 6.3.2 'SPI Timing'. HTH
(offtopic an) Es gab mal eine Zeit, da beschäftigten sich nur diejenigen mit bestimmten Themen, die sich dafür auch ernsthaft interessierten und in denen eine gesunde Neugier steckte und auch der Antrieb, selbst etwas darüber herauszufinden und dabei zu lernen. Lange ist´s her... (offtopic aus)
(ot-FUP) Das ist heute auch nicht anders, nur ist die Aufmerksamkeitsspanne und das Wissen ob der Möglichkeiten zur Informationsbeschaffung stark geschrumpft. (/ot-FUP)
An alle, die es noch nicht wahrgenommen haben: Ich interressiere mich dafür, sonst würde ich hier ja nicht frage, wie das funktioniert!
Ich m. schrieb: > Ich interressiere mich dafür OK. Ich m. schrieb: > sonst würde ich hier ja nicht frage, wie > das funktioniert! Naja. Eigentlich funktioniert das anders. Ein Arduino besteht aus einem Controller, ein paar nützlichen Bauteilen und etwas Hühnerfutter. Das erste, was es zu ergründen gilt, ist der Controller. Auf diesem aufgedruckt ist eine Nummer. Diese, im Internet eingegeben, führt nach sehr kurzer Zeit zum Hersteller. Der Hersteller vergibt kostenfrei Datenblätter und Programmiersoftware. Lediglich den Programmer muss man kaufen (die des Herstellers sind empfohlen) oder bauen (eher was für Fortgeschrittene). Neben der Programmiersoftware gibt es auch kostenfreie Compiler, wenn man in Hochsprachen programmieren möchte. Dazu gibt es hunderte Foren, in denen man lesen und die Zusammenhänge ergründen kann. Man kann aber auch eine fertige Kiste auf den Tisch stellen, den Rechner anknipsen und ohne besondere Vorkenntnisse wild drauflosfragen. Nur: Das kommt bei den Communities (aus gutem Grund) nicht so gut an. http://www.mikrocontroller.net/articles/Netiquette
Kann mal irgendwer sagen, wie das ablaufen muss? Also was ich zuerst sende/umschalte? Ich propiere schon die ganze Zeit aus, aber es funtzt nicht! :(
Ich m. schrieb: > Kann mal irgendwer sagen, wie das ablaufen muss? > Also was ich zuerst sende/umschalte? > Ich propiere schon die ganze Zeit aus, aber es funtzt nicht! :( Steht alles im Datenblatt. Wenn du dort eine Stelle nicht verstehst, poste sie und frag nach.
> Kann mal irgendwer sagen, wie das ablaufen muss? > Also was ich zuerst sende/umschalte? Datenplatt vom RFM70, grob die Kapitel 4 'State Control' und 5 'Packet Processing', zweckmäßigerweise auch 6 'Data and Control Interface'. HTH
Wie soll man diese Bilder mit den Pfeilen drin verstehne? Passiert nur dann was, wenn das was am Pfeil steht erfüllt wird?
> Passiert nur dann was, wenn das was am Pfeil steht erfüllt wird?
Ja.
Da steht über all TX FIFO und RX FIFO. Aber was heißt FIFO?
Und welches dieser zwei Bilder soll ich nehmen? Unter denen steht PRIM_RX. Einmal mit '=0' und einmal mit '=1' hintendran! Und Wozu gibt es PRIM_RX und das RX und PRIM_?
Das eine zeigt das Senden das andere den Empfang. Was welches ist darfst du selbst rausfinden.
Ich bin mir gerade nicht sicher, ob ich richtig da dran gehe. Also: Wie gehe ich am besten dran? Was sollte ich als erstes tun?
Ich m. schrieb: > Ich bin mir gerade nicht sicher, ob ich richtig da dran gehe. Also: > Wie gehe ich am besten dran? Was sollte ich als erstes tun? Datenblatt lesen und versuchen zu verstehen wie das Ding angesteuert werden will. Lesen und Verstehen. Eventuell ist dir diese herangehensweise neu aber so läuft das für gewöhnlich. Erstmal läuft da fast alles über SPI, weißt du wirklich was SPI ist? Dann stehen da Kommandos, die man per SPI sendet. Es steht für jedes Kommando was es tut und welche Bits in den Parametern der Kommandos was bewirken. Eventuell musst du dich auch mal fragen, ob dein bisheriges Wissen und deine Erfahrung ausreichen um das RFM70 anzusteuern? Vielleicht verschiebst du das ein wenig bis du allgemein etwas erfahrener bist.
Weißt du was ein Register ist? Weißt du dass einzelne Bits in so einem Register spezielle Funktionen und Namen haben? (PRIM_RX z.B.). Im Datenblatt steht was diese Bits bewirken. Im Datenblatt steht wie man die Register schreibt und liest Im Datenblatt steht welche Register es gibt und welche Bits welchen Namen haben.
Gut dass du das so sagst. Deswegen eine Frage: Was sind Register? Im Datenblatt stehen zwei Register Bänke drinnen mit einer entsprechenden Adresse. Heißt das, dass das wie ein Speicherblock ist, wo für mein Sende-/Empfangmodul die Frequenz und die Daten, die ich senden/empfangen will, gespeichert sind?
Register sind Speicherbereiche über die das Modul konfiguriert wird. Also keine Daten die du senden willst sondern Einstellungen fürs Modul. Diese Einstellungen müssen zu Beginn erstmal durchgeführt werden, dazu gehört eben auch das Einschalten der benötigten Dinge z.B. den Sender. In der Register Map stehen alle Register, und für jeden Register stehen drunter eine Reihe von Bits. Im Datenblatt weiter oben sollte zu jedem Bit was schlaues stehen.
Und wie setze ich jetzt bestimmte Register? Wie muss ich das senden, dass es erstens an die richtige Adresse geht und zweitens, dass die Bits dort auch ankommen?
Was hast du denn bisher so gemacht? Du kannst doch nicht von 0 auf 100 sowas anfangen. Mit Registern kommt man schon in Kontakt wenn man nur ein paar I2C Bausteine ansteuern will. Dort lernt man auch gleich wie Bits seriell übertragen werden und weiß dann gleich wie SPI im Grunde funktioniert. Was waren denn bisherigen Projekte welche du ohne vorgefertigt Libs realisiert hast?
Ich m. schrieb: > Und wie setze ich jetzt bestimmte Register? Wie muss ich das senden, > dass es erstens an die richtige Adresse geht und zweitens, dass die Bits > dort auch ankommen? Sorry ich bin raus, guck ins Datenblatt. Wie oft noch? Das bringt so nix. Nimm dir die Tipps zu Herzen und probier was einfacheres.
1.) Bewegtes 3D Muster in 3x3x3 LED-Würfel 2.) keine Ahnung (hab aber noch was gemacht) 3.) Das was ich bisher gemacht habe, hatte ich in weniger als einer Stunde fertig. Das war also langweilig. Deshalb wollte ich mal was machen, was ich nicht in einer Stunde fertig hab UND, es sollte mal was sein, was nützlich ist!
Ich m. schrieb: > einen selbstgemachtn 3x3x3 LED Würfel! > Von der Programmierung hab ich es > schon geschafft, den Arduino mit dem EthernetShield als WebServer und > als WebClient laufen zu lassen! > Den 3x3x3 LED Würfel hab ich auch mit > meinem Programmierten Muster zum Leuchten gebracht! > Keine Ahnung was ein Interrupt ist. Keine weiteren Fragen. Du hast nicht nur keine Ahnung du lügst auch noch dreist. Das passt absolut nicht zusammen, die angesprochenen Dinge sind nicht ohne, und mit deinem Wissen absolut nicht zu machen. > Das was ich bisher gemacht habe, hatte ich in weniger als einer > Stunde fertig. Glaub ich dir sofort. Es wird immer lustiger. gruß cyblord
Ich hab net gelogen. Siehe Bild! Hab grad nur net angeschlossen!
Oh ich glaube dir schon dass du diese Würfel hast, nur hat die Software dafür jemand anders geschrieben, jemand der weiß was ein Interrupt ist. gruß cyblord
Und des, dass ich net wusste was ein Interrput ist, des ist, weil ich mich mit Datenübertragung und demZeugs noch nie beschfäftigt habe!
Tu dir den Gefallen und lern ASM, da wirst du gezwungen zu verstehen was du machst.
1 | boolean myCube[4][3][3][3] = { |
2 | {
|
3 | {
|
4 | {0, 0, 0}, |
5 | {1, 1, 1}, |
6 | {0, 0, 0} |
7 | },
|
8 | |
9 | {
|
10 | {0, 0, 0}, |
11 | {1, 1, 1}, |
12 | {0, 0, 0} |
13 | },
|
14 | |
15 | {
|
16 | {0, 0, 0}, |
17 | {1, 1, 1}, |
18 | {0, 0, 0} |
19 | }
|
20 | },
|
21 | |
22 | {
|
23 | {
|
24 | {1, 0, 0}, |
25 | {0, 1, 0}, |
26 | {0, 0, 1} |
27 | },
|
28 | |
29 | {
|
30 | {1, 0, 0}, |
31 | {0, 1, 0}, |
32 | {0, 0, 1} |
33 | },
|
34 | |
35 | {
|
36 | {1, 0, 0}, |
37 | {0, 1, 0}, |
38 | {0, 0, 1} |
39 | }
|
40 | },
|
41 | |
42 | {
|
43 | {
|
44 | {0, 1, 0}, |
45 | {0, 1, 0}, |
46 | {0, 1, 0} |
47 | },
|
48 | |
49 | {
|
50 | {0, 1, 0}, |
51 | {0, 1, 0}, |
52 | {0, 1, 0} |
53 | },
|
54 | |
55 | {
|
56 | {0, 1, 0}, |
57 | {0, 1, 0}, |
58 | {0, 1, 0} |
59 | }
|
60 | },
|
61 | |
62 | {
|
63 | {
|
64 | {0, 0, 1}, |
65 | {0, 1, 0}, |
66 | {1, 0, 0} |
67 | },
|
68 | |
69 | {
|
70 | {0, 0, 1}, |
71 | {0, 1, 0}, |
72 | {1, 0, 0} |
73 | },
|
74 | |
75 | {
|
76 | {0, 0, 1}, |
77 | {0, 1, 0}, |
78 | {1, 0, 0} |
79 | }
|
80 | }
|
81 | };
|
82 | |
83 | void setup () { |
84 | for (int i=0; i<12; i++) { |
85 | pinMode (i, OUTPUT); |
86 | |
87 | if (i < 9) |
88 | digitalWrite (i, LOW); |
89 | else
|
90 | digitalWrite (i, HIGH); |
91 | }
|
92 | |
93 | /*
|
94 | for (int x=0; x<3; x++) {
|
95 | for (int y=0; y<3; y++) {
|
96 | for (int z=0; z<3; z++) {
|
97 | myCube[x][y][z] = 0;
|
98 | }
|
99 | }
|
100 | }
|
101 | /**/
|
102 | }
|
103 | |
104 | void loop () { |
105 | for (int c=0; c<4; c++) { |
106 | for (int a=0; a<10; a++) { |
107 | for (int i=0; i<3; i++) { |
108 | digitalWrite (i+9, LOW); |
109 | |
110 | int myCounter = 0; |
111 | for (int j=0; j<3; j++) { |
112 | for (int k=0; k<3; k++) { |
113 | digitalWrite (myCounter, myCube[c][i][j][k]); |
114 | myCounter++; |
115 | }
|
116 | }
|
117 | delay (8); |
118 | |
119 | digitalWrite (i+9, HIGH); |
120 | }
|
121 | }
|
122 | }
|
123 | }
|
Die Software ist von mir! Ich kann das, was man da sieht! Ich programmiere ausserdem auch in PHP und C++!
das reicht aber nicht. Nimm mal den Delay da raus und mach es mit Timer. Dann weisst du auch was ein Interrupt ist.
Ja. Ich hab ja auch schon nachgeguckt was das ist, aber könnt ihr mal auf das Antworten, was ich Frage?
Wenn ich einen Register beschreiben möchte, wann muss ich dann was senden? Ich habe die Adresse und die Daten, aber wie soll ich diese kombinieren? Und jetzt nochmal: Antworten! Nicht Fragen!
dir fehlen einfach Grundlagen. Die muss man erst lernen. Man programmiert eben nicht mal eben sowas in einer Stunde. Oder du suchst dir was fertiges im Netz.
Nein suche ich nicht! Und liest du das, was ich vorher alles eschrieben habe? Da hab ich geschrieben, dass ich für einen 3x3x3 LED-Würfel programmieren weniger als 1 Stunde brauche und dass ich mal was machen wollte, was man nicht mal so in einer Stunde macht!
Welche Grundlagen fehlen mir? Wenn du sagst welche, dann kann ich es mir nochmal angucken!
Wenn ich das gerade richtig gelesen habe, dann muss ich zuerst ein CommandByte senden und dann ein Byte mit meinen Daten. Ist das so richtig?
wurde schon genannt: Interrupt, FIFO, SPI, Assembler, Timer, Datenblatt lesen ich bin auch raus ...
Du suchst keine Hilfe du suchst Arbeitssklaven. Kannst dich wieder melden wenn du den Unterschied begriffen hast.
Das stimmt nicht! Ich suche Hilfe! Ich frag was und bekomm keine Antwort! Und das in einem Forum, das so gemacht ist, dass man was fragt und die anderen Antworten und keine schlauen Sprüche hinlegen!
Es stimmt zwar dass ich die Grundlagen lernen soll. Die kann ich auch jetzt schon ein bisschen, das ist aber trotztdem kein Grund dumme Kommentare abzugeben!
@Ich m. (ich_m) Ich lese hier schon eine Weile im Stillen mit und muss, ehrlich gesagt, alle für ihre Geduld und Nerven bewundern die Dir (überhaupt noch) zu antworten. Ich möchte Dir dringend bitten Deinen Ton zu mäßigen und die wohlgemeinten Ratschläge der Anderen zu beherzigen und ggf. auch zu würdigen. Auch hier vom mir noch einmal die beiden wichtigsten Artikel hier für Deine Probleme und Fragen: http://www.mikrocontroller.net/articles/Netiquette http://www.mikrocontroller.net/articles/AVR-Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Trotz allem, viel Erfolg.
Was stimmt eigentlich mit dem Link von Tom nicht? http://kner.at/home/news.avr.rfm70.html Da steht doch alles drinn sogar "Arduino Code". Wobei das einfach nur C ist und man sich schon fragt wozu dann Arduino includes müssen nur damits ein Arduino irgendwas shield ist..., aber egal ich schweife ab.
Hab ich diese Seite auch schon gefunden und den Code ausprobiert! Hab gedacht der Code funtzt net, weil void setup () und void loop () fehlen! Ich hab ihn aber dann angepasst, weil es ein haufen CompilerFehler gab, aber es hat trotzdem nicht funktioniert!
Ich m. schrieb: > Hab ich diese Seite auch schon gefunden und den Code ausprobiert! Hab > gedacht der Code funtzt net, weil void setup () und void loop () fehlen! > Ich hab ihn aber dann angepasst, weil es ein haufen CompilerFehler gab, > aber es hat trotzdem nicht funktioniert! Das mag jetzt abwegig klingen, aber hast du mal versucht den Code zu lesen und zu verstehen was er tut? Und warum er was tut? Am besten mit dem Datenblatt nebendran?
Das Code so 1:1 funktioniert ist auch eher die Ausnahme. Aber man kann daran schön deine "Arbeitsweise" sehen. Kopieren, geht nicht, heulen. Vielleicht wäre es sinnvoller den Code aus dem Link Stück für Stück durchzugehen, sich genau zu überlegen was gerade warum gemacht wird und parallel dazu das ganze mit dem Datenplatt des RFM70 zu vergleichen? Das dauert natürlich ein bisschen. Aber du hast ja gesagt, dass es nicht, wie sonst bei dir üblich, in einer Stunde fertig sein muss. Also lass dir ruhig Zeit.
Versucht ja, zumindest in der mainDatei, also nicht in der LIB, denn die LIB hab ich fast garnet verstanden. Außerdem ist der Code auch ein bisschen alt!
Ich m. schrieb: > Versucht ja, zumindest in der mainDatei, also nicht in der LIB, denn die > LIB hab ich fast garnet verstanden. Außerdem ist der Code auch ein > bisschen alt! Du bist ein hoffnungsloser Fall, tut mir leid das so sagen zu müssen. Dir fehlt einfach die Vorstellung was "verstehen" heist und wie man es erlangt. Eventuell bist du auch einfach nur zu jung dafür.
Vielleicht bin ich zu jung, aber ich gebe nicht auf und versuche weiter. Dann halt ohne Hilfe anderer!
Ich hab grad ein Tutorial gefunden (http://tronixstuff.wordpress.com/2011/05/13/tutorial-arduino-and-the-spi-bus/). Vielleicht hilft des mir weiter!
Du sollst ja auch nicht aufgeben. Versuche zu verstehen was der Code in dem Link tut, was der Arduino tut und das RFM70 erwartet.
Als Anfänger innerhalb einer Stunde Code zu schreiben, bei dem Boolesche und Integer-Datentypen (und sogar noch an den passenden Stellen) verwendet werden, zeugt doch von einer gewissen Lernbereitschaft. Auch englische Variablennamen (trotz eingeschränkter Englischkenntnisse), eine schöne Codeformatierung zur besseren Lesbarkeit und die Fähigkeit, Kommentarblöcke zu benutzen, kann sich sehen lassen. Deine Fragen kannst du dir sicher in wenigen Minuten selber beantworten. Also weiterlesen, lesen, lesen, lesen ... Und nicht aufgeben!
Ich hab grad noch ne LIB gefunden, die mir auf anhieb ertsmal keine CompilerFehler ausspuckt. Ich guck mir jetzt mal an, wie diese LIB aufgebaut ist und wie sie funktioniert! Diese hat dazu noch drei 'schwierigkeitsstufen': 'Beginner', 'Advanced', 'Expert'! Ich versuch mich mal durch den 'Beginner'-Teil durchzukämpfen! Link zur LIB: http://code.google.com/p/odobot1/source/browse/libraries/rfm70/
Mit dieser LIB kommt auf jeden Fall schon was auf der anderen Seite an! Ich probiere weiter, dass es genauso rauskommt, wie ich es möchte, aber es kommt was an, wenn ich den Befehl 'senden' sage! Wenn des funtzt, versuche ich die LIB zu verstehen!
Habs geschafft (mit den BeginnerFunktionen)! Jetzt guck ich, wie des funktioniert!
Ich hasse das... ich wünschte mir mehr understatement und Demut. Hoppla hier komm ich und wer's nicht weiß ich bin ganz toll das ist der Trend. Ich hatte beim lesen des threads großes Mitgefühl mit dem TO und mir vorgenommen irgendwie weiter zu helfen. In der 7. Klasse kann man nicht viel wissen das ist zwangsläufig so. Die Erkenntnis, daß man aber eben fast nichts weiß in der 7. Klasse sollte man aber auch haben. Was ist denn so schlimm daran, sich und anderen einzugestehen, daß man eben ganz ganz am Anfang ist und irgendwie gar keine Ahnung hat, was da im Arduino überhaupt passiert? Dies Gepolter und vor allem 'net'=='nicht' Slang hat mir die Lust verdorben. Die innere Haltung mit steigendem Wissen zu erfahren, daß man immer zu wenig weiß geht den Bach runter.
Dazu 2 Gedanken: Ich weiß das ich nichts weis (Sokrates) und Cynismus, manchmal die einzigmöglische Lebenshaltung in der modernen Geselschaft (Unbekannt) Der thread war extem hilfreich, ein große Lob an dieses Forum und seine Benutzer, und amüsant. PS: Ich bin in der 6.Klasse und "Die innere Haltung mit steigendem Wissen zu erfahren, daß man immer zu wenig weiß geht den Bach runter." leider kann ich diesen Satz nur bestätigen obwohl er doch nur logisch ist in Anbetracht der Tatsache das sich der mensch nicht einmal die Anzahl der werte die zwischen 1 und 2 liegen vorstellen kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.