PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bascom terminal



Dominik009
06.12.2009, 17:16
Hi
ich hoffe ich poste im richtigen unterforum.
ich habe ein problem.
ich habe hier ne rncontrol und das rs232 kabel (für den serial port) von robotikhardware.
auf das rncontrol habe ich das standart program in bascom geflasht.
nun wen ich auf die tasten drücke sollte der ja normal was an menen pc über das rs232 kabel senden.
das geht aber nicht.
ich haber hier das bascom terminal.
es kommt immer could not open com1.
was kann ich tuen.
wie muss ich es einstellen?gruß
dominik

BurningWave
06.12.2009, 20:28
Wenn eine Meldung kommt, dass der Port COM1 nicht geöffnet werden konnte, hast du höchstwahrscheinlich keinen Port der COM1 heißt. Probier mal COM2, COM3,... .
Wenn das nichts hilft, kannst du mal ein anderes Terminalprogramm probieren (du hast dein rncontrol auch hoffentlich an eine serielle Schnittstelle und an keine Druckerschnittstelle angeschlossen, sonst musst du LPT1 auswählen).

mfg

Richard
06.12.2009, 20:56
Wenn eine Meldung kommt, dass der Port COM1 nicht geöffnet werden konnte, hast du höchstwahrscheinlich keinen Port der COM1 heißt. Probier mal COM2, COM3,... .


Oder com1 ist schon geöffnet, dann klappt es auch nicht. Schaue doch mal
in der Systemsteuerung nach welche com frei ist, wenn Du einen usb seriel
Adapter benutzt hängt der sehr warscheinlich an einermhöheren com port.

Gruß Richard

Dominik009
06.12.2009, 21:13
álso also also,
ich benutze zum programmieren nen rechner der einen parralel und einen seriel port hat.
am serielenen hägt meine ISP dougel (lüft einwandfrei)
und am seriellen hängt das rs232 kabel (von robotikharware),
Wo kan ich bei vist/win7 nachschauen welche comports frei sind.
werde mal die ganze ports testen.
was gibt es den für andere terminalprogramme?

oder muss ich im bios was umstellen?

Dominik009
06.12.2009, 21:20
ich habe nun alle ports von com 1 bis 16 durch immer kommt could open com 1-16
egal welcher port und wierum der stecker im board sitzt.

BurningWave
06.12.2009, 21:29
Du kannst mal mein selbst geschriebenes Terminalprogramm probieren
Download hier: http://dl.dropbox.com/u/2858012/Programme/xTerm/xTerm.zip

Das öffnet eine Port auch, wenn nichts angeschlossen ist, solange er existiert und nicht geöffnet ist.

Richard
06.12.2009, 21:30
Du schreibst der Rechner hat nur eine serielle schnittstelle,
dann hast Du auch nur com1.

Du schreibst das an der seriellen dein isp Dongle hängt......
Du schreibst das Dein rs232 Kabel an der seriellen häng....

Ja was denn nun? Dongle oder rs323 Kabel? Beides geht
nicht und es darf immer nur ein Programm geöffnet sein
das auf die Schnittstelle zugreift. Wenn die com von einem
Programm geöffnet ist, kann kein anderes Programm diese
noch einmal öffnen und es kommt zu dieser Meldung.

Gruß Richard

Dominik009
06.12.2009, 21:40
sry habe mich verschireben.
an der serielen ist das rs232 und an der paralelen ist die isp.
ich habe nun im gerätemangaer nach geänderter hardware gesucht,
und nun hat er com 1 komonikationsanschlus gefunden.
wen ich dadrauf gehe kajnich einstellungen cornehmen.
in bascom bleibt we nich nin com 1 einstelle auch die fehlermeldung werg aber vom mega32 enpfange ich garnichts :(

Kampi
06.12.2009, 21:46
Wenn du im Bascom unter Communication Com 1 eingestellt hast und der RS232 Adapter auch an Com 1 hängt sollte es eigtl funktionieren. Zur Not gleich mal im Gerätemanager die Baudrate von dem Com am PC ab und stell dieselbe Baudrate auch im Bascom ein. Wenn es dann nicht funktioniert ist a) dein Kabel im eimer oder b) Bascom spinnt rum.

