000
15.07.2004, 12:53 Uhr
Unwissende
...die wirklich Unwissende 8-)
|
Hallöchen allerseits,
zunächst einmal hoffe ich, dass ich im richtigen Forum bin, es geht nämlich um die Ansteuerung eines Microcontrollers mittels der Programmiersprache "C". Die Entwicklungsumgebung ist uvision [sprich: müüüüüüüü wischn] von Keil. Also, das ist der Code, der als Beispielprojekt bei der Entwicklungsumgebung bereits dabei war, den ich verweden möchte.Ich werde ihn zur Ansteuerung einer kleinen LED verwenden (ihr seht, bin erst am Anfang meiner Microcontroller-"Karriere"....)
C++: |
#include <reg552.h>
void main (void) { unsigned char i; while (1) { for (i=0x01; i<=0x80;i<<=1) /*bitshift*/ { P1=i; } } }
/*zur Erinnerung: 0x01: 0000 0001 0x80: 1000 0000 */
|
Im Header "reg552.h" befinden sich halt ein paar Definitionen, z.B. eben die Adresse von P1, also dem Port1 des Microcontrollers (übrigens ein 552er von Philips, wer hätte das gedacht...). Der Port1 hat *imDatenBlattNachSchau* 8 Pins, okay, das ist ja eigentlich auch logisch, weil in der for-Schleife mit 8-Bit-Zahlen gearbeitet wird, wo dann die Bits geshiftet werden (Hoffentlich versteht jemand meine wirren Gedanken ) Sodale, hab ich das jetzt richtig verstanden....?!?! Durch die for-Schleife wird jeder Pin vom Port1 auf HIGH gesetzt, d.h. man bräuchte an jedem Pin eine LED (und selbstverständlich einen Vorwiderstand, der U=5Volt beim Controller auf U=2V bei der Diode runterbringt, bei 20mA, *rechenrechen* 150Ohm) um das zu überprüfen? Habt ihr eine Idee, für was die While-Schleife gut sein könnte? (=Endlosschleife???), wieso macht man das net in einer endlichen Schleife etc.?
Bearbeitung von typecast: |
code Tags durch cpp Tags ersetzt
|
-- __________________________________ Unwissenheit ist vorläufig- Dummheit für immer Dieser Post wurde am 15.07.2004 um 14:14 Uhr von typecast editiert. |