Servo Programm

Gast #2334431
Lesenswert?

Im Programm des 2. Links steht oben das der Servo an einem beliebigen 
Pin an Port B angeschlossen wird. Im Programm selbst steht aber bei 
"servoPuls": out PortD, r16
Müsste dann nicht out PortB stehen?
und steht r16 für Pin 16?
Danke im Voraus
#2335431
Lesenswert?

Bionade schrieb:
> Im Programm des 2. Links steht oben das der Servo an einem beliebigen
> Pin an Port B angeschlossen wird. Im Programm selbst steht aber bei
> "servoPuls": out PortD, r16
> Müsste dann nicht out PortB stehen?

Richtig.
Tatsächlich ist es aber ein Tippfehler im beschreibenden Text. Um das 
Programm von Port D auf Port B umzustellen, müssen auch noch andere 
Dinge angepasst werden (zb die DDRx Register-Bezeichnung)

> und steht r16 für Pin 16?

Nein. Das steht für Register r16. Zurück an den Anfang und das Assembler 
Tutorial von vorne durchmachen.
#2335461
Lesenswert?

Bionade schrieb:
> ok, also da ich nur einen PIC 16F84 hab und mir nur PortA bzw. PortB zur
> Vervügung stehen, muss ich eigentlich nur statt PortD, PortB schreiben
> bzw. DDRB. Ansonsten bleibt alles gleich, richtig?


Falsch,
Ein PIC ist ein völlig anderer Prozessor. Der funktioniert anders, hat 
andere Befehle, andere On-Board Hardware mit anderen 
Konfigurationsregistern und die Bits in den Konfigurationsregistern 
heißen auch anders und bedeuten etwas völlig anderes.

Kurz und gut: Mit dem Programm kannst du so erst mal nur eines anfangen: 
Du kannst dir ansehen, wei das in AVR Assembler in diesem Beispiel 
gemacht wurde (und ich muss zugeben, dass dieses Beispiel nicht wirklich 
das gelbe vom Ei ist, wird Zeit dass ich die restlichen noch 
ausstehenden Fälle ergänze) und dann das Programm mühsam nach PIC 
übertragen. Ist aber nicht sehr sinnvoll. Denn was das Ziel ist, kannst 
du auch hier nachlesen
Modellbauservo Ansteuerung
und eine Warteschleife, die eine bestimmte definierte Zeitdauer 
abwartet, solltest du in Assembler schon alleine hinkriegen. Selbst wenn 
das im Endeffekt nicht die Methode ist, die man beim Roboterbau benutzen 
wird.
Gast #2335467
Lesenswert?

Tut mir leid aber was soll bitte der Unterschied von AVR Assembler und 
PIC sein?...das eine ist doch das Programm für das andere oder vertreh 
ich jetzt was?
Denn irgendwie muss ich doch den Servo mittels PIC steuern können und 
nicht nur durch einen Empfänger?
#2335477
Lesenswert?

Tut mir leid, aber was soll jetzt der Unterschied ziwschen Englisch und 
Kisuaheli sein. Beides sind doch Sprachen mit denen sich Menschen 
verständigen können. Warum versteh mich der Buschmann nicht, wenn ich 
Englisch mit ihm spreche?

Weil  Kisuaheli eben nicht gleich Englisch ist!

Weil PIC eben nicht gleich AVR ist!
Wenn du einen PIC programmieren willst, dann musst du schon in seiner 
Sprache mit ihm sprechen.

http://www.sprut.de/electronic/pic/index.htm
Gast #2336439
Lesenswert?

Hi

>Schon klar aber dann sind es immer noch die selben Sprachen.
>Man könnte es höchstens mit Dialekten Vergleichen.
>Wenn man weiß wovon man spricht!

Aber nur, wenn man es weiß. Welche Prozessoren/Controller hast du schon 
in Assembler programmiert, das du das beurteilen kannst?

MfG Spess
#2336487
Lesenswert?

Bionade schrieb:
> Schon klar aber dann sind es immer noch die selben Sprachen.

Der Vergleich geht ja auch eher so

PIC          <==>   Amerikaner, der Englisch spricht
AVR          <==>   Buschmann, der Kisuaheli spricht


> Man könnte es höchstens mit Dialekten Vergleichen.

Nö, kann man nicht.

Beide Sprachen, Englisch und Kisuaheli werden durch Laute gebildet. Da 
ist also die Gemeinsamkeit. Genauso wie beide "Assembler-Dialekte" als 
einzige Gemeinsamkeit die Verwendung von Buchstaben aus dem lateinischen 
Alphabet haben.
Wenn dir das genügt um von Dialekten zu sprechen, meinetwegen