Zur not lad dir einfach mal Tera term runter das benutz ich auch und das stresst nicht so rum

BurningWave
06.12.2009, 21:48
In der Microcontrollertechnik funktioniert (fast) nie etwas auf anhieb, das ist leider so.
Überprüfe mal deine Verbindungen, poste mal den Schaltplan. Du kannst auch TxD und RxD überbrücken (µC davor enfernen!), und dann etwas senden, es sollte dann sofort als Echo zurückkommen. Funktioniert das, dann weißt du, dass du einen Programmfehler hast, wenn nicht, ist der µC nicht korrekt mit dem Computer verbunden.

BurningWave
06.12.2009, 21:51
Und das wichtigste habe ich vergessen: Es muss natürlich in deinem µC, sowie im Terminal die gleiche Baudrate, Parity, gleiche Anzahl an Stop- und gleiche Anzahl an Datenbits eingestellt sein.

Es wäre außerdem gut, wenn dein µC mit einem externen Quarz läuft, da der interne Quarzoszillator zu ungenau ist. Die angegebene Taktrate in deinem Programm muss natürlich mit der des Controllers übereinstimmen!

Dominik009
07.12.2009, 12:46
also ich habe jetzt folgendes programm auf den controler geflasht:

$regfile = "m32def.dat" 'Die Anweisung bestimmt Controllertyp, hier AVR Mega 32
$framesize = 32 'Stackanweisungen, die eigentlich nur bei größeren Programmen
$swstack = 32 'wirklich nötig werden
$hwstack = 32
$crystal = 16000000 'Die Frequenz des verwendeten Quarzes

$baud = 9600 'Die Baudrate für RS232 Ausgabe.
'Sie muss auch bei PC Terminalprogramm identisch sein
do
Print "**** RN-CONTROL sagt Hello World *****"
wait 1
loop

nun müsste ja die rncontrol immer weiter hello world´via rs232 ausgeben.
ich empfange in bascom aber nicht.
Tera term sauge ich nacher.


Du kannst auch TxD und RxD überbrücken (µC davor enfernen!), und dann etwas senden, es sollte dann sofort als Echo zurückkommen.
wie meinst du das mit dem überbrücken?
was meinst du mit yc? demn mega32?

Es muss natürlich in deinem µC, sowie im Terminal die gleiche Baudrate, Parity, gleiche Anzahl an Stop- und gleiche Anzahl an Datenbits eingestellt sein.

wo stelle ich das den am controller oder bessergesagt wie stelle ich es ein?
ich habe den controller an nem quarz hängen.
zum schaltplan es ist das normale rncontrol 1.4
ich kann ihn aber auch noch hier posten.

Dominik009
07.12.2009, 12:56
anbei der plan.
ich muss noch was schreiben da ich mindesten 15 zeichen pro beitrag haben muss.

edit: wollte sagen wen´ich den ma232 weglasse und direkt vom mega32 sende kommen wirre "schrifteiche"n im terminal an[/code]

BurningWave
07.12.2009, 13:08
Das mit dem Überbrücken habe ich so gemeint: Du nimmst den µC (Abkürzung für Microcontroller) aus der Schaltung und verbindest die Sende- und die Empfangsleitung mit einem Kabel. Dann sollte alles, was du sendest sofort zurückkommen.

Dominik009
07.12.2009, 13:22
also du meisnt da ich den max232 rausnehme und und die ports brücke.
wofür ist der eigentlich da?
also wie meinst du das mit zurückommen wihin zurück?
alles was der mega sendet kommt zu ihn zurück?
und wie merke ich das?
aalso wen ich die ports direkt verbinde kommt wei gesagt nur wirres zeug

Dominik009
07.12.2009, 13:24
in tetra term kommt auch nur müll:
µµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åë

