Guten Morgen! Nachdem ich hier wieder einige Beiträge über Handys und AVR´s gelesen habe, wollte ich selbst was machen. ich habe ein siemens M35 und einen AtMega8 da liegen. habe auch schon einiges probiert, aber noch nicht was vernünftiges hinbekommen. was ich nicht verstehe: in diesem Schaltplan http://comwebnet.co.funpic.de/GSMAlarm/SMS-Alarm-www.comwebnet.de.pdf ist RX vom AVR mit RX vom Handy verbunden. Ist das richtig so? soll das nicht umgekehrt sein? RX zu TX und TX zu RX? das war eigentlich die wichtigste Frage. Ich hoffe man kann mir noch weiter helfen! Liebe Grüsse Tobias
Fragen kannst du hier stellen http://comwebnet.weimars.net/forum/forumdisplay.php?fid=5 Es geht und wurde schon nachgebaut.
an Avr Nix kannst du vielleicht diese Frage beantworten? >ist RX vom AVR mit RX vom Handy verbunden. Ist das richtig so? >soll das nicht umgekehrt sein? RX zu TX und TX zu RX? wenn ich den Stecker reinstecke, dann macht mein Handy Netzsuche...
Also wie gesagt ich weiss das es geht und wurde auch bestätigt von anderen Leuten -> Was passiert den wenn du den Stecker drin lässt und dein Gerät einschaltest. Was im Forum steht hast du auch gelesen ( Anmeldung ist kostenlos ) ? Vielleicht die Wannenstecker falschrum eingelötet oder die Wannebuchse ? Mache bitte mal ein Foto und stehe das in mein Forum da werde ich dir auch weiterhelfen. Ich Tippe mal auf ein Kurzschluss in der Schaltung, beim Löten. Und so aufgebaut wie hier: http://comwebnet.weimars.net/index.php?option=com_content&task=view&id=30&Itemid=49 Der Lumbergstecker: http://comwebnet.weimars.net/forum/showthread.php?tid=16 Rx->Tx, Rx->Tx steht doch dort ;-)
also kurzschluss usw. ist ausgeschlossen. ich habe ja nicht die komplette Schaltung nachgebaut. ich habe nur den µC richtig mit Spannung versorgt, pullup an Reset, und nur 2 leitungen an Rx und TX, die zum Handy gehen. masse natürlich auch verbunden. mehr ist da erstmal nicht. ich wollte nur testen, ob es läuft. achso, noch was.. ich glaube mein Controller schickt gar keine Befehle raus. (kann ich mit dem Oszi nicht verfolgen) es ist immer nur high-Pegel da. also am PD1 (TX) vom Controller. Wenn ich das mit Handy verbinde, dann Spinnt das Handy, und Macht immer wieder Netzsuche. Irgendwelche ideen?
Mit Wieviel Volt läuft den der M8? Vielleicht mal Widerstände in der Ltg schalten. - Weiteres bitte ins Forum vom http://www.comwebnet.de
Verfluchtes UART! der sendet nicht! warum denn das? $regfile = "m8def.dat" $crystal = 1000000 $baud = 19200 Open "comc.1:19200,8,n,1" For Output As #1 Do Waitms 50 Print #1 , "hello" Wait 60 Loop End soll doch so klappen, oder bin ich blind? habe schon die ganze Bascom-hilfe auswendig gelernt. hilft alles nichts.
wenn du den Hardwareuart verwendest, kannst du die Zeile Open "comc.1:19200,8,n,1" For Output As #1 weglassen und einfach mit Print ..... rausschreiben.
Hi Mit meinem anfänglichen Wissen fällt mir hier nur auf: Clock f= 1MHz Baud = 19200 laut Datenblatt ATmega8: kannst du diese Baudrate bei dieser Frequenz nur mit einem Fehler von 8,5% generieren. Hab keine Ahnung von BASIC also weiß nicht ob die Werte oben im Programm verwendet werden oder nur hingeschrieben sind. MfG Robert
GRrrrrrrrrrrrr - das Handy bekommt 5V ? also max 3,6V bitte , dann sollte es auch gehen, sonst mit Z-Dioden + R ( ZD 2,7V ) die 5V abblocken an Tx und Rx Ltg. Hast du mal das Listing im Forum angeguckt, dort steht es?
ich habe einen Software UART. was kann ich noch probieren?
ich bin auch neu hier,habe schon ein wenig mit bascom und Siemens Handy gemacht. Was soll das Handy machen? Ich würde Prin"..at-Befehl..." eingeben. Die entsprechenden at-Befehle findest Du bei "nobbi" Gruß Matthias
ich glaube mein Fehler ist eher im programm. habe schon ein tiny2313 genommen. das programm sieht so aus: $regfile = "2313def.dat" $crystal = 1000000 $baud = 19200 Do Wait 3 Print "atdl" Wait 60 Loop End "atdl" heisst letzte nummer noch mal wählen. tut sich nichts. am ausgang vom µC habe ich immer einen High-Pegel. IMMER. ich dachte das soll ja auf 0 gehen, wenn er übertragen hat. was kann nur verkehrt sein? das wird langsam frustrirend.
Tobi wrote: > tut sich nichts. An deiner Stelle würde ich da mal einen MAX232 dranhängen und als Gegenstelle mal einen PC nehmen. Fehlersuche ist immer einfacher wenn man an der Gegenstelle sehen kann ob und wenn ja was übertragen wird. > am ausgang vom µC habe ich immer einen High-Pegel. IMMER. Ja. Ist auch richtig so. > ich dachte das soll ja auf 0 gehen, wenn er übertragen hat. Nö. Wie kommst du da drauf. High ist der Ruhepegel der Leitung. Während der Übertragung kommen da Pulse auf 0 vorbei. Aber nachdem ein Zeichen übertragen wurde, wechselt die Leitung wieder in ihren Ruhepegel. Und der ist nun mal High. > was kann nur verkehrt sein? Das hier: $crystal = 1000000 macht mich schon mal stutzig. UART Übertragung mit dem internen Taktgenerator ist Glücksspiel. Abgesehen davon, wurde weiter oben schon mal gesagt: > Clock f= 1MHz > Baud = 19200 > laut Datenblatt ATmega8: kannst du diese Baudrate bei dieser Frequenz > nur mit einem Fehler von 8,5% generieren. 8.5% ist schon mächtig viel.
versuch es mal mit einer niedrigen Baudrate 1200 und gib die Zeichen erst mal in einem Terminalprogramm aus. Matthias
Bei den Handy von Siemens sind 19200 Baud richtig. mach mal Print #1,"ATD deine Telefon-Nummer mit Vorwahl" -> Telefon nicht Handy! oder Print "ATD ....." Übe erstmal über einen MAX232 mit Hyperterm ( oder Datenkabel ) um die Abläufe kennen zulernen. Was für ein Cotroller hast du den jetzt M8 ? hast du ein 8MHz Quarz dran? Sonst versuche es mit RC-Oszilator der kann auch 8MHz, Quarz ist aber besser!
Zuerst prüfe bitte nochmal ob du jetzt den richtigen Pegel zum Handy hin hast wenn du den AVR mit 5V betreibst brauchst du nen Pegelwandler. Print "atdl" Kann nicht funktionieren weil AT Befehle immer mit einem return abgeschlossen werden müssen. Beschäftige dich doch bitte etwas mit der materie dann klappt das auch.
>Kann nicht funktionieren weil AT Befehle immer mit einem return >abgeschlossen werden müssen. kannst du ein Programmausschnitt posten? also ich habe jetzt max232N zwischen PC und µC ich kann mit Bascom den Controller löschen. Beschreiben dauert schon seit ca. 5 minuten. kann nicht sein, glaube ich. wie kann ich nun testen ob der µC was sendet? ich meine womit soll ich das empfangen?
Hyperterminal und nein ich kann keinen Codeauschnitt posten weil ich keine Ahnung habe wie man in Bascom ein Return schreibt außerdem solltest du vieleicht auch noch ein klein wenig von DEINEM projekt SELBST machen dürfen :)
ein Auszug aus Bascom-Hilfe: [c] $regfile = "m88def.dat" $crystal = 8000000 $baud = 19200 Dim B As Byte Waitms 100 'Open a TRANSMIT channel for output Open "comc.1:19200,8,n,1" For Output As #1 Print #1 , "serial output" 'Now open a RECEIVE channel for input Open "comc.2:19200,8,n,1" For Input As #2 'Since there is no relation between the input and output pin 'there is NO ECHO while keys are typed Print #1 , "Press any alpha numerical key" 'With INKEY() we can check if there is data available 'To use it with the software UART you must provide the channel Do 'Store in byte B = Inkey(#2) 'When the value > 0 we got something If B > 0 Then Print #1 , Chr(b) 'Print the character End If Loop Close #2 'Close the channels Close #1 End [c/] wo ist hier "RETURN"?
Hyperterminal zeigt nichts, weil das programm falsch ist. das Programm ist falsch, weil ihr mich alle googeln schickt. weill ihr micht alle googeln schickt, sehe ich 2356234857263459 verschiedene Beispiele, die auch zum grössten teil falsch sind. weil die falsch sind komme ich wieder zu euch. ihr schickt mich googeln, weill ich zu blöd zum lesen bin. ich lese schon seit 7 uhr morgens was... immer verschiedene sachen, die überhaupt nichts bringen, und frage euch dann wieder was. ihr schickt mich wieder googeln.... teufelskreis?
http://www.gidf.de Du gehst nicht wirklich auf die Leute ein und dir feht gewisses logisches Denkvermögen um den Schwachfug auszufiltern...
>ihr schickt mich googeln, weill ich zu blöd zum lesen bin. >ich lese schon seit 7 uhr morgens was... immer verschiedene sachen, die >überhaupt nichts bringen, und frage euch dann wieder was. >ihr schickt mich wieder googeln.... Wenn der eigene Intellekt nicht dazu ausreicht sich relevante stellen aus einem stück Code herauszufiltern sollte man überlegen ob man das programmieren nicht bleiben lässt, und Bäcker wird. Dann kann man einem von uns 2 Jahre lang jeden morgen frische Brötchen bereitstellen und bekommt dafür das Projekt fertiggestellt.
ICH VERSTEHE NICHT; WAS ICH FALSCH MACHE!!! hier steht alles beschrieben! es funktioniert bei mir nicht! http://www.rclineforum.de/forum/thread.php?threadid=107734&sid=edeba8504d61cf52fa2011bce22ab044
Tobi wrote: > Hyperterminal zeigt nichts, weil das programm falsch ist. Wenn HT nichts anzeigt, dann kann das an tausend verschiedenen Fehlermöglichkeiten liegen. Jetzt gilt es erst mal da systematisch einen Fehler nach dem anderen auszumerzen. Einfach nur irgendwelche Programme abkupfern bringt erst mal überhaupt nichts. Du hast also folgenden Aufbau Mega8 <---> MAX232 <----> RS232-Kabel <-----> PC mit HT In jeder einzelnen Komponente verbirgt sich eine potentielle Fehlerquelle. Zunächst mal wird getestet, ob die Hardware grundsätzlich funktioniert. Dazu machst du mal den Schnelltest: Der Mega8 kommt aus seinem Sockel und an den Pins an denen der MAX232 angeschlossen ist, wird eine Brücke in den Sockel gesteckt. Damit hast du folgenden Aufbau: Brücke <--- MAX232 <---- RS232-Kabel <----- PC mit HT ^ | v Brücke ---> MAX232 ----> RS232-Kabel -----> PC mit HT Wenn nun jede einzelne der Komponenten Kabel, MAX232 und PC einwandfrei arbeiten, dann muss sich folgendes Verhalten einstellen: Du tippst am PC im Hyperterminal ein paar Tasten. Die entsprechenden Zeichen laufen über das Kabel zu MAX, von dort zu deinem µC Sockel, über die Brücke und den ganzen Weg wieder zurück. Siehst du daher am Hyperterminal die getippten Zeichen, dann weist du, das die komplette Übertragungskette einwandfrei in Ordnung ist. Dazu muss am HT eingestellt sein: kein Handshake, kein lokales Echo. Als Gegentest nimmst du mal die Brücke aus dem Sockel und tippst wieder. Die getippten Zeichen dürfen jetzt klarerweise nicht mehr erscheinen. So, das machst du jetzt mal und siehst mal nach, ob: * deine Verkabelung korrekt ist * der MAX überhaupt arbeitet Wenn dieser einfache Test funktioniert und die Hardware daher in Ordnung ist, dann nimmst du das allereinfachste BASCOM Programm mit einer UART her, das du finden kannst, und lässt dieses mal laufen. Keine Spezialitäten: stink normales einfaches BASCOM. Hadrware-Uart, 9600 Baud und in einer Schleife immer denselben Text ausgeben. Wenn das dann mit der Hardware-UART klappt, dann wechselst du über zu der Software-UART und tauscht die Pins aus. Was immer du auch machst: mach es schrittweise! Es hilft nichts da ein Monsterprojekt anzuzetteln, dass auf 25 ungetesteten Komponenten und Annahmen beruht nur um dann festzustellen, dass es nicht funktioniert. Du hast dann nämlich keine Ahnung warum es nicht funktioniert. Die einzig vernünftige Art das zu umgehen ist es in kleinen Schritten zu arbeiten und sich bei jedem Schritt zu überlegen, wie er getestet werden kann, bzw. in welchen Schritten man das vernünftigerweise so hochziehen kann, dass die einzelnen Schritte testbar sind und Information bringen. Rumbrüllen hilft da überhaupt nichts.
>Siehst du daher am Hyperterminal die getippten Zeichen, dann >weist du, das die komplette Übertragungskette einwandfrei in >Ordnung ist. sehe ich nicht. der max ist richtig gelötet. ich kann bei mir auf COM1 nicht zugreifen. warum auch immer. über COM2 kommen keine Zahlen zurück.
Und warum sollte man nicht spätestens jetzt auf die Idee kommen das das Problem vor deiner Tastatur sitzt? Aller letzter Versuch: Gib mal deinen Schaltplan von Brücke <--- MAX232 <---- RS232-Kabel <----- PC mit HT ^ | v Brücke ---> MAX232 ----> RS232-Kabel -----> PC mit HT denke du hast hier das Gleiche falsch gemacht...
9Pol Sub-D Stecker am PC1 -> Max232: 2 (RX) - 14 (T1Out) 3 (TX) - 13 (R1In) 5 (GND) - 15 (GND) Max232: 11 (T1in) <- 9 (R2Out) 12 (R1out) -> 10 (T2in) Max232 -> 9 Pol Sub-D Stecker am PC2 7 (T2Out) - 2 (RX) 8 (R2In) - 3 (TX) 15 (GND) - 5 (GND) Wichtig: Kondensatoren am Max nicht vergessen...
Tobi wrote: >>Siehst du daher am Hyperterminal die getippten Zeichen, dann >>weist du, das die komplette Übertragungskette einwandfrei in >>Ordnung ist. > > sehe ich nicht. Dann hast du zumindest mal ein Hardware Problem. Leg einen Gegenstand am PC auf die Tastatur, sodass Hyperterm ständig sendet, schnapp dir ein Multimeter (in dem Fall funktioniert allerdings eine LED mit einem ca. 1kOhm Vorwiderstand besser) und verfolg das Signal ausgehend vom PC Anschluss, durch das Kabel zum MAX 232 zum Sockel und retour. Ich rate mal: Du hast das falsche Kabel. Das ist entweder gekreuzt wenn es das nicht sein sollte oder umgekehrt. > der max ist richtig gelötet. > ich kann bei mir auf COM1 nicht zugreifen. Kann es sein, dass auf deinem COM1 die Maus hängt. Ansonsten: Du musst natürlich schon wissen, welcher logische Anschluss (COM1, COM2) mit deinem Hardware Anschluss korrespondiert. Es hat wenig Sinn an einem Port Zeichen rauszuschicken, wenn an diesem Port gar nichts hängt.
also. kann ausser COM2 nichts wählen, und gleich an PC (RS232 Buchse) ist schon kein signal. (mit oszi nachgemessen)
Tim T. wrote:
> Beschreib mal die Buchse am PC: M/W Pinzahl...
Männchen / Weibchen ?
(Hat der Anschluß Stifte oder Löcher)
9-polig sub-D Männlich das problem ist aber gelöst. lag am PC. habe gerade am anderen probiert, da funktioniert das wie es sein sollte/wie ober beschrieben. so nun zum programm, At-Befehle senden soll. $regfile = "2313def.dat" $crystal = 1000000 $baud = 19200 Config Serialin = Buffered , Size = 10 Config Serialout = Buffered , Size = 10 Do Wait 1 Print "atds<1>;" Wait 60 Loop am Terminal wird das übertragen, aber nicht "atds<1>;" , sondern ganz komische zeichen, die man natürlich nicht lesen kann. an das Handy angeschlossen, macht das Handy wieder die Netzsuche. was nun los?
1 MHz und 19200 Baud passen nicht zusammen. Wurde aber weiter oben schon erwähnt. MW
> sondern ganz komische zeichen
ganz komische Zeichen sind immer ein Indiz dafür, dass irgendwas
im Timing nicht stimmt.
Daher, zum wievielten mal eigentlich in diesem Thread :
1Mhz interner Takt zusammen mit 19200 Baud hat zuviel
Abweichung. So wird das nichts. Und da du das nicht glaubst,
hast du jetzt selbst am PC gesehen, dass das so nichts
wird. Und wenn dein PC aus dem Bitwust nichts vernünftiges
raussuchen kann, kann das dein Handy auch nicht. Solange
du am PC bei 19200 baud nicht richtig empfangen kannst, macht
es keinen Sinn, das Handy auch nur anzustecken.
>1Mhz interner Takt zusammen mit 19200 Baud hat zuviel Abweichung.
ext. quarz mit 4 Mhz ok?
>Ich sehe in meine Glaskugel:
deine kugel ist kaputt! :)
nicht verfused.
nun macht das handy nicht mal Netzsuche.
ich gucke mal, was Terminal sagt
Ja, guck.. vielleicht kaputt? Weshalb um alles in der Welt versuchst du das it dem Handy, wenn die Kommunikation zum PC noch nicht mal funktioniert? So apropos "keine Netzsuche" hast du mal was für die Pegelanpassung zwischen AVR und Handy getan?
>So apropos "keine Netzsuche" hast du mal was für die Pegelanpassung >zwischen AVR und Handy getan? ja
>Und WAS?
reagiert nicht.
also nachdem ich den quarz aktiviert habe (kondensatoren und der rest
richtig angeschlossen), im programm auf 4000000 die frequenz umgestelt
habe, will er an das Terminal nichts mehr übertragen.
weiss nicht, was da los ist.
WAS bezog sich auf die Pegelanpassung zwischen AVR und Handy. Also, wie hast Du es gemacht. Und was das übrige angeht, poste mal ein Schaltplan oder sowas.
> also nachdem ich den quarz aktiviert habe Wie hast du das gemacht? > (kondensatoren und der rest > richtig angeschlossen) Das reicht nicht. Der Quarz wird erst dann aktiv, wenn die Fusebits korrekt eingestellt wurden. Hast du an den Fusebits gedreht?
>Wie hast du das gemacht? so wie auf dem Bild http://tbn0.google.com/images?q=tbn:uQyZv1R-TiY76M:http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif >WAS bezog sich auf die Pegelanpassung zwischen AVR und Handy. du meintest bestimmt dass die 5V von µC für das handy zu viel sind. ich habe eine z-diode mit 3,3V mit R in Reihe angeschlossen. über der Z-Diode die spannung abgegriffen.
Der Thread sollte einen Oskar bekommen :-) Ohne Pegelanpassung kann sogar das Handy im Ars** gehen! Und wie haste die Pegelanpassung gemacht ? ( steht alles oben ).
Zum Thema Pegelanpassung wurde zwar schon mal gesagt aber egal_: 1te Möglichkeit: Z Diode und Vorwiderstand => wie das geht frag mal google 2te Möglichkeit: funktioniert auch zumindest bei 19,2kBaud ein eingacher Spannungsteiler 2,7Volt zu 3,3Volt Verhältniss=0,81 => der Widerstand zwischen RTX(Handy) und Masse muss 0,81 mal gösser sein als der zwischen TXD(AVR) und RTX(HANDY). Gesammtwiderstand der Schaltung darf sich ruhig im kOhm Bereich bewegen Innenwid des Handys vernachlässigt. Jochen
>1te Möglichkeit: Z Diode und Vorwiderstand
habe ich gemacht
Tobi wrote:
> http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif
Du kannst mich schlagen, aber das ist nie und nimmer die
korekte Fuse Bit Einstellung für einen externen Quarz
beim Mega8
Jungs, seid mir nicht böse. Aber könnten wir uns darauf einigen, zuerst eine funktionierende UART zu einem PC aufzubauen um uns erst dann mit einer Fehlerquelle weniger, sprich einer funktionierenden UART ans Handy zu wagen?
also noch mal zum Thema: handy erst mal weg. Ich konnte mit 1Mhz intern zum terminal was übertragen. (waren aber nur komische zeichen) jetzt habe ich den quarz angeschlossen (RICHTIG) und die fusebits gesetzt. und zwar so: http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif jetzt kann ich nichts mehr übertragen. warum denn? Quellcode auch natürlich geändert.
>Du kannst mich schlagen, aber das ist nie und nimmer...
mega8 habe ich schon draussen. stand schon im code oben:
$regfile = "2313def.dat" ich benutze den AtTiny2313
das ist in deinem Fall egal der 2313 und der tiny2313 unterscheiden sich in Dingen die hier nicht zum Einsatz kommen PWM z.B. der eine hats der andre nicht.. Jochen
Tobi wrote: > http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif > jetzt kann ich nichts mehr übertragen. Und läuft der Prozessor noch? (Programmier mal eine blinkende Led, oder irgendwas anderes rein, an dem du sehen kannst ob der Prozessor noch tut).
Jochen S. wrote: > das ist in deinem Fall egal der 2313 und der tiny2313 unterscheiden sich > in Dingen die hier nicht zum Einsatz kommen PWM z.B. der eine hats der > andre nicht.. Er bezog sich auf was Anderes. Um zu sehen, ob die Fuse Bit Einstellungen CKSEL stimmen können, habe ich mal ganz schnell nach ganz oben gescrollt und dort die Angabe "Mega8" gefunden. Daher hab ich das Bild mit einem Mega8 assoziert. Irgendwo mitten im Thread hat er aber geschrieben, dass er den Mega8 durch einen 2313 ersetzt hat. Für den hab ich keine CKSEL Belegung parat. Kommt mir aber immer noch seltsam vor, dass da CKSEL1 einsam und verlassen auf 0 steht.
>Und läuft der Prozessor noch? wolte ich grad schreiben. ja, genau mit der LED habe ich schon von paar minuten probiert. die blinkt. also so ganz blöd bin ich nicht. wenn ich mit UART früher ÜBERHAUPT nichts gemacht habe, und sonche dämmliche Fragen stelle, heisst das ja nicht, dass ich von garnichts Ahnung habe.
>Für den hab ich keine CKSEL Belegung parat....
also das komische ist ja nur, dass ich nur im programm von
$crystal= 1000000 auf $crystal= 4000000 geändert habe
und die fusebits aktivirt habe.
quarz und kondensatoren waren schon auf dem Board frühen verlötet.
ich habe so ein Testboard.
PS Das board funktioniert.
Tobi wrote: > also so ganz blöd bin ich nicht. Ist ja ok. Du glaubst gar nicht, wie oft in der Woche hier die Frage kommt: Ich hab an den Fusebits gedreht und jetzt geht gar nichts mehr. > ja, genau mit der LED habe ich schon von paar minuten probiert. die > blinkt. Blöde Frage: Die Blinkfrequenz kann die zu 1Mhz bzw. 4Mhz passen? Hintergrund: Ich will rauskriegen, ob der Quarz tatsächlich aktiv ist oder nicht. im einfachsten Fall verrät das ein Blinklicht. Mittels delays jeweils 1 Sekunde Pause zwischen ein und aus. Den Unterschied zwischen 1 Sekunde und 4 Sekunden sieht jeder Blinde.
Aus dem Datenblatt: Table 2. Device Clocking Select(1) Device Clocking Option CKSEL3..0 External Clock 0000 Calibrated Internal RC Oscillator 4MHz 0010 Calibrated internal RC Oscillator 8MHz 0100 Watchdog Oscillator 128kHz 0110 External Crystal/Ceramic Resonator 1000 - 1111 Reserved 0001/0011/0101/0111 Note: 1. For all fuses “1” means unprogrammed while “0” means programmed. Also entspricht http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif 1101 was aus einem sehr zufälligen Grund tut... Denke du wolltest den Modus 0010 und hast die Invertierung zufälligerweise verpeilt...
Ansonsten bleibt wieder nur das übliche: Baudrate mal runter auf 300 Baud. In den µC kommt ein Programm, welches in einer Schleife auf Dauersenden geht, und dann wird mit Voltmeter, Oszi, Led (was gerade zur Hand ist) ausgehend vom µC Pin gesucht, wo das Signal verschwindet. 300 Baud deswegen, damit man auch mit einer Led an der Leitung noch was sieht (die Led flackert merklich).
>Die Blinkfrequenz kann die zu 1Mhz bzw. 4Mhz passen?
ich weiss was du/Sie meinst. werde es aber morgen schon ausprobieren.
Keine Kraft mehr heute.
also wenn ich das so hinbekomme, das Terminal mir richtigen Befehl
schreibt, dann soll das auch mit dem Handy funktionieren, oder?
Tobi wrote: > ich weiss was du/Sie meinst. Du > werde es aber morgen schon ausprobieren. > Keine Kraft mehr heute. :-) Alles klar. > also wenn ich das so hinbekomme, das Terminal mir richtigen Befehl > schreibt, Yep. > dann soll das auch mit dem Handy funktionieren, oder? Nicht so schnell. Wenn das klappt, heist das erst mal dass die Timing Erzeugung im µC korrekt funktioniert und Zeichen gesendet werden können. Dann bleibt immer noch die Sache mit der Pegelanpassung zum Handy.
>Dann bleibt immer noch die Sache mit der Pegelanpassung zum Handy.
das habe ich schon früher erledigt ;)
Danke
Tobi wrote: >>Dann bleibt immer noch die Sache mit der Pegelanpassung zum Handy. > das habe ich schon früher erledigt ;) Schon. Aber noch weiß keiner ob sie auch funktioniert :-) (Stelle bei der Fehlersuche alles und jeden in Frage, bis du durch einen Versuch nachweisen kannst, dass es funktioniert.)
Nimm die Checks bei den BODLEVEL2..0 mal raus und check den SUT0. Also BODLEVEL auf 1, SUT0 auf 0.
Guten Morgen! Ich bin es wieder. Also habe es mit der LED noch mal probiert.. die frequenz passt, also ca. 1Hz. Der µC läuft also mit 4MHz. mit dem code hier: [c] $regfile = "2313def.dat" $crystal = 4000000 $baud = 19200 Do Wait 1 Print "atds<1>;" Wait 60 Loop End [c/] empfange ich am Terminal nur so ein zeichen: "°" (wie Grad) die Verbindung funktioniert ja.. schon getestet. hat jemand eine Idee?
Mach mal die Baudrate auf 300 runter und am PC auch und schau ob dann was gescheites ankommt
compiler sagt "baud=300 not possible" kann ich was anderes noch probieren? also mit ist aufgefallen, dass er doch langsamer läuft, als 4 mhz. sind meine fuse-einst. richtig?
Wie schnell läuft er denn? Denn wenn nicht mit 4 MHz, dann sind entweder die Fuses falsch oder der Quarz stimmt nicht. Und da ich mal davon ausgehe, dass der Quarz richtig ist: die Fuses sind falsch.
hier noch mal der Schaltplan (in Anhang) Auf dem Quarz steht 4,000 Mhz drauf
die fuse-einstellungen sind so: http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif ich meiss nicht, wie schnell er läuft. aber eine sekunde dauert bei ihm ETWAS länger als eine sekunde. aber auf keinen Fall 4 sekungen. ich schätze mal 1,5-2 sekunden. wenn die Fuse-Einstellungen falsch sind, wie ist denn richtig?
laut dattenblatt ist das doch richtig, oder? ich habe mal eine Idee. damit ich jede hardwareproblemme ausschliessen kann, könnte hier vielleicht jemand eine hex-datei posten? also für attiny2313 mit 4 mhz. soll über UART nur "hallo" Ausgeben, mehr nicht. ist das möglich?
also PROBLEM BEHOBEN lag an meinem Quellcode. Sollte Print INPUT "hallo" heissen am handy bekomme ich aber nichts :( pegelanpassung ist da. das handy reagiert überhaupt nicht
>Also, welches deiner Probleme ist behoben?
ich kann jetzt per UART zum PC was senden. kommt auch vernünftig an.
nun muss ich das ganze noch zum Handy senden.
es wird auch gesendet, aber das Handy reagiert nicht.
vielleicht falsches befehl?
nein, nichts vertauscht den richtigen befehl habe ich jetzt auch gefunden, und zwar "ATD+4917972852xx;" das einzige problem ist nur noch, dass er NICHT immer wählt. also mal wählt er, mal nicht. woran kann das liegen? ich habe eine do-loop schleife gemacht von 10 mal wählt er nur 4 mal. also zufällig, kann auch 5 oder 6 mal sein. weiss jemand warum?
das liegt bestimmt an der Pegelanpassung. ich habe schon 1,5 ; 2,7 ; 3,3 ; 3,9 ; 4,7 V Z-Diode versucht. bei 4,7 und 1,5 V Z-Diode funktioniert das nicht. bei den anderen gleich schlecht. wie kann man das Problem lösen? Weil das wirklich ein Problem ist.
Vielleicht hast du das Handy bei den ersten Versuchen mit 5V gegrillt. Wenn möglich versuch es doch mal mit einem anderen. Oder noch einfacher überprüfe ob das Handy jedesmal wählt wenn du es vom PC aus ansteuerst.
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.