Aber du wirst es schwer haben, mir Englisch und Kisuaheli als 2 Dialekte 
derselben Sprache zu verkaufen.

> Wenn man weiß wovon man spricht!

Du sagst es: Wenn man weiß wovon man spricht.
Gast #2337860
Lesenswert?

Solche Vergleiche haben eigentlich keinen großen Nutzen, aber da wir ja 
alle zusammen so schön darauf herumreiten  probier ich's mal ;-)
C wäre dann so eine Art globale Sprache, die vom jeweiligen Assambler in 
den Assembler-Code für den entsprechenden Controller übersetzt werden 
kann.
Die Namen/Adressen der Register, Ports usw. im jeweiligen Controller 
muss man trotzdem wissen, hierfür legt man sich dann in C einprägsame 
Namen an, so Ähnlich wie Städtenamen, damit man nicht immer in 
Koordinaten beschreiben muss wohin man in Urlaub fährt ;-)

Gruß
Jürgen
#2337884
Lesenswert?

> Man könnte es höchstens mit Dialekten Vergleichen.


Dialekte in Zusammenhang mit Assembler könntest du mit Vorsicht anwenden 
bei gleichartigen Prozessor-Familien. So gibt es (sowohl in der PIC als 
auch in der AVR-"Welt") verschieden gut und umfangreich ausgestattete 
Controller, z.B. welche mit mehr oder weniger Speicher, mehr oder 
weniger Schnitttsellenvarianten etc.
Gast #2337945
Lesenswert?

Da man bei PWM aber hauptsächlich die Hardware benutzt die in den µC 
eingebaut ist (und diese komplett anders ist) macht es wenig bis 
überhaupt keinen sinn soetwas zu tun (eine konvertierung). Einen 
Algorythmus von einer architektur zur anderen zu portieren macht mehr 
Sinn und zwar am meißten wenn man eine Hochsprache wie C,Pascal usw. 
verwendet und standartlibrarys verwendet bzw. units. Auch schon die 
unterschiedliche Prozessorarchitektur kann große probleme bereiten (z.B. 
bedingte Ausführung von Befehlen im eigentlichen Opcode, unterschieliche 
adressierungsarten und Datenpfade wie Harvard und von Neuman 
Architektur. (Bring mal sich zur Laufzeit verändernden Code auf ner 
Harvard Maschine zum laufen !). Das soll aber nicht heißen das es nicht 
geht, der resultierende Code ist halt suboptimal ( oder auch Sch..e 
genannt) Jedesmal wenn der Code sich ändert den entsprechenden Block im 
Flash Erasen und neu Flashen. Oder die Adressierungsart als 
Unterprogramm implementieren. Wenn dann auch noch Architektur 
spezifische Hardware wie FFT Beschleuniger oder ein Programmierbarer 
Interuptcontroller benutzt werden ist es einfacher die Architektur zu 
wechseln. Oder hast du ne Idee wie man die Interuptpriorität verändert 
wenn sie festgelegt ist und man eine andere Reihenfolge braucht um die 
Korreckte Funktion zu erhalten.
Kurz und knapp Mikrocontroller ist auch nicht gleich CPU. Eine CPU zu 
wechseln wenn der Code in einer Hochsprache geschrieben ist kann gut 
klappen. Das ganze System mit perepherie zu wechseln heißt das man 
trotzdem den Code umschreiben muß (und zwar erheblich).
#2337995
Lesenswert?

Bionade schrieb:
> Juergen schrieb:
>> Solche Vergleiche haben eigentlich keinen großen Nutzen
>
> Das stimmt wohl...aber "Karl Heinz Buchegger" glaubt ja scheinbar alles
> besser zu wissen.

Na ja.
Um dich zu übertrumpfen reicht es alle mal.

Der Vergleich war eigentlich dazu gedacht, dir klar zu machen, dass 
Assembler eben nicht gleich Assembler ist. So wie es verschiedene 
gesprochene Sprachen gibt, die unterschiedlich funktionieren, so gibt es 
auch unterschiedliche Assembler Sprachen. Nämlich für jede 
Prozessorfamilie eine eigene. Die ist nicht genormt oder sonst irgendwie 
festgelegt, sondern der Hersteller des µC denkt sich da aus was ihm 
gefällt und was sich durch die Architektur des µC aufdrängt.
#2338009
Lesenswert?

Bionade schrieb:
> Karl Heinz Buchegger schrieb:
>> Um dich zu übertrumpfen reicht es alle mal.
> 1. Das kann gut sein, da du wahrscheinlich um einiges älter als ich
> bist.

Da kannst du einen drauf lassen

> 2. wirklich weiterhelfen konntest oder wolltest du mir trotzdem nicht.

In dem Punkt hast du recht.
Und ich sag dir auch warum: Weil ich von PIC nichts verstehe. Ich kann 
dir in 3 Minuten auf einem AVR eine Servoansteuerung bauen, aber von PIC 
habe ich keine Ahnung.

Mein 'Schieben', dass du doch bitte aufhören sollst AVR und PIC als 
dasselbe anzusehen und dich im PIC Lager erkundigen und nach Beispielen 
suchen musst, hast du als persönlichen Angriff aufgefasst. Du wolltest 
ganz einfach nicht wahrhaben, dass das verschiedene Prozessoren sind, 
und du ausser der Idee einer Servoansteuerung aus den AVR Beispielen 
nichts mitnehmen kannst.

Aber so sehr du auch mit dem Fuss aufstampfst und "ich will" schreist, 
das lässt deinen µC unbeeindruckt.

Siehe zb das 8. Posting von oben (ich kann von hier aus leider keinen 
Link setzen)

> 3. In diesem Beispiel hast du dir eher ein Eigentor geschossen.

Danke für den Lacher.
Gast #2338025
Lesenswert?

Karl Heinz Buchegger schrieb:
> Weil ich von PIC nichts verstehe

Ok es kam eben für mich so rüber als ob du davon Ahnung hättest und mir 
nicht weiterhelfen wolltest.

Karl Heinz Buchegger schrieb:
> Du wolltest
> ganz einfach nicht wahrhaben, dass das verschiedene Prozessoren sind

Doch du hast dich nur etwas undeutlich ausgedrückt, sodass es bei mir zu 
Verwirrung kam.

steffen schrieb:
> TROLLololllooo lololooo lolloloooo TROLL

ich will nicht "rum trollen", ich wollt nur eine nützliche Antwort, 
welche ich mitlerweile nach 10000 unnützlichen Komentare hier, in einem 
anderem Beitrag bekommen hab, da die meisten hier scheinbar nur auf 
Diskussionen aus sind

Karl Heinz Buchegger schrieb:
> Danke für den Lacher.

Ich hab nicht so einen lächerlichen Kuhmist wie du hier mit den 
Vergleichen geschrieben ;)
Gast #2338178
Lesenswert?

