najut ich denke ma ich nehm den usb... da ich nich weiss was RS232 ist hat das nur vorteile... hab ja nichma nen COM1 geschweige denn COM2 anschluss Oo
was denn für treiberprobleme? hab noch nie was von gemerkt.
aber mit dem RS232 transceiver hatte ich an 4 verschiedenen rechnern noch keinen erfolg (ebenfalls unter oben genannten betriebssystemen) und es ging NICHTS. und der USB transceiver funktioniert einfach... und die treiber... naja installieren und gut is wa?
najut ich denke ma ich nehm den usb... da ich nich weiss was RS232 ist hat das nur vorteile... hab ja nichma nen COM1 geschweige denn COM2 anschluss Oo
gut geraten =)
RS232 sind die beiden com-anschlüsse.
der RS232 transceiver ist beim asuro dabei, ebenfalls als bausatz. den USB transceiver bekommst du als komplett aufgebautes teil wenn du es bestellst.
um den RS232 transceiver zu benutzen benötigst du einen den normen entsprechenden com-anschluss. wenn du den nicht hast, musst du zwangsweise auf einen anderen rechner oder den USB transceiver ausweichen.
^^ hab mir schon gedacht das es die COM anschlüsse sind, allein deshalb schon weil ich sie nicht hab xD
naja die sachen sind schon bestellt d.H. ASURO, USB trasceiver und Erweiterungs Platine... Batterien habsch schon inner ecke liegen tjoa jetzt dauerts nochn paar tage... *topic titel editier und danach diesen post weiterschreib*
so das hab ich mir zusammen gebastelt:
bitte sagen wenn was falsch ist und bitte sagen wozu return 0; ist... schätze das is um an den anfang des programmes zu springen oder? jedenfalls wenn ein taster gedrückt wird soll die LED(s) ROT leuchten...Code:#include "asuro.h" //lib einfügen int main(void) { //HEADER int i; //variable i Init(); //schätze ma das braucht man :P StartSwitch(); //"Switch aktivieren" StatusLED(GREEN); //LED Grün switched = 0; //ne taster is nich gedrückt while(1){ //das soll immer sein^^ if (switched){ //is taster gedrückt? StatusLED(RED); //wenn ja: LED Rot for (i=0;i<333;i++){ //das wird 333 mal wiederholt... Sleep(255); //3ms warten StatusLED(GREEN); //LED Grün } } } else { //wenn nein: StatusLED(GREEN); //LED Grün } return 0; //weiss nich wozu is das? }
P.S. ich krieg ASURO erst in 2 tagen also kann ichs nit testen^^
naja so grob hauts hin. du musst nur darauf achten dass du dafür sorgst, dass nur das sleep in der for schleife steht.
ausserdem musst du die variable switched von hand wieder auf 0 setzen. diese wird 1 wenn ein taster gedrückt wurde, und bleibt es solange bis sie wieder 0 gesetzt wird.
return 0:
da muss man etwas weiter ausholen. eine (integer)variable definierst du ja mit int. is klar.
dass heist jedes ding, welches ein "int" ist, gibt wenn es abgefragt wird einen bestimmten wert zurück.
auch die main funktion ist aber ein int:
int main(void)...
auch diese muss also einen wert haben. dieser steht hinter return.
main(void) hat also den wert 0.
benötigt wird dieser wert nicht im programm, aber die meissten compiler bestehen darauf.
hintergrund:
stell dir vor du hasst eine andere, selbstgeschreibene funktion. wenn diese einwandfrei abgelaufen ist, steht am ende ein return 0 und ihr wert ist 0.
sollte aber ein fehler passiert sein (warum auch immer) und du hast an entsprechender stelle ein return 1 oder irgend ne andere zahl hingeschrieben, dann gibt die funktion nicht 0, sondern den entsprechenden wert zurück.
so kannst du z.B. auswahlen, fehlernachrichten uvm programmieren. ist gut für leute die ihren code in viele kleone häppchen aufteilen und oft funktionen schreiben (was der übersicht und dem speichersparen dient).
(1) die klammer bei else kannst du weglassen
(2) am ende des programms fehlt eine klammer
(3)
stimmt vom prinzip her schon, aber: man kann jeden beliebigen werte oder string oder was es halt alles giebt zurück gebenstell dir vor du hasst eine andere, selbstgeschreibene funktion. wenn diese einwandfrei abgelaufen ist, steht am ende ein return 0 und ihr wert ist 0.
sollte aber ein fehler passiert sein (warum auch immer) und du hast an entsprechender stelle ein return 1 oder irgend ne andere zahl hingeschrieben, dann gibt die funktion nicht 0, sondern den entsprechenden wert zurück.
so kannst du z.B. auswahlen, fehlernachrichten uvm programmieren. ist gut für leute die ihren code in viele kleone häppchen aufteilen und oft funktionen schreiben (was der übersicht und dem speichersparen dient).
http://www.galileocomputing.de/openb...0027751F02318C
hier ist beschrieben was man mit return machen kann
...
die klammer vor else wird doch gebraucht um die if anweisung zu beenden oder? man könnte ja auch
if (blabla){bla}else{bla}
oder so wie ich es hab
if (bklabla){
bla
}else{
bla
}
[edit]
wo fehlt da ne geschweifte klammer?
[/edit]
hast du den avr-gcc, und die demo programme von der luib, und das passende makefile?
dann kannst du die programme testeweise kompilieren.
dadurch kannst du dann zumindest syntaktische fehler ausschliesen.
eine klammer gelscht und eine hinzugefügt. und error meldungen giebts jetzt keine mehrCode:#include "asuro.h" //lib einfügen int main(void) { //HEADER int i; //variable i Init(); //schätze ma das braucht man :P StartSwitch(); //"Switch aktivieren" StatusLED(GREEN); //LED Grün switched = 0; //ne taster is nich gedrückt while(1){ //das soll immer sein^^ if (switched){ //is taster gedrückt? StatusLED(RED); //wenn ja: LED Rot for (i=0;i<333;i++){ //das wird 333 mal wiederholt... Sleep(255); //3ms warten StatusLED(GREEN); //LED Grün } } else { //wenn nein: StatusLED(GREEN); //LED Grün } return 0; //weiss nich wozu is das? } }
...
*raüusper*
P.S. ich krieg ASURO erst in 2 tagen also kann ichs nit testen^^
avr-gcc kansst du jetzt schon runterlöaden, und die demos + makefile auch...
gibts bei sourceforge (den genauen link hab ich grad net zur hand)
...
Lesezeichen