tach... habe gerade maturavorbereitung und habe ein kleines problem bei nem beispiel... und zwar ist ein "urlaubswächter" mit mplab zu programmieren, welcher eben geräte zu bestimmten zeiten ein ausschaltet... die kommunikation soll mit einer präambel beginnen, danach soll die 6bit adresse des entsprechenden gerätes kommen und danach noch den parameter "ein" oder "aus"... habe etwas derartiges noch nie gemacht, und stehe ein wenig an, habe auch leider im netz und der ccsc-manuel nichts gefunden... hat jemand ne ahnung oder nen link? mfG Prose
Maurice Pros wrote: > tach... > > habe gerade maturavorbereitung und habe ein kleines problem bei nem > beispiel... > und zwar ist ein "urlaubswächter" mit mplab zu programmieren, welcher > eben geräte zu bestimmten zeiten ein ausschaltet... Also im Prinzip eine Uhr mit 'Weckfunktion', die zu einer bestimmten Zeit etwas ein bzw. aus schaltet. Ob das jetzt der Summer ist oder das Licht ist ja in erster Näherung mal egal. > die kommunikation Welche Kommunikation? Über RS232, USB, I2C, TWI, EIB, was völlig eigenes, ... > soll mit einer präambel beginnen, also ein einleitender 'Text', der auch einfach nur ein bestimmtes abgesprochenes Byte sein kann > danach soll die 6bit > adresse des entsprechenden gerätes kommen verpackt in ein 8bit Byte, das als nächstes ausgegeben wird. > und danach noch den parameter > "ein" oder "aus"... zb. 0x00 für aus und 0x01 für ein > habe etwas derartiges noch nie gemacht, und stehe ein wenig an, habe > auch leider im netz und der ccsc-manuel nichts gefunden... Na ja. Wie hast du dir das vorgestellt? Dass es in C eine Funktion gibt, die genau deine gewünschte Funktionalität abdeckt :-) Im Ernst, bei welchem Teil hast du konkret Schwierigkeiten * kriegst du eine Uhr alleine hin * Weist du nicht welche Schnittstelle du nehmen kannst? * Wenn du die Schnittstelle kennst, kannst du die ansprechen um damit Bytes zu übertragen. * Von welchem Prozessor reden wir eigentlich?
das wäre die einfachste möglichkeit etwas ein und auszuschalten
1 | #include pic.h
|
2 | TRISA = 1; |
3 | while(1) |
4 | {
|
5 | RA1 = 1; |
6 | RA1 = 0; |
7 | }
|
spass bei seite hier haste erstmal nen denkanstoss für ne uhr lässt das dann von nem interrupt jede sekunde aufrufen
1 | void uhr1 () |
2 | {
|
3 | _sekunde1++; // zähle Sekunden hoch... |
4 | if (_sekunde1 == 60) // ... bis 60 ... |
5 | {
|
6 | _sekunde1 = 0; // ... setze Sekunden auf 0 ... |
7 | _minute1++; //... zähle Minute hoch ... |
8 | if (_minute1 == 60) // ... bis 60 ... |
9 | {
|
10 | _minute1 = 0; // ... setze Minuten auf 0 ... |
11 | _stunde1++; // ... zählr Stunde hoch. |
12 | }
|
13 | }
|
14 | }
|
Karl heinz Buchegger wrote: > > Welche Kommunikation? > Über RS232, USB, I2C, TWI, EIB, was völlig eigenes, ... > RS232 > > also ein einleitender 'Text', der auch einfach nur ein bestimmtes > abgesprochenes Byte sein kann > verpackt in ein 8bit Byte, das als nächstes ausgegeben wird. > jap genau, habe ich bereits programmiert...
1 | pre = 0b00110011; // Präambel |
2 | adress = 0b000010; // Gerät 3 ausgewählt |
3 | value = 0b01; // Gerät eingeschalten |
4 | |
5 | temp0 = (adress << 2) | value; |
6 | temp1 = (temp0 << 8) | pre; |
> > > zb. 0x00 für aus und 0x01 für ein > den parameter ein/aus hab ich in ein zweites byte zusammen mit der adresse gepackt... > > > Na ja. Wie hast du dir das vorgestellt? Dass es in C eine > Funktion gibt, die genau deine gewünschte Funktionalität > abdeckt :-) > schön wärs gewesen ;) > > Im Ernst, bei welchem Teil hast du konkret Schwierigkeiten > * kriegst du eine Uhr alleine hin > * Weist du nicht welche Schnittstelle du nehmen kannst? > * Wenn du die Schnittstelle kennst, kannst du die ansprechen > um damit Bytes zu übertragen. > * Von welchem Prozessor reden wir eigentlich? > mit timer habe ich noch nie gearbeitet, muss mich mal ransetzten und kcuken wie's geht... prozessor ist übrigens 18f452... ach ja... uhrzeit wird über dcf77("funkuhr") beim start eingelesen, ist aber momentan eher nachrangig.... mfg
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.