pic programmierung

// SER877.C Serial echo 16F877/20MHz
#include <16f877.h>
#define MHZ 20
#use delay(clock=20000000) //20MHz, fuer delay()
#fuses hs,nowdt,put,noprotect
#use RS232(bits=8, baud=9600, xmit=PIN_C6, rcv=PIN_C7, Parity=n)

void main(void){
delay_ms(500);
puts("atrox 628 serial test - echo deamon");
while (1) {
putc(getc());
}
}

ich hab folgendes Problem mit den source hier, ich versteh ihn nicht
ich kann c und c++, aber ccs-c ist mir ein rätsel
das is ein prog für einen pic-chip, den ser877
aber ich hab keine ahnung was zb der befehl fuses und use bedeutet
bzw. was is der sinn des programms was bedeutet
#use RS232(bits=8, baud=9600, xmit=PIN_C6, rcv=PIN_C7, Parity=n)

und was macht
puts("atrox 628 serial test - echo deamon");
das puts einen string ausgibt is mir scho klar, aber hat der inhalt des strings nen bestimmten wert

putc(getc());
und rein logisch check ich den befehl nicht, put und dann get, was macht des für nen sinn?

ich müsst samstag drüber referieren halt über das prog was es macht und die befehle und hab kein plan wie, ich müsst das heut scho machen, wegen handout vorher herzeigen aber zur not gings auch morgen also ich bitte um hilfe

mfg euer sodawasser
 
Tsts ... na da werd' ich wohl 'ranmüssen ... ;D

> // SER877.C Serial echo 16F877/20MHz
Ist ein Programm für den PIC 16F788

> #include <16f877.h>
Includiert die Konstanten.- und Funktionsdefinitionen für den Chip.

> #define MHZ 20
Sagt dem Compiler, das ein Quarz mit der Frequenz 20 MHZ in der Schaltung benutzt wird.

> #use delay(clock=20000000) //20MHz, fuer delay()
Sagt der Delayfunktion, das ein Quarz mit der Frequenz 20 MHZ
benutzt wird

> #fuses hs,nowdt,put,noprotect
Fuses sind Sicherungen, die nach ihrer Programmiering meist
nur durch Generallöschung des Chips oder auch gar nicht zurückgesetzt werden können.
So sagt #fuses noprotect aus, dass der Chip nach der Programmierung
noch ausgelesen werden kann, Wenn ich dies verhindere, kann Keiner
mehr mein Machwerk auslesen und disassemblieren.

> #use RS232(bits=8, baud=9600, xmit=PIN_C6, rcv=PIN_C7, Parity=n)
Meine serielle Schnittstelle soll folgende Parameter bekommen:
1 Byte hat 8 Bit,
Übertragungsgeschwindigkeit ist 9600 Bits/Sekunde,
Gesendet wird über Pin 6 des Port's C
Empfangen wird über Pin7 Port C
Es wird kein Paritätsbit gesendet.

Na, dann wollen wir mal!

> void main(void){
Na, des ist die Hauptfunktion

> delay_ms(500);
500 Millisekunden warten

> puts("atrox 628 serial test - echo deamon");
Über dien Pin 6 des Port's C den Text ausgeben

> while (1) {
Na, das ist 'ne Endlosschleife

> putc(getc());
}
}
Solange wie Spannung am Chip anliegt wird er alles, was am Eingang
der seriellen Schnittstelle Port C Pin 7 ankommt
am Ausgang der seriellen Schnittstelle Port C Pin 6 sofort wieder
ausgeben.
Unser Projekt ist also 'n "Papagei"!

Ich hoffe ein Wenig Durchblick in die Sache gebracht zu haben.

Golgotha.
 
danke, die ur gute erklärung, das forum is genial
ein großes DANKE

woher hast du die infos? hast das gwusst oder nachgschaut? wenn ja wo? ich glaub mei lehrer wills a bissi detaillierter, aber jetzt check ich das prog wenigstens, danke
 
Sag mal, Häckse, in welcher Schule lernt man denn mit
17 Lenzen die Progammierung von Einchipprozessoren? 8o

danke, die ur gute erklärung, das forum is genial

Na, der "Laden" heisst hier nicht umsonst Hackerboard!
Und der Leithengst ist nicht zufällig ein throjanisches Pferd! :D

ein großes DANKE

Du wirst Dich 'dran gewöhnen müssen:
Im Habo wird geholfen ---

woher hast du die infos? hast das gwusst oder nachgschaut?

Na, ich esse die Teile jeden Morgen als Ersatz für Cornflakes
zum Frühstück!
Dies färbt natürlich ein klitzeklein Wenig ab. :D

ich glaub mei lehrer wills a bissi detaillierter ...
Dafür liest eine brutalgebildete Haeckse die Headerdatei
des Projekt's (#include <16f877.h>), denn dort steht nämlich drinne,
wie zum Bleistift der Befehl "#use ..." funzt.
Der ist nämlich 'n Makro.

Nichts zu danken!
Golgotha.

ps:
'ne richtige Häckse kann auch zwischen den Zeilen lesen ... :P
 
Zurück
Oben