mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit Rs232 Empfang


Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

ich habe folgendes Problem. Ich habe ein Evaluationsboard von Pollin, 
hat mir immer gute Dienste erwiesen. Hat bis dato alles irgendwann 
funktioniert. Nur nun komme ich bei was ganz "simplen" nicht weiter: Ich 
habe einen Atmgea16, laut Pollin Beschreibung liegen dem Set 3mal 8Mhz 
Quarze bei. Stelle ich nun den Atmega16 auf 8Mhz und Baudrate 9600 
Empfange ich über ein Nullmodelkabel zu einer ShineNet IO Karte 
(seriell) bei einem kleinen  Testprogramm nichts vernünftiges. Stelle 
ich nun den Quarz auf 16 Mhz
funkioniert die Verbindung. Ich schließe daraus das es wohl ein 16Mhz 
Quarz ist`? Übersehe ich was?

2. Mein kleines Testprogram wartet in einer Schleife auf die Eingabe 
eines Bytes von der Rs232 Schnittstelle. Ich habe es in 4 Tagen nicht 
geschafft ein Byte zu empfangen :(
Ich habe folgendes probiert: Zuerst benutzte ich noch einen 
USB-to-Seriell
Converter. Der funkioniert (wenn auch langsam) zum flashen der avrs über 
ponyprog. Er funktioniert auch um Ausgaben vom Controller zu übertragen 
(Anzeige mit putty, hyperterminal, bascom terminal emulator getestet).
Allerdings kann ich wie beschrieben keine Werte senden. Es kommt 
zumindestens nichts an. Das Testprogramm macht nichts anderes als in 
einer Schleife auf eine eingaben zu warten und im falle diese 
Auszugeben.
Zuerst vermutete ich den USB-to-Seriell Convertet, also besorgte ich mir 
eine PCI-Nachrüstkarte um wieder echte serielle ausgänge zu haben. 
Ponyprog rennt jetzt :)
Allerdings immer noch keine Reaktion des COntrollers wenn ich über die 
Rs232 Schnittstelle was sende.
Meine nächste Vermutung: Der PegelConvertet max232.
Also im Datenblatt nachgeschaut und siehe da, er ist ein dualreceiver - 
ich habe alos noch jeweils einen ungenutzen ein und- ausgang. Also 2 
Brücken gelötet und den anderen Eingang des Max232 angeschlossen sowie 
den Ausgang. Leider gleiches Ergebnis ;(
Hat irgendjemand eine Idee  Anregun Erfahrung mit solch einem Problem.
Ach ja ich habe schon einen anderen atmega getestet, richtig geraten, 
leider gleiches Ergebnis.
Danke schonmal!

mfg Jonas

Autor: Jonas Biensack (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier das Testprogramm ist eins zu eins aus dem Internet kopiert! Nur der 
Atmega Typ sowie das Quarz auf 16Mhz eingestellt.

Autor: LordZiu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist die Fuse CKDIV8 gesetzt?

Autor: LordZiu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BTW: Wie verstellst du denn einen Quarz? Du meinst, du änderst die 
Variable, die die Taktrate angibt?

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@LordZiu: Sorry für die blöde Ausdrucksweise, ich meinte ich setzte im 
Quellcode die Variable $crystal auf den Wert 16000000
Fusebits lese ich schnell aus...

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pollin hält sich beim Eintüten der Bauteile nicht immer an die 
Beschreibung.

Autor: LordZiu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber es muss ja was auf dem Quarz draufstehen ...

Autor: Jonas Biensack (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan B: Dachte ich mir auch schon :)
@Lordziu: Anbei meine Fusbit config.

Autor: LordZiu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, und was steht jetzt auf dem Quarz drauf? Wenn du es nicht 
interpretieren kannst, mach ein Foto und zeig es uns.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da steht auf 2 von 3: A83NDK69
Und auf dem anderen: 8c000000
Wenn ich Daten vom Controller in putty empfangen kann, sollte doch die 
Baudrate bzw der Wert von $crystal stimmen? oder?

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Fuse Einstellung steht auf External Clock

Das kann nicht gehen.

Autor: LordZiu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonas Biensack schrieb:
> Da steht auf 2 von 3: A83NDK69
> Und auf dem anderen: 8c000000
> Wenn ich Daten vom Controller in putty empfangen kann, sollte doch die
> Baudrate bzw der Wert von $crystal stimmen? oder?

Sollte eigentlich. Was du auch noch zum Testen machen kannst, ist eine 
LED in einem genügend langsamen Takt an- und auszuschalten. Z.B. alle 5 
oder 10 Sekunden. Das kann man ganz gut mit ner Uhr nachmessen, ob das 
Delay stimmt.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also zusammenfassung: Externes Quarz ist über fusebit eingeschaltet.
Im Quellcode ist die baudrate auf 9600($baud = 9600) und das quarz auf 
16mhz eingestellt ($crystal = 16000000).
Ich empfange wie erwartet daten in putty. Das funktioniert!
Mein Problem liegt beim Emfpang von Daten im MicroController.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ein print funkioniert aber ein input nicht. :(

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Externes Quarz ist über fusebit eingeschaltet.

Externes Quarz =! External Clock

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
anderst gefragt: gibt es eine fusebit einstellung die ein senden von 
daten ermöglichen aber einen empfang unmöglich machen würde?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonas Biensack schrieb:
> anderst gefragt: gibt es eine fusebit einstellung die ein senden von
> daten ermöglichen aber einen empfang unmöglich machen würde?

Nein.
Wenn das Senden mit der eingestellten Baudrate funktioniert, dann auch 
das Empfangen. Einzige Möglichkeit wäre noch: Du bist ein ganz kleines 
bischen neben der eingestellten Frequenz. Das kann zb auftreten bei 
internem RC-Oszillator. Der schwingt normalerweise auf zb 8 Mhz, hat die 
aber nicht ganz genau. Ist nun die UART im PC etwas toleranter auf die 
Abweichung dann kann sie zwar noch empfangen, aber das was vomPC 
gesendet wird, liegt ein winziges bischen daneben. Empfangen müsstest du 
trotzdem etws, nur nicht das richtige.

Da du aber 16Mhz im BASCOM angegeben hast und offenbar mit dieser 
Einstellung und 9600 Baud auf dem PC auch mit 9600 Baud empfangen 
kannst, kann man davon ausgehen, dass der Quarz auch benutzt wird. Einen 
TC-Oszillator mit dieser Frequenz gibt es nicht. Das nächste wäre 8Mhz 
und dann würde mit identischen Baudrateneinstellungen auf µC und PC 
nichts mehr gehen.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe gerade folgendes nochmal gelesen:

"Für einen externen Quarz ist die Einstellung External Crystal/Ceramic 
Resonator notwendig, also eine Einstellung von 1111. Unglücklicherweise 
ist bei den vielen Fusebit Einstellprogrammen nicht auf den ersten Blick 
offensichtlich, ob ein gesetztes Häkchen nun eine 1 oder eine 0 
bedeutet. Anstatt auf 1111 werden die Fusebits auf 0000 gesetzt und 
damit ein External Clock eingestellt. Ein External Clock ist aber ein 
Quarzoszillator. Ein Quarz wird an so einer Einstellung nicht ins 
Schwingen kommen"
das würde bedeuten meine fusebit setzen den avr auf externes quarz oder 
nicht?

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Externes Quarz ist über fusebit eingeschaltet.

Stimmt schon.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonas Biensack schrieb:

> das würde bedeuten meine fusebit setzen den avr auf externes quarz oder
> nicht?

Stell fest, wie schnell dein µC wirklich getaktet wird.
Mach eine Schleife in der eine LED ein/aus geschaltet wird. Dazwischen 
immer ein Wait (also Wartschleifen). Da die Warteschleifen auf die 
Taktfrequenz abgestimmt werden müssen, sieht man da, ob das stimmen 
kann. Ob deine Taktfrequenz ein paar Khz daneben liegt oder nicht, wirst 
du so nicht feststellen können. Aber das ist ja auch nicht das Thema. 
Hast du einen Wait 1 drinnen und die Wartezeit ist 1 Sekunde, dann 
stimmt die $crystal Einstellung mit 16Mhz. Ist die reale Wartezeit 2 
Sekunden, dann arbeitet der µC mit 8Mhz.
Den Unterschied 1 Sekunde zu 2 Sekunden sieht man aber mit freiem Auge.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Uhr hatte ich bereits implementiert und die Abweichung bei einer 
Stunde war mit bloßen Auge / Uhrenvergleich nicht zu messen (weniger als 
1 sek). Das passt schon.

Autor: Jonas Biensack (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Gefühl das der Max232 spinnt. Ich habe den zweiten Ausgang 
mal beschaltet. Gleiches Ergebnis.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frage zu der Schaltung. Sollte ich auch den zweiten Eingang dann 
beschalten?
Also immer Eingang 1 und Ausgang 1
oder geht auch Eingang1 und Ausgang 2

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonas Biensack schrieb:
> Frage zu der Schaltung. Sollte ich auch den zweiten Eingang dann
> beschalten?
> Also immer Eingang 1 und Ausgang 1
> oder geht auch Eingang1 und Ausgang 2

Ist völlig wurscht.

Ich denke nicht, dass der MAX spinnt.
Schnapp dir eine LED, häng einen Vorwiderstand 1k drann. Ein Ende dieser 
Testschaltung an Masse (kurz mit dem anderen Ende an +5V titschen um zu 
sehen ob die LED auch wirklich leuchtet). Dann legst du einen Stein auf 
die PC-Tastatur (so dass der auf Dauersenden ist) und gehst mit deiner 
LED die Schaltung, beginnend beim Kabel, durch. Das Blinken der LED ist 
nicht zu übersehen. Hast du einen Punkt kontrolliert, gehst du eine 
Stufe weiter, bis du weißt, wo das Signal verschwindet.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schonmal! Ich sollte vielleicht noch was  zu dem Projekt allgemein 
sagen. Geplannt ist eine Klimasteuerung für ein Terrarium. Ich habe hier 
SHT75 Feuchte - Temperatursensor erfolgreich angeschlossen. Mehrere 
Relaistreiber, Lüftersteuerung usw sind gerade im Aufbau.
Ein Programm (vb net 2008) kommuniziert über Rs232 mit der Steuerung.
Bis Dato sendet der Controller einmal pro Sekunde die aktuelle Zeit, 
Datum, sowie Feuchte - Temperaturwerte und aktuelle relaiszustände.
Die Software auf dem Rechner zeigt mir dann über ein Chart Controll die 
Messwerte als Kurve an. Der Pc dient also als Schnittstelle Mensch - 
Controller.
Soweit sogut. Nun habe ich mir "Protokol" ausgedacht nach den PC / 
Controller kommunizieren. Eigentlich ziemlich simpel. Wäre da nicht das 
Problem das "nichts aber auch garnichts" vom MircoController empfangen 
wird. Daraufhin habe ich dann das Program auf 7 Zeilen! gekürzt um das 
Problem einzugrenzen. Wie oben beschrieben.
Ich werde das mal probieren mit der LEd. Danke!
Meld mich gleich nochaml

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So also: Direkt am Max232 blinkt sie schön, wenn ich sende. Hab ein 
kleines Tool gemacht, was alle 2 Sekunden "A1" sendet und beeped. So hab 
ich auch ein akustisches Signal und muss nicht auf den Pc schauen. Nach 
dem Max leuchtet sie ständig( invertiert ?!). Ich meine ein ganz kurzes 
abschächen der leuchtkraft wenn daten gesendet werden zu sehen. Mh....

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht die Leitung vom Max232 zum MicroController nochmal mit einem 
Widerstand gegen Masse ableiten...?! Macht das sinn?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonas Biensack schrieb:
> So also: Direkt am Max232 blinkt sie schön, wenn ich sende. Hab ein
> kleines Tool gemacht, was alle 2 Sekunden "A1" sendet und beeped. So hab
> ich auch ein akustisches Signal und muss nicht auf den Pc schauen. Nach
> dem Max leuchtet sie ständig( invertiert ?!). Ich meine ein ganz kurzes
> abschächen der leuchtkraft wenn daten gesendet werden zu sehen. Mh....

Geh mit der Baudrate runter. 300 Baud sieht man gut

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok danke für den Tip. Ich glaube nämlich die Led ist doch dauern an :(
Würde auf einen defekten max232 hinweisen...
Ich progge mal schnell auf baudrate 300...

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also Baudrate ist nun auf 300 eingestellt. Hast recht jetzt sieht man es 
schön. Allerdings nur vor dem Max232. Danach ist die LEd ständig an?
Max232 tot? Was meint ihr?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was heißt denn "vor dem Max232"? Hab ich es richtig verstanden, dass 
dein Controller Zeichen sendet und diese zwischen Controller und MAX232 
mit der LED sichtbar sind und zwischen MAX232 und PC nicht mehr?

Was ist wenn der PC Daten sendet?

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PC---1--Max232----2---MC RXD Empfangen (funktioniert nicht)
PC------Max232--------MC TD  Senden (funktioniert)

Bei 1: Led blinkt wenn Pc Daten sendet
Bei 2: Led ist ständig an

Hoffe so ist ersichtlich, danke für euer Mühe!

mfg Jonas

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Max232 hat ja zwei Sender / Empfänger. Ich habe nun den zweiten 
Empänger beschaltet und nun geht die Led kurz aus, wenn Daten gesendet 
werden.
Das ist doch schonmal gut, allerdings sobald ich den avr dann dann an 
den max232 hänge, leuchtet die led wieder ständig. sie geht also bei 
datenempfang nicht kurz aus. Ist das normal? Sollte die Led auch 
ausgehen, wenn der avr drannhängt:

PC-------max232------1-----avr
PC-------max232------2-----

1: Hier leuchtet die LED ständig
2: Hier geht sie bei Datenempfang vom PC aus.

Wie könnte ich weiter vorgehen?

mfg jonas

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst auch mal die Funktion der Ladungspumpen prüfen. Im Idealfall 
solltest Du an Pin 2 +10V und an Pin 6 -10V messen. Sollte das eklatant 
abweichen, so kontrollierst Du am besten die Beschaltung mit den 
Kondensatoren nochmal. Allerdings glaube ich nicht, dass es daran liegt 
denn das Senden von Controller zu PC funktioniert ja.

Außer eine unerwünschte Verbindung, die die RxD-Leitung zwischen 
Controller und MAX232 auf Vcc oder einem ähnlichen Potential hält fällt 
mir spontan auch nichts ein. Schaffst Du es dem MAX232 so in die fassung 
zu stecken, dass Pin 10 bzw. 13 nicht mit drin stecken? Dann könntest Du 
dort nochmal die LED dran halten.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonas Biensack schrieb:

> Das ist doch schonmal gut, allerdings sobald ich den avr dann dann an
> den max232 hänge, leuchtet die led wieder ständig. sie geht also bei
> datenempfang nicht kurz aus. Ist das normal?

Nein, ist es nicht.
Der entsprechende Eingang vom AVR ist auf Eingang gestellt. Wenn der MAX 
auf low ziehen will, dann soll er das auch können.

Du bist am richtigen Pin?

Wenn das stimmt, kanns nur noch ein Softwareproblem sein oder aber der 
max hat es wirklich hinter sich gebracht.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonas Biensack schrieb:
> Das ist doch schonmal gut, allerdings sobald ich den avr dann dann an
> den max232 hänge, leuchtet die led wieder ständig. sie geht also bei
> datenempfang nicht kurz aus. Ist das normal?

Du hattest schon den gleichen Einfall :-) Super!
Normal ist das nicht. Vielleicht hast Du den Pin am AVR versehentlich 
als Ausgang konfiguriert.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schonmal. @Chris: Pin2: 8,91 Volt. Pin6: -8.31 Volt.
@Karl Heinz: Ich gehe direkt mit einem Kabel von Pin 9(max232) zu Pin 
14(atmega16). Mh...

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zusammenfassung:
An dem zweiten Empfänger für Rs232 Pegel (Pin8 am max232) blinkt die Led 
auf wenn Daten gesendet werden. -gut-
An dem zweiten Ausgang für TTL Pegel (Pin9 am max232) geht die Led kurz 
aus wenn Daten gesendet werden und der Avr nicht angeschlossen ist.
Ist der Avr aber angeschlossen, bleibt die Led ständig an, auch wenn 
Daten gesendet werden.

danke für eure mühe.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So der minimale testcode:

$regfile = "m16def.dat"
$crystal = 16000000
$baud = 300
Dim Akey As Byte                                            'Here we 
declare a byte variable
Do
Print
Print "Hello, hit any alphanumerical key..."
Akey = Waitkey()                                            'Waitkey 
waits untill a char is received from the UART
Print Akey
Loop

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> @Chris: Pin2: 8,91 Volt. Pin6: -8.31 Volt.
Passt.

Du kannst mal noch versuchen einen 1k Pullup gegen Vcc an Pin 9 des MAX 
232 anzuschließen (ohne AVR in der Schaltung). Wenn die LED dann immer 
noch blinkt halte ich den MAX232 für ok und der Fehler ist beim AVR zu 
suchen.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interresant ist, wenn ich das Kabel vom avr an den Max232 klemme, das 
die led heller leuchtet?

1. Led leuchtet:
                                masse
                                 |
                                Led
                                 |
PC--------(pin 8)Max232(pin 9)----------------



2. Led leuchtet heller:
                               masse
                                 |
                                Led
                                 |
PC--------(pin 8)Max232(pin 
9)----------------------------------(pin14)avr

Auf was könnte das hinweisen?

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@chris: das mit dem Pullup probiere ich sofort aus!

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also Led geht immer noch kurz aus wenn ich Daten sende mit pullup von 
pin9 nach masse(1k). Hab einen anderen avr ausprobiert. Kommt nichts. 
Das kann doch irdendwie alles nicht war sein. verzweifel mh....

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sobald ich einen avr an den Max232 leuchtet die Led ständig. Mache ich 
ihn ab, geht sie aus bei Datenempfang. 3 avr durchprobiert. Ich mach 
doch irgendwas grundsätzlich falsch ;(

mfg jonas

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, wahrscheinlich liegt es an der Software. Ich habe von BASCOM 
überhaupt keinen Schimmer., daher kann ich dir hier nicht mehr 
weiterhelfen. Trotzdem viel Erfolg noch!

P.S. Das einzige was mir noch einfällt: Was misst Du denn am AVR Pin 14 
für eine Spannung wenn der Pin in der Luft hängt? 5V? Wenn ja, was misst 
Du wenn Du mit einem 1k Pulldown an GND gehst? Sollten das immer noch 5V 
sein, so ist der Pin irgendwie noch als Ausgang konfiguriert. Ist nur 
noch so eine Idee...

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast recht! Jeweils frei in der Luft und mit pullup nach masse(1k) 
liegen knapp 5 volt an. Was heisst das nun genau? mfg jonas

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die viele mühe!. Hat jemand zufällig ein kleines fertig 
compiliertes Programm, was einfach nur ein Zeichen über uart empfängt 
und das wieder zurückgibt. Ein echo quasi.
mfg jonas

Autor: Jonas Biensack (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist vielleicht noch was wesentliches eingefallen. Ich habe als ich 
das pollin board bestellt hatte vergessen ein NEtzteil mitzubestellen. 
War soweit kein Problem da ich noch ein 5 Volt netzteil hier rumliegen 
hatte. Das pollin board braucht ja ein 9 Volt Netzteil mit 
Wechselspannung. Das was ich hier rumliegn hatte, hat allerdings 5 Volt 
Gleichspannung. Ich habe das netzteil an folgenden Punkten(s. Anhang) an 
die Schaltung angeschlossen. Bis dato hatte ich keine Probleme, aber 
vielleicht hat das ganze ja was mit dem Problem hier zu tun!
mfg Jonas

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Jeweils frei in der Luft und mit pullup nach masse(1k)
> liegen knapp 5 volt an. Was heisst das nun genau?
Das der Pin nicht als Eingang konfiguriert sein kann. -> Das Problem ist 
also wohl in deiner Software zu suchen.

> Ich habe das netzteil an folgenden Punkten(s. Anhang) an
> die Schaltung angeschlossen.
Ist es stabilisiert (ggf. nachmessen)? Alles über 5,5V kann Schaden am 
AVR verursachen. Unterspannung kann die Funktion natürlich auch 
beeinträchtigen :-) Ansonsten kein Problem.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind saubere 5 Volt. Ich werd mir jetzt mal avrstudio laden. ein 
beispiel programm aus dem netz suchen und versuchen das zu compilieren. 
Danke für deine Hilfe.

Ich meld mich nochmal.

mfg jonas

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Tip: Lerne Assembler und arbeite das AVR-Tutorial hier durch. Das 
dauert zwar, aber nur so wirst Du deinen Controller so richtig kennen 
und verstehen lernen.

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guter Tip, ich habe schon ne ganze Weile in assembler geproggt. War 
alles toll, bis irgendwelche Side-Effecte aufgetretten sind die ich 
nicht debuggen konnte. Das war grausam. Ich hab dann einfach mal aus 
Spass Bascom probiert und das hat sofort super gefunzt. Entwicklungszeit 
hat sich wesentlich verkürzt. Vor allem funktionierte meistens alles wie 
erwartet. Und Bascom compiliert es ja auch in asm und meistens 
optimiert. Nun ja, wird mir wohl nichts anderes übrig bleiben als es 
wieder anzugehen. Sobald ich den Fehler habe, werde wieder auf bascom 
umschweifen.


Mfg Jonas

Autor: Jonas Biensack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, habe nun ein Software-Uart mit bascom eingerichtet:

$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 300

Dim Tstr As String * 4
Dim Num As Word

'open channel for output

Open "comb.2:300,8,n,1" For Input As #2

Do

  Waitms 100

  Print "text: "
  Input #2 , Tstr
  Print Tstr
  Print "number: "
  Input #2 , Num
  Print Num
Loop

End


Und siehe da es funktioniert. Keine Ahnung warum der Hardware-Uart nicht 
wollte. Auf jeden Fall bin ich nun sehr froh das es nun endlich weiter 
gehen kann. Ich danke allen die sich die Mühe gemacht haben mir zu 
helfen.
Also danke!

mfg Jonas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.