(wen ich den max232 weglasse,
sonst kommt garnichts

BurningWave
07.12.2009, 13:31
Nein, ich meine, dass du den Mega32 entfernen sollst und seine Pins PD0 und PD1 (RxD und TxD) miteinander verbinden sollst. Der max232 muss in der Schaltung bleiben. Wenn du nun etwas in deinem Terminal eingibst und senden drückst, muss der eingegebene Text wieder zurückkommen, also in deinem Terminal bei den empfangenen Daten angezeigt werden.

Kampi
07.12.2009, 13:32
Der Max232 ist dafür da um die Signale die vom Mega32 kommen in PC Signale umzuwandeln damit der PC die verarbeiten kann. Und um den zu testen brückst du die beine vom max232 die zum Mega gehen (mussten 9 und 10 sein) und den max232 schließt du an den pc an. Und bei tera Term testest du das indem du z.B. Q drückst und dann Q am bildschirm erscheint. Den Max232 rausnehmendarfst du nicht weil er die Verbindung von Controller zu pc darstellt.

Hoffe das hilft dir weiter

lg Kampi

Ceos
07.12.2009, 13:33
also zunächst, den µC (den atmel nicht den MAX, das ist ein pegelwandler kein controller) und dann die RX und TX pins miteinander verbinden, jetzt sollte, sofern dein MAX232 richtig funktioniert, an deinem hterm genau das rauskommen, was du eingibst .... sollte dem nicht der fall sein ist wohl was mit dem MAX232 nicht ganz in ordnung und DAAA hab ich doch mal direkt eine vermutung!!!

ich sehe, dein MAX232 auf dem schaltplan weist wie schon allzuoft gesehen nicht ALLE pins auf, der hat auch noch einen GND und VCC pin, die angeschlossen werden müssen!!!

der max232 ist ein pegelwandler, da dein computer mit +/-12V arbeitet und dein µC mit 0-5V, ein direktes verbinden sollte unter allen umständen vermieden werden, da sonst einer von beiden, PC oder µC den geist aufgeben wird ^^

Dominik009
07.12.2009, 13:48
also ich soll den mega 3 rausmachen und rxd und txd verbinden und dan daten vom pcaus senden und die sollen zurückkommen?
wird gemacht.
wied sende ich den daten vom pc aus?

weil wen ich im tera term q drücke passiert gernichts

BurningWave
07.12.2009, 13:56
Du sendest Daten mit einem Terminalprogramm, da kannst du irgendein beliebiges nehmen. Geht das mit deinem BASCOM-Terminal denn nicht? Wenn nicht, kannst du z.B. das, dass ich selbst programmiert hab (Link: siehe oben) nehmen. Es ist einfach zu bedienen und funktioniert gut.

Dominik009
07.12.2009, 13:58
mei ihr den da ich dem max323 gebrückt habe das jetzt was kaput ist?
der mega32 funktionert nooch und der max war u diesem zeitpunkt nicht in der schaltujg

Dominik009
07.12.2009, 14:00
ich weis jan nur nicht wo ich in den terminals drücken muss um was zu senden
und das der max mit gnd und vcc verbnden ist denke ich schon da ich das board ja fertig gekauft habe

Ceos
07.12.2009, 14:08
RX und TX sind immer ein ein und ausgang, die zu verbinden ist nichts weiter als wenn ich ein mikrofon nehme und es mit deinen kopfhörern verbinde, du hörst dir quasi selber beim reden zu, da geht nix kaputt ^^

es sei denn, du hast die leitungen zwischen computer und µC direkt ohne MAX232 verbunden, dann könnte eventuell ein schaden enstanden sein, aber in der regel geht der cointroller hopps, die serielle schnittstelle vom PC ist recht robust

versuch, wenn es mit dem max232 und den gebrückten RX TX am µC nicht funktioniert, einfach mal indem du den max232 ausstteckst und RX und TX vom computer miteinander verbindest, dann müsste auf jeden fall am PC dasselbe ankommen, was du im terminal eingibst!

und prüfe wie oben gesagt, ob du VCC und GND verbunden hast, der schaltplan lässt die anschlüsse leider vermissen ^^

Dominik009
07.12.2009, 14:11
ja ich habe das board ja gekauft von robotikhardware da muss ja normal lalles verbunden sein.
also ich nehme jetzt mal den max raus und verbinde die ports vom pc miteinander

BurningWave
07.12.2009, 14:12
Wenn er nicht in der Schaltung war, ist er auch nicht kaputt, außerdem sind die meisten ICs, was sowas betrifft, robuster als man denkt. Probier das halt einfach mal aus.

Dominik009
07.12.2009, 14:16
alson ich die ports die am max anliegen (dievom pc kommen9 verbinde,
kommt immer das elbe zurück.

Dominik009
07.12.2009, 14:22
also ich habe ebne die spannung verbessen.
wen ich den mega und die ausgänge rxd und txd verbinde und den max drinnen lasse kommt auch das signal zurück zum pc

Dominik009
07.12.2009, 14:24
aber wen ich den mega (den max auch) reinmache und den was senden lasse kommt nichts am computer

Ceos
07.12.2009, 14:26
dann ist es wohl ein problem mit der baudrate und/oder den stoppbits

welche baudrate hast du im µC und welche am Computer eingestellt ?

und wie sind byteformat und alles andere eingestellt ?

BurningWave
07.12.2009, 14:29
Dann weißt du jetzt, dass es nicht an der Verbindung zum µC, sondern am µC selbst liegt, das ist doch schon mal ein Fortschritt. Und was mir auch aufgefallen ist, dein Datenmüll, den du empfangen hast, als der µC eingesteckt war, wiederhohlt sich immer, wenn du das gleiche sendest. Das deutet darauf hin, dass der µC auch etwas sendet, nur irgendetwas mit der Taktrate nicht stimmt. Bei mir war es so, dass ich anfangs auch nur solchen Müll empfangen habe und dann bemerkt habe, dass bei den empfangenen Daten bei jedem Byte das achte Bit gesetzt ist, das darf natürlich nicht sein (ich weiß bis heute nicht, woran das liegt). Deswegen habe ich mir mein eigenes Terminal geschrieben, dass bei den empfangenen Daten das achte Bit automatisch löschen kann. Ich würde dir empfehlen, das auch mal zu überprüfen.

Ceos
07.12.2009, 14:34
O_o also nach meiner rechnung hat ein normales byte 8bit also sollte das doch stimmen ?! ausserdem ein startbit und mind. ein stoppbit, also 10baud(bits) pro byte

Dominik009
07.12.2009, 14:35
das ist der code und in tera term siets wie folt aus:

$regfile = "m32def.dat" 'Die Anweisung bestimmt Controllertyp, hier AVR Mega 32
$framesize = 32 'Stackanweisungen, die eigentlich nur bei größeren Programmen
$swstack = 32 'wirklich nötig werden
$hwstack = 32
$crystal = 16000000 'Die Frequenz des verwendeten Quarzes

$baud = 9600 'Die Baudrate für RS232 Ausgabe.
'Sie muss auch bei PC Terminalprogramm identisch sein
Do
Print "**** RN-CONTROL sagt Hello World *****"
Wait 1
Loop
com 1
baud 9600
data 8 bit
parity none
stop 1 bit
flash control none


im bscom terminal stehts so:
com: com1
baudrate: 9600
parity none
databis 8
stopbits 1
handshake none
emulation decvt100

BurningWave
07.12.2009, 14:37
Ich habe das achte Bit des Datenbytes (nicht des gesammten Bytes mit Start-, Stopbit) gemeint.

Ceos
07.12.2009, 14:39
täusche ich mich oder fehlt in dem bascom schnipsel nicht die formatangabe ? bin da leider nicht so firm

ich würde es pauschal mal mit 8N2 versuchen, 8bits, keine parität und 2 stoppbits am computer .... im datenblatt wird zumindest standardmäßig immer von 2 stoppbits geredet

hat dein µC definitv auch 16Mhz takt ?

Dominik009
07.12.2009, 14:39
also der code ist so:
$regfile = "m32def.dat" 'Die Anweisung bestimmt Controllertyp, hier AVR Mega 32
$framesize = 32 'Stackanweisungen, die eigentlich nur bei größeren Programmen
$swstack = 32 'wirklich nötig werden
$hwstack = 32
$crystal = 16000000 'Die Frequenz des verwendeten Quarzes

$baud = 9600 'Die Baudrate für RS232 Ausgabe.
'Sie muss auch bei PC Terminalprogramm identisch sein
Do
Print "**** RN-CONTROL sagt Hello World *****"
Wait 1
Loop


die einstellungen in bascom sind so:
http://www.LupiUpload.de/file.php/file/mn5UJfFMpQ/original

BurningWave
07.12.2009, 14:40
Probiere mal verschiedene Einstellungen (z.B. 2 Stopbits) aus. Oder lasse den µC am besten das, was er empfängt wieder zurücksenden.

Dominik009
07.12.2009, 14:42
jo der quarts hat definitiv 16mhz steht ja auch 016.000 drauf ;D
ich hoffe der ist auch aktiviert müsste aber normal,
da ja alle anderen programme stanartmässig auch auf meinem mega32 laufen.

was meinst du mit " habe das achte Bit des Datenbytes "
wo steht das?

Dominik009
07.12.2009, 14:44
kan mir wer nen code geben der alles was er emüfngt auch zurücksendet?
weis leider selber nicht wie man sowas pogrammiert.

BurningWave
07.12.2009, 14:47
was meinst du mit " habe das achte Bit des Datenbytes "
wo steht das?

Das war @Ceos

Überprüfe die Quarzeinstellungen mit deinem Programmer halt einfach mal.



kan mir wer nen code geben der alles was er emüfngt auch zurücksendet?
weis leider selber nicht wie man sowas pogrammiert.

Ich kann kein BASCOM.

Dominik009
07.12.2009, 14:47
also mit 2 stopbits geht es immernochnicht.
hier mal ein pic vieleicht hilfts

BurningWave
07.12.2009, 14:52
Der externe Quarz ist aktiviert.

Dominik009
07.12.2009, 14:54
aha und nu.
Msit schon wieder zu wenig buchstraben.
wasn kann ich sonst machen

BurningWave
07.12.2009, 14:55
Suche halt mal im Internet nach entsprechendem BASCOM-Code, der den µC alles, was er empfängt wieder zurücksenden lässt und überprüfe, wie sich einzelne Bytes verändern. Oder teste es gleich mit meinem Terminal (das muss man nicht installieren).

Dominik009
07.12.2009, 14:59
also ich schue mal nach nem code.
dein terminal geht auch nicht

Dominik009
07.12.2009, 15:03
aslo im inet finde ich keinen code :(((

BurningWave
07.12.2009, 15:08
Warum geht mein Terminal nicht? Kommt eine Fehlermeldung oder warum?

Dominik009
07.12.2009, 15:09
nein es kommt auch in deisem terminal keine antwort com conroller.
kan mir wer helpen bin ab verzeifeln :(
:(

BurningWave
07.12.2009, 15:15
Ach bekommst du jetzt gar keine Antwort mehr? Ich habe gedacht es kommt das:

µµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åë

Wenn nichts mehr kommt, dann stimmt definitiv etwas mit der Baudrate, Taktrate nicht. Wenn du die Möglichkeit hast, mit einem Oszilloskop mal die Sendeleitung durchzumessen, dann mach das. Wenn du hier auch kein Signal bekommst, dann kann ich dir auch nicht weiterhelfen, da ich meine µCs in C programmiere, dafür hätte ich eine funktionierende Lib, aber bei BASCOM weiß ich nicht, ob man da noch irgendetwas andes machen muss.

Dominik009
07.12.2009, 15:18
kanst du mir msl das c lap geben.
also das was du schreibst kan als ich direkt von mega 32 zum rechner geschaltet habe one den max.
ein ozzi habe ich leider nicht

BurningWave
07.12.2009, 15:23
Bist du dir sicher, dass der µC dann noch funktioniert? Probiere es vorsichtshalber mal mit einem neuen (fals du noch einen hast).

Diese Lib ist nur zum Teil selbst programmiert und unterstützt Software, sowie Hardware USART.

PicNick
07.12.2009, 15:24
In deinem JPG von den Fuses steht

Reset-Vector is BOOT sektor (ganz unten)

Wenn du mit parallel-Port Programmierst, ist das ein Brimsen.
Das ist nur was für Boot-loader

Kampi
07.12.2009, 16:27
Ach bekommst du jetzt gar keine Antwort mehr? Ich habe gedacht es kommt das:

µµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åëµµµµÛ•yacW[ag¿=1¿o5''!¿Q!¿«««««åë

Wenn nichts mehr kommt, dann stimmt definitiv etwas mit der Baudrate, Taktrate nicht. Wenn du die Möglichkeit hast, mit einem Oszilloskop mal die Sendeleitung durchzumessen, dann mach das. Wenn du hier auch kein Signal bekommst, dann kann ich dir auch nicht weiterhelfen, da ich meine µCs in C programmiere, dafür hätte ich eine funktionierende Lib, aber bei BASCOM weiß ich nicht, ob man da noch irgendetwas andes machen muss.

Nein muss man nicht. Das Bascom Terminal läuft sofort sobald bei Communication der Port richtig eingestellt ist und der RS232 Adapter läuft

Richard
07.12.2009, 17:13
Mache das mal laaangsam Schtitt für Schritt!

1.) die beiden leitungen rxd/txd vom rs232 Kabel verbinden
ohne irgend etwas anderes da angescjlossen zu haben.
Dann unterhält sich der PC mit sich selber. :-) Damit kannst
Du testen ob die PC Schnittstelle überhaupt arbeitet.

Wenn das geht........>2 , wenn nicht mußt Du deen Fehler am PC suchen.

2.) Du schliest den pc wieder an den Max an und machst eine
Brücke zwischen den beiden TTL eingängen beim Max (den µC
dabei aus der Schaltung nehmen. Jetzt sollte der PC sich über den
Max232 mit sich selber unterhalten

Wenn das geht....>3, wenn nicht ist der max hinnüber oder falsch verdratet.

3. Prüfen ob wirklich eine Verbindung von pb0/pb1 zum Max
besteht oder irgendwo ne Leiterbahn eine Untebrechung hat.


Noch etwas! Auf deinem Schaltplan auszug sieht es so aus als
wenn an PBo/PB1 noch andere Verbindungen außer die zum max
bestehen? Das geht natürlich NICHT! Etwas anderes als NUR der Max
darf da nicht dranhängen....

Immer schön Schritt für Schritt vom PC in Richtung µC voranarbeiten,
nur so kannst Du (Signalverfolgung) sinnvoll einsetzen ohne ins
"schleudern" zu geraten. :-)

Gruß Richard

Dominik009
07.12.2009, 17:32
also,
am port hängt nur der max!
ich bin nun soweit,
das wen ich am microkontrollersockel den controler (mega32) rausmache und dan die beiden ports von rs232 im sockel verbinde und was von pc sende das es wiederkommt,
also funktioniert der max und der pc.
und die leitungen sind ok.
was nun ist was am cotnroler falsch eingestellt?
ist der code falsch?

BurningWave
07.12.2009, 17:42
Du hast gesagt, dass du keine Seite gefunden hast, bei der erklärt wird, wie man mit dem µC empfangene Daten wieder zurücksendet, ich habe eine gefunden. Probiere diese Codestücke mal aus:
http://halvar.at/elektronik/kleiner_bascom_avr_kurs/uart_rs232_vom_computer/

Richard
07.12.2009, 17:44
in Deinem Code Posting ist 16 Mhz als quarz und 9600 als
Baudrate eingestellt. Ist am PC auch 9600 Baud eingestellt?

Dann giebt es noch einen ganz gemeinen Haken, die Fusebits.
Standartmäßig sind die Controller auf 1 Mhz internen Tackt
eingestellt. Damit si den externen Quarz benutzen muß an den
Fusebits herumgefummelt werden.

Mit AVR Studio geht das recht einfach, bei andrer Software bin
ich nir da nicht so sicher. :-) Jedenfalls bin ich auch schon mal verzweifelt
weil die Baudrate nicht passen wollte. Habe auch 16 Mhz Quarz
gehabt...der nicht benutzt wurde. :-)

Gruß Richard

BurningWave
07.12.2009, 17:47
@Richard
Diese evtl. Fehlerquellen haben wir schon ausgeschlossen, lese mal den ganzen Thread.

Du kannst auch einfache Bytes wie 01010101 an den Computer senden und überprüfen, ob und was du empfängst bzw. wie sich das Empfangene vom Gesendeten unterscheidet.

Dominik009
07.12.2009, 17:53
woher weis ich den ob der benutzt wird.
ich habe auf seite 1 ein bild hochgeladen und mir wurde gesagt,
das der externe quarz aktiviert ist.
und auf der seite finde ich ncihts

BurningWave
07.12.2009, 18:14
In der 3. Kategorie, der letzte Eintrag. Da steht: Ext. Crystal High Freq...

Das bedeutet, dass der externe Quarz benutzt wird und dieser eine hohe Frequenz hat und wie groß die Startverzögerung eines Programmes nach einem Reset ist.

Dominik009
07.12.2009, 18:18
also ist das alles richtig.
meint ihr ich soll mir nen neuen controller kaufen :(
ich weis einfach nichtmehr weiter.
daran das der isp stecker am board eingesteckt ist wirde es wohl auchnicht lieen.
im bios kan da was sein?
sonst habe ich im gerätemanager,
bbei com 1 fifo puffer verwenden ist das korrekt.
müssen die einstellungen da mit denen im terminal identisch sein.
pls heelft mir

BurningWave
07.12.2009, 18:26
Also an deinem Computer und an der Verbindung muss alles in Ordnung sein, wenn die Übertragung bei überbrückten RxD und TxD Pins funktioniert. Startet das Programm überhaupt / funktioniert der µC? Wurde der µC korrekt geflasht? Schließe mal eine LED an, die du zum Testen in deinem Programm kurz an- und ausschälst. Dann weißt du, dass das Programm korrekt startet.

PicNick
07.12.2009, 18:37
Ich erinnere an mein Post weiter oben von wegen Boot-Loader

Richard
07.12.2009, 18:40
Hmm, in einem vorherigen Posting ist erwähnt worden das der µC auch schon
einmal ohne ohne max am PC angeschossen war? Da muß nicht, aber kann
schon mal son Portpin abrauchen...Mann klönnte einmal versuchen eine
Software uart zu benutzen die andere Portpins benutzt.



$regfile = "m16def.dat"
$crystal = 16000000
$baud = 9600
$hwstack = 32
$swstack = 10
$framesize = 40


Dim Rdx As String * 10



Open "comc.0:9600,8,n,1" For Output As #1


Open "comc.1:9600,8,n,1" For Input As #2


For I = 1 To 50
Print #1 , " test";
Input #2 , Rxd
Print Rxd
Next I

End


Hier ligen rdx/tdx auf Port C 0/1, der Proßessortyp muß aber
angepasst werden!

Gruß Richard

Dominik009
07.12.2009, 18:51
das mit dem bootloader habe ich geändert,
ddu meinst den letzen eintrag .
also den code oben flashe ich gelcih mal.
der mega32 funktioniert so.
ich habe die rn tstsachen drauf (lauflich und motorsteuern) und die funktionieren.
ich könne da doch einfach eine leitung von C 0/1 zu den bisherigen ports machen,
weil da ja der max dran hängt

Dominik009
07.12.2009, 18:59
also er oberige code hat a zich fehler.
den kan ich mit bascom nicht senden :(.
kan mir sonst wer helfen pls

Dominik009
07.12.2009, 20:26
kan mir den keiner heflen,
da der code fehler hat sendet ihn bascom nicht,
ich bin am verzweifeln,
ist der controler kapput?
oder kan mir wer nen fehlerfreien code geben?

Dominik009
07.12.2009, 21:08
Also meint ihr es lieft am mircrokontroller.
Dan kaufe ich mir morgen nämlich nen neuen.
Oder könnte mir wer den code geben?
da könnte ich mir das geld sparren
sry für den mehrfachpost

Kampi
07.12.2009, 21:18
Was brauchst du den? Einfach einen Code um durch den Mega einen Text am PC anzeigen zu lassen?

Nehm mal hier das gute alte "Hallo Welt" Programm.

$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600

Enable Interrupts

Programm_start:

Print "Hallo Welt"
Wait 1

Goto Programm_start
End

Das funktioniert soweit

Richard
07.12.2009, 23:16
Bei mir läuft der ohne Probleme, habe aber die neuste Bascom version.
Die .Dat Datei in der ersten zeile ist für mega 16, die muß natürlich
gegen eine für Deinen Proßessor ausgetauscht werden. Ich teste damit
gerade einen USB <> rs232 Konverter um USB Stiks als Speicher nutzen
zu können. :-)

Gruß Richard

Kampi
08.12.2009, 07:17
Wiedo die Dat. Zeile stimmt doch. Ist halt schon für nen 32 ausgelegt. Und ne andere Frage: Welches IC nutzt du für den USB Konverter?

Dominik009
08.12.2009, 11:53
hallo leute,
also ich bin am ferzeweifeln.
so ein program wie von kampi kann ich ja selbst schreien,
nur suche ich eins was alle empfangenen daten weider zurücksendet.
es kann doch nur am microkontroler ligen oder auch am max232???
ich habe noch nen alten mega32 wobei ich denke das der kputt ist.
ein prog was die rs232 auf andere pins verlegt,
währe auch gut

Richard
08.12.2009, 16:41
Wiedo die Dat. Zeile stimmt doch. Ist halt schon für nen 32 ausgelegt. Und ne andere Frage: Welches IC nutzt du für den USB Konverter?

Erst einmal sorry, das Prog kann nicht laufen, man sollte nicht
mitten in der Nacht code "zusammenklicken". :-(

Zum USB Converter (Master usb controller) siehe bitte in den
Anhang. Das ist allerdings kein Datenblatt und da ist nur beschrieben
wie man den ersten Kontackt zustande bringt. Das Teil ist sehr
vielfältig "begabt". :-)

Sehe Dir mal den Open Befehl in Bascom an........

Gruß Richard

Ps.: Ich habe das von RS, die liefern auf Rechnung und tauschen
auch schon mal ohne zuatzkosten um!

Das klappt irgenwie mit dem Anhang nicht? Ich melde mich nochlal

Richard
08.12.2009, 17:03
Hier ein link zum Datenblatt
ftp://ftp.efo.ru/pub/ftdichip/Documents/DataSheets/HOST/DS_VDIP1_v091.pdf


Gruß Richard

Dominik009
08.12.2009, 18:05
HALLo
eine freudige nachricht,
ES KLAPPT.
ich bin ebnen zu CONRAD gefarhen (sind nur ein paar min) und habe da nen überteuerrten atmeg32 gekauft ](*,)
sofort auf die rncontrol und siehe da, es läuft.
Ohne eure hilfe hätte ich das nie geschafft.
DANKE

BurningWave
08.12.2009, 18:38
Gut, also merke es dir, den µC nie wieder ohne max232 anschließen.

Außerdem ist es immer gut, wenn man einen kleinen Vorrat von den AVRs da hat. Die sind bei Conrad wirklich unverschämt teuer, deswegen kaufe ich sie immer bei pollin.de oder bei myavr.de.

Kampi
08.12.2009, 18:50
Naja COnrad lohnt sich bei mir auch nur für die billigen ICs wie NE555 usw. da Conrad 20mins von mir weg ist aber die teuren die kauf ich auch Online. Wenn ich 3 555er bei Pollin kaufe bezahle ich 45cent für die ICs und 5,6€ für den Versand das rechnet sich kein Stück :D

Dominik009
08.12.2009, 20:10
jo, nie wieder ohne dem max.
ich bestelle normal immer bei reichelt und ab und an mal bei polin.
my avr werde ich auch mal probieren.
Nur ich hatte heute kein BOCK ein paar tage auf ein paket zu warten.
Aber conrad ist unverschämt.
Die haben ein Steckboard für 50€die hat reichelt für 15€,
bei reichelt bekomme ich 3 mega32 für deb preis wo ich bei conrad nur einen beomme,
nur ich wohne halt in der nähe und wen man mal schnell was dirngend braucht