Bionade schrieb:
> ich will nicht "rum trollen", ich wollt nur eine nützliche Antwort,
> welche ich mitlerweile nach 10000 unnützlichen Komentare hier, in einem
> anderem Beitrag bekommen hab, da die meisten hier scheinbar nur auf
> Diskussionen aus sind

Ja ne klar:

Bionade schrieb:
> Der Vergleich passt irgendwie garnicht. Da Pic keine Sprache sondern ein
> Hardwarekomponent ist, welcher in der Sprache Assembler beschrieben
> werden kann.

Bionade schrieb:
> Schon klar aber dann sind es immer noch die selben Sprachen.
> Man könnte es höchstens mit Dialekten Vergleichen.
> Wenn man weiß wovon man spricht!



Große Worte für jemanden, der es angeblich nicht mal schafft, einen 
Servo zum laufen zu bekommen, geschweige denn weiß, dass Assembler 
verschiedener so unterschiedlicher Plattformen doch tatsächlich nicht 
kompatibel ist, meinst du nicht auch?
Troll.
Gast #2338325
Lesenswert?

Hi

>Ich hab nicht so einen lächerlichen Kuhmist wie du hier mit den
>Vergleichen geschrieben ;)

Nur zur Erinnerung: Das Ganze fing doch erst an, als du diesen Müll 
geschrieben hast:

>ok, also da ich nur einen PIC 16F84 hab und mir nur PortA bzw. PortB zur
>Vervügung stehen, muss ich eigentlich nur statt PortD, PortB schreiben
>bzw. DDRB. Ansonsten bleibt alles gleich, richtig?

MfG Spess
Gast #2338398
Lesenswert?

Karl Heinz Buchegger schrieb:
> Tut mir leid, aber was soll jetzt der Unterschied ziwschen Englisch und
> Kisuaheli sein. Beides sind doch Sprachen mit denen sich Menschen
> verständigen können. Warum versteh mich der Buschmann nicht, wenn ich
> Englisch mit ihm spreche?
>
> Weil  Kisuaheli eben nicht gleich Englisch ist!

Da fing es mit den Vergleichen an ;)
#2338435
Lesenswert?

Jungs lasst es gut sein.
Was von Bionade zu halten ist, hat er selber eindrucksvoll demonstriert 
und ändern wird er sich nicht.
Manche sind eben in ihrer Borniertheit lernresistent. Ich werd darüber 
hinwegkommen :-)
Kümmern wir uns lieber um Leute, die Hilfe auch annehmen.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.