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