PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] CCS-C Programm hilfe



sodawasser
30.09.2004, 18:54
Hallo alle miteinander erst mal! ich besuche eine htl für edv und organisation und hab ein riesen problem ich soll kommenden montag ein referat über ein programm halten also dieses erklären! unser lehrer hat aber davor noch nie so etwas mit uns durchgenommen und ich kenne mich daher nüsse aus! kann mir vielleicht jemand von euch helfen wäre ur nett! danke schon mal im vorraus!

hier der quellcode der zu erklären wäre:

// 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());
}
}

danke euer soderwasser

Fritzli
30.09.2004, 21:04
Hallo

Ok, ich versuch das mal Zeile für Zeile auseinaderzunehmen...
Infos zu PIC's (Was das ist, Detail, Interna) auf www.sprut.de
(ev. didaktisch nicht ganz sinnvoll :-)


#include <16f877.h>
= Header-File für den verwendeten Controllertyp einbinden (Hier PIC16F877)
#define MHZ 20
= wird hier irgendwie nirgends verwendet, also überflüssig
#use delay(clock=20000000) //20MHz, fuer delay()
= sagt dem Compiler, dass der PIC mit 20MHz getaktet wird (wird benötigt für delay_x() und RS232)
#fuses hs,nowdt,put,noprotect
= setzt ein paarHardware-Eigenschaften (siehe Sprut.de "Configuration")
#use RS232(bits=8, baud=9600, xmit=PIN_C6, rcv=PIN_C7, Parity=n)
= sgat dem Compiler, er soll den Code für eine RS232-Verbindung einbauen, die über Pins C6 und C7 läuft (dasführt im überigen dazu, dass die RS232-Hardware des PICs verwendet wird, also keine Software-Emulation)

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

main() wartet nach dem Einschalten des PICs erst mal 0.5s und sendet dann den String per RS232 raus (z.B. an einen PC mit Hyperterminal)
Danach Echo-Endlosschleife, die ein Zeichen empfängt und dieses gelich wieder ausgibt


Gruess
Felix

01.10.2004, 18:32
Danke dir damit hast du mir schon sehr viel geholfen