Hallo! Ich versuche mich gerade an Atmels's ATZB-24-A2 zigbee... Eigentlich funktioniert alles wunderbar, die modulen sind echt klasse. Fuer meine applikation habe ich mich entschlossen in mein design ein Atmega8L als steuerung zu verwenden, und die firmware serialnet. Das hat auch soweit alles geklappt, aber jetzt moechte ich die geraetschaften synchron bekommen. Der Atmega ist nach reset sofort verfuegbar, das zigbee modul braucht seine weile bis es "ready" ist. Jetzt habe ich mir gedacht, nutze vom Zigbee modul das DTR um den uC zu ermitteln das das modul fertig ist. ALso DTR an ein eingangspin und ab dafuer. Jetzt kommt mein problem. Wenn ich mein oscilloscoop an den DTR vom modul haenge (der an pin PD3 vom atmega haengt), laeuft alles wunderbar. Die software aufm atmega wartet brauf bis DTR hoch geht. Dauert irgendwo zwischen 3 und 5 secunden. Alles paletti. Wenn ich mein osci von den pin entferne, verhaelt sich die software vom atmega anders. Nach ungef. 250 millisecs ermittelt er bereits ein high an DTR und sagt ich bin soweit. Kan es sein das durch unterschiedliche belastung das DTR signal an der zigbee seite sich von alleine nach oben schwingt? Ich meine, dummes problem, weil wenn ich es versuche zu messen, funktioniert ja alles wunderbar :-))) Hilfe benoetigt hier grins... Achso, der pullup wiederstand von PD3 ist aus, und ja, der port ist als eingang konfiguriert seitens den Atmega...
Füge einen Widerstand zwischen Masse und DTR hinzu, das sollte dein Signal unten halten.
Mike J. schrieb: > Füge einen Widerstand zwischen Masse und DTR hinzu, das sollte dein > Signal unten halten. ... weil die Signale nach dem Einschalten hochohmig sind (tri-state). Grüße, Peter
mmm... das war mein erster versuch bevor ich gepostet habe. das hatte ich auch vermutet.... sorry das ich das nicht erwaehnt habe. Aber: wenn ich das mache bleibt DTR leider 0... sprich, er zieht nie hoch...
Und wofür brauchst du jetzt den Atmega8L?? Du kannst doch den ATMega1281 des Moduls für die Steuerung verwenden! Dann gehts natürlich nicht mehr mit serialnet Firmware...
ich moechte die serialnet firmware nutzen. ich habe mir das ueberlegt mit der 1281 weil das schon eine tolle sache ist mit dem integrierten kontroler. aber ich mache erst mal gehversuche mit dem modul, bevor ich an ein marathon anfange :-) das mit dem DTR hat sich auch lustig weiterentwickelt. Mit scoop nochmals ueberprueft: pin bleibt nach anschliessen von wiederstand zu masse 5 secunden unten. Laut software atmega aber kommt sie nicht hoch. wenn ich es nachmesse stimmt es aber. mein code in C: DDRD = 0x00; PORTD = 0x00; Ich nutze sonst keine pins auf D, daher einfach alles 0. dan pruefe ich PD3 in eine loop: while( 1 ) { length = sprintf( txt, "%x", PIND ); send_text( txt, length ); _delay_ms( 250 ); } send_text schickt text an mein pc ueber UART / FT232 USB als virtueller PORT. Die werte die ich reinbekomme: nach reset : 0x01 nach 100msecs: 0x03 die werte bleiben jetzt gleich mit oder ohne scoop nach anloeten von R=10K um das tristate problem zu loesen. Aber PIND bekommt nummer 3 (PD3) nie als hoch...
Laut Datenblatt ist DTR ein Eingang des Moduls... Dort ein Signal zu erwarten ist sehr gewagt. Dort gibt es ja nur den "Unterschied" zwischen tri-state und echtem Eingang. Grüße, Peter
wer lesen kan ist klar im vorteil. oh boy.das erklaert ne menge :-) ich habe inzwischen eine andere loesung fuer mein problem. Das zigbee modul quittiert ueber sein uart mit "OK" wenn es soweit ist. Da ich inzwischen meine RX interrupts auf mein Atmega8 fertif habe, warte ich softwaremaessig auf ein "OK" und dan kanns los gehen :-) Trotzdem vielen dank fuer alle eure tips und hilfe. Wenn man zulange an ein problem werkelt sieht man durch den walt die baeume manchmal nicht mehr!
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.