Hallo, ich muss mit AVR Xmega128a1 den Proximity-Sensor SRF01 in C programmieren und habe ich für den gleichen Sensor ein Sample-Code mit ATMega32 gefunden. Könnte mir dieses Code vllt weiter helfen oder muss ich vieles ändern? Der Sensor soll mir nur sagen ob vor ihm ein Objekt ist oder nicht. Z.b, wenn Objekt da ist ein Led leuchtet wenn nicht, nicht. Ich würde mich auf eure hilfreiche Antworten freuen:) Gruss, Enes
Du musst doch nur den UART einstellen. 8N1, Beschaltung wie auf der Internetseite. Dann noch die serialTX, serialRX, sendBrk und clearRXBuf an den Xmega anpassen. sendBrk ist nur Port-Gewackel, das solltest du ja wohl hinbekommen. serialTX und serialRX kannst du dir aus den Xmega Appnotes generieren. Ist ja nur ins Data-Register schreiben/lesen und auf ein Flag warten. Der andere Kram kann größtenteils so bleiben. Dann komm wieder wenn du eine konkrete Frage/Problem hast.
Danke für die Antwort, bin ganz neu und das sind eigentlich die sachen die iich nicht hinbekommen habe. kannst du mir vllt ausführlicher erklaeren was ich machen soll?? wenn möglich auch codes dafür? ich muss unbedigt den sensor zum laufen brigen. hoffe du hilfst mir. freundliche grüsse
xy_xy schrieb: > Danke für die Antwort, > bin ganz neu und das sind eigentlich die sachen die iich nicht > hinbekommen habe. Dann musst du eben üben. Tip: Wenn man das erste mal eine RS232 in Betrieb nimmt, ist es eine gute Strategie, erst mal eine Unbekannte zu eliminieren. Sprich: die ersten Versuche macht man, indem am anderen Ende der Leitung ein Terminal sitzt (oder PC mit Terminalprogramm), so dass man sehen kann, ob und was vom µC auf der Seriellen rausgeschickt wird und ob das richtig ist. Ansonsten führt man einen 2-Frontenkrieg, weil man nie weiß, ob die RS232 grundsätzlich funktioniert und nur das Gesendete falsch ist oder ob nur letzteres der Fall ist.
hi, hier sind die codes die ich vom atmega32 an xmega128a1 angepasst habe. es funktioniert leider nicht und weiss auch nicht wo das problem eigentlich liegt. Kann einer von euch bitte mir helfen, ich würde mich sehr freuen. freundliche grüsse
Wofür benutzt du den Sensor denn bzw. was für ein Projekt hast du am Laufen? Hast du mal ins Datenblatt des Xmega128a1 bzw. ATMega32 geschaut? Ich hab den Sensor auch gerade vor mir liegen und muss die Software in nächster Zeit an einen mega8 anpassen, aber das dürfte nicht so schwer sein. Gruß, Dennis
Dennis schrieb: > Wofür benutzt du den Sensor denn bzw. was für ein Projekt hast du am > Laufen? > > Hast du mal ins Datenblatt des Xmega128a1 bzw. ATMega32 geschaut? > > Ich hab den Sensor auch gerade vor mir liegen und muss die Software in > nächster Zeit an einen mega8 anpassen, aber das dürfte nicht so schwer > sein. > > Gruß, > Dennis Ja, an einen mega8 anzupassen dürfte nicht schwer sein aber xmega ist schon komplitziert. hast du dir schon mein code angeschaut ?? lg
Xmega-Kenner schrieb: > Du musst doch nur den UART einstellen. 8N1, Beschaltung wie auf der > Internetseite. Dann noch die serialTX, serialRX, sendBrk und clearRXBuf > an den Xmega anpassen. > sendBrk ist nur Port-Gewackel, das solltest du ja wohl hinbekommen. > serialTX und serialRX kannst du dir aus den Xmega Appnotes generieren. > Ist ja nur ins Data-Register schreiben/lesen und auf ein Flag warten. > Der andere Kram kann größtenteils so bleiben. > > Dann komm wieder wenn du eine konkrete Frage/Problem hast. hi xmega-kenner, dieses sample code mit atmega32 ist mit ner anzeige durchgeführt. hab alles angepasst aber hatte schwierigkeiten mit CTC mode in xmega anzupassen.wie ist es eig in xmega??ich konnte drüber gar nix finden im datasheet. und wollte noch fragen ob ich i2c auch anpassen muss wenn ich keine anzeige habe. ich will ja nur dass der sensor ein led leuchtet wenn vor ihm was ist. lg
Xmega-Kenner schrieb: > Du musst doch nur den UART einstellen. 8N1, Beschaltung wie auf der > Internetseite. Dann noch die serialTX, serialRX, sendBrk und clearRXBuf > an den Xmega anpassen. > sendBrk ist nur Port-Gewackel, das solltest du ja wohl hinbekommen. > serialTX und serialRX kannst du dir aus den Xmega Appnotes generieren. > Ist ja nur ins Data-Register schreiben/lesen und auf ein Flag warten. > Der andere Kram kann größtenteils so bleiben. > > Dann komm wieder wenn du eine konkrete Frage/Problem hast. hi,danke für deine Antwort. ich wollt leztens kurz testen ob ich überhaupt was sende zum sensor und hab mit osci getestet. da habe ich gesehen dass ich ständig einsen sende. es sollte eig. wegen sendBrk auch auf low gehen oder? void sendBrk(void) // Send a simulated break by sending the TX line low for a period of time and then sending it high again { USARTC0.CTRLB = 0x00; // Disable USART reciever and transmitter PORTC.DIRSET=PIN3_bm; // PC3 (TXD0) as output. PORTC.DIRCLR=PIN2_bm; PORTC.PIN3CTRL = 0x0; // Send pin low startTimer(0x0500); // wait for about 1ms waitForTimer(); PORTC.PIN3CTRL=0x1; //send pin high USARTC0.CTRLB = 0x18; // Enable USART reciever and transmitter } ist da was falsch?? lg
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.