Das geht wunderbar! Auch bei dir!
Gruß Dirk
P.S.: Wenn nicht, must du mehr Informationen geben. Was hast du gemacht? Was genau geht nicht? usw ....
Für jedes eigene RP6-Programm:
1. Ein neues Verzeichnis in RP6BASE_EXAMPLES erstellen
2. make_all.bat, make_clean.bat und makefile aus einem anderen Beispiel (z.B. aus Example_01_LEDs) ins neue Verzeichnis kopieren
3. Die LED-Blinkdemo mit Copy/Paste in eine Datei namens RP6BaseLEDTest.c (o.ä. Nme) einfügen und auch diese Datei in dein neues Verzeichnis kopieren.
4. makefile öffnen und die Zeile TARGET = ... so ändern:
TARGET = RP6BaseLEDTest
5. Jetzt kannst du mit dem programmers notepad die Datei RP6BaseLEDTest.c öffnen.
6. Mit Tools -> Make All kannst du sie kompilieren und die HEX-Datei dann mit dem RP6Loader in den RP6 befördern.
Gruß Dirk
das geht nicht Dirk -.- also bei mir nich
Das geht wunderbar! Auch bei dir!
Gruß Dirk
P.S.: Wenn nicht, must du mehr Informationen geben. Was hast du gemacht? Was genau geht nicht? usw ....
... am einfachsten alles weglassen, wo SDA und SCL drin vorkommt.was muss ich machen das ich nur den einen port high setze ?
Gruß Dirk
Dein Programm macht ja auch alles richtig, d.h. es setzt IT1 endlos lange und immer wieder auf High-Pegel.das ist ja das kommische ich habe nur port it1 definert und auch nur port it1 high gesetzt.
Und was ist daran kommisch? Oder was erwartest du?
Gruß Dirk
Dass SL5 blinkt ist glaub ich normal, das ist bei mir auch so.
Warum allerdings SDA und SCL high gesetzt sind, weiß ich auch nicht.
lg
Michi
Hallo
Wenn im Programm keine LED angesteuert wird, blinkt automatisch die SL5 als Anzeige, dass der RP6 noch eingeschaltet ist. Das kann man in der Lib deaktivieren, wenn es stören sollte:
(Aus der Timer0-Comp-ISR in RP6RobotBaseLib.c)Code:// Power on LED flashing: #ifdef POWER_ON_WARNING if(leds_on < 3) { if(leds_on == 2) { if(!statusLEDs.byte) { if(leds_on_timer++ % 200 == 0) { if(leds_on_timer > POWER_ON_SHOW_TIME) { DDRB &= ~SL5; PORTB &= ~SL5; leds_on = 0; leds_on_timer = 0; } else { DDRB ^= SL5; PORTB ^= SL5; } } } else { if(!statusLEDs.LED5) { DDRB &= ~SL5; PORTB &= ~SL5; } leds_on_timer = 0; leds_on = 1; } } else if(leds_on_timer > POWER_ON_WAIT_TIME) { if(leds_on == 1) { leds_on = 0; if(!statusLEDs.LED5) { DDRB &= ~SL5; PORTB &= ~SL5; } } else leds_on = 2; leds_on_timer = 0; } else leds_on_timer++; } #endif
Das Blinken kann man in der Datei RP6Config.h einstellen (so ist es ausgeschaltet):
(Aus der Datei RP6Config.h)Code:// Power on warning: /** * If you don't need the flashing LED that shows that the Robot is still turned * on - outcomment this line and the code will not be compiled anymore * (saves some programspace and execution time): */ //#define POWER_ON_WARNING //#define POWER_ON_WAIT_TIME 12000 //#define POWER_ON_SHOW_TIME 4000
SDA und SCL sind die I2C-Pins. Um diese Pins auch ohne Ansteuerung auf einen definierten Pegel zu bringen (wichtig für das I2C-Protokoll!) sind beide über je einen PullUp-Widerstand (R32+33, je 4k7) mit Vcc verbunden. Deshalb haben die Pins auch ohne Ansteuerung durch das Programm high-Pegel.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Wenn z.B. dein Multimeter sagt, dass da an SDA und SCL etwa 5V anliegen, dann stimmt das, weil SDA und SCL primär als Eingänge geschaltet sind. Daran mißt man dann 5V.wie ich geschrieben habe werden auch sda und scl high gesetzt
Das heißt aber nicht, dass im Programm "auch sda und scl high gesetzt" werden.
Gruß Dirk
Lesezeichen