Hallo, ich möchte mit einem ATMega162 über den UART ein Bluetooth-Modul (Mitsumi WML-C11) mit HCI-Kommandos ansprechen. Es geht erstmal "nur" darum, dass das Modul einen Inquiry scan macht, die entsprechenden Inquiry results sollen dann im Mega weiterverarbeitet werden. Ich benutze den Code Vision C-Compiler. Jetzt das Problem: Auf den Inquiry Command erhalte ich zwar eine Antwort, aber - beim Command status event nicht mit den gewünschten Parametern. Dort wo der OP-Code stehen sollte, in diesem Fall 01 04, kommt nur ein 00 00 zurück. und - das eigentliche Inquiry result, nach dem ich so lechze, kommt gar nicht erst. Habe dann in einer Beschreibung vom Ericsson-Modul gelesen, der erste Command sollte immer ein HCI-Reset sein. Zudem muss beim Modul noch das scannen enabled werden. Habe ich gemacht, die Antwort war jeweils die gleiche wie auf das Inquiry scan, und das verstehe ich nun gar nicht mehr. Während die Antwort auf das Inquiry scan wenigstens noch in einem gewissen Zusammenhang mit dem Command ergibt, ist sie doch als Antwort auf ein Reset bzw. Scan enable nicht zu verstehen. Auch der Versuch, den Scan Status nur auszulesen und nicht zu setzen gibt die gleiche Antwort. Diese HCI-Commnands habe ich gesendet: HCI-Reset: 01 03 0C 00 HCI_Read_Scan_Enable: 01 19 0C 00 HCI_Write_Scan_Enable: 01 1A 0C 01 03 HCI-Inquiry: 01 01 04 05 33 8B 9E 08 10 Das HCI-Event auf alle Commands ist 04 0F 04 00 01 00 00 Hat vielleicht jemand einen Tip, wie das Modul "standardmäßig" beim einschalten initialisiert wird? Muß ich evtl. noch PSKey_Settings setzen, wenn ja, geht das nur über das SPI-Interface und wie fängt man so was an? Die beiden PINS der Flusskontrolle sind auf LOW und sollen default auf disabled sein,habe sie deshalb nicht angeschlossen. Zum Schluß muss ich noch gestehen, dass der UART mit 115,2 läuft, weil das Modul mit dieser Datenrate sendet und ich nicht weiß, wie ich das ändern kann. Habe die Befehle des Mikrocontrollers mit dem scope gemessen, die Bits werden fehlerfrei übertragen. Trete irgendwie auf der Stelle im Moment. Leider habe ich keine großen Erfahrungen in der Mikrocontrollerprogrammierung, deshalb wären Anregungen und Hinweise klasse, die mein niedriges level berücksichtigen.
Hi Wie schnell läuft denn dein uC? Solche Fehler bekomm ich immer wenn ich meine Chips überfordere. Da kommen die nicht mehr aus dem Interrupt raus und fabrizieren dann Müll. Noch ne blöde Frage: Auf dem WML ist eine HCI-Schnittsellen-taugliche Firmware drauf? (denn wo ich mit diesen Dingern gearbeitet habe gabs eine HCI-Firmware und eine mit dem APP-Stack von CSR) Ist zwar net viel was ich dazu zu sagen hab, aber vielleicht hilft es ja CU Beppi
Hallo Beppi, der Mega ist mit 13,56MHz getaktet,könnte ich mal runterzutakten. Der BC02 hat lt. Datenblatt auch einen HCI-tauglichen Stack implementiert. Gruß Andy
Hi, Leg mal zur Sicherheit CTS auf Low. Hast du einen Hardware-Reset vor dem Senden der HCI-Commands gemacht? Hast du mal geschaut ob die Bytes richtig am µC ankommen? Vielleicht Hilft dir ja auch ein OpenSource-Stack? Schau mal hier: www.btnode.ethz.ch
Hallo, bekomme das gleiche auch bei CTS auf low. Einen Hardware Reset habe ich auch schon ausprobiert, bringt mich auch nicht weiter. Dann schaue ich nochmal in den openSource Stack rein.
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.