PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : über rs232 an Atmega8 senden



q3
03.06.2007, 18:57
hallo leute

ich versuche mit basecom ein zeichen an den contoller zu senden. hab etliche programmschnipsel ausprobiert. auf nichts reagiert der controller. der C funktioniert sonst wunderbar und gibt auch wunderbar daten ans terminal aus (print)

kann jemand bitte einen code posten der bei euch funktioniert. und eine anleitung wie ich das zu sendende zeichen eingeben muss.

(kann ja auch sein das dort der fehler liegt)

bitte helft mir..danke ciao

Vitis
03.06.2007, 23:09
poste mal deinen versuch, dann kann man dir am Besten helfen

q3
04.06.2007, 06:58
hallo es ist ja nicht mal ein versuch .... ich möchte übers terminal (wie auch immer )meinetwegen eine 1 an den controller schicken. der soll die 1 mit 23 multiplizieren und diesen wert über print ans terminal zurückgeben.

das ist alles ...kann mir bitte jemand diese 3-4 zeilen posten und nen tip wo ich die zu sendende zahl eingeben muss am pc

danke

q3
04.06.2007, 09:41
so ich habe jetzt exakt den quelltext eingegeben, der bei http://www.rowalt.de in der einführung 4 als erstes steht und auch mit avrterm gearbeitet. aber es passiert garnix. (habe natürlich baudrate Quarz und dat.datei angepasst an meinen mega 8)

ich gebe H ein drücke auf senden und der controller gibt nix zurück. allerdings klappt das senden, wenn ichs noch in den loop mit print einfüge wunderbar. aber eben nicht als reaktion auf ein einkommendes zeichen.

müssen da noch irgendwelche ports als input oder output oder sowas definiert werden oder noch irgendwas anderes beachtet werden??

bitte nochmals um hilfe....

robbifan
04.06.2007, 13:09
poste deinen code hier mal rein, vielleicht hast du ein schreibfehler drin...
sei nicht so faul.

Lunarman
04.06.2007, 13:36
Ich glaube dein Problem verstanden zu haben.



input i
i = i*23
print i


Stimmt doch so??? (Frage an die anderen, von den Befehlen her stimmt es, weiß grad aber nich ob die syntax stimmt)
Allerdings muss ich hoffentlich nicht erklären, dass das mit dem buchstaben H nicht geht, denn was bitte ist H mal 23???

q3
04.06.2007, 16:36
jetzt der quelltext

$regfile = "m8def.dat"
$hwstack = 82
$framesize = 68
$swstack = 68

$crystal = 16000000 'Quarzfrequenz
$baud = 19200

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Timsk = &B00100101
Mcucr = &B00001010
Gicr = &B11000000
Sreg = &B10000000
Tccr1b = &B11000010

Config Pinc.0 = Input
Config Pinc.1 = Input
Config Pinc.2 = Input
Config Pinc.3 = Input

Config Pind.0 = Input
Config Pind.2 = Input
Config Pind.3 = Input

Dim I As Byte

Do

If Ucr.rxc <> 0 Then
I = Udr

Select Case I
Case "H"
Print "Hallo H"
Case "h"
Print "Du"
Case Else
Print "hääää"
End Select
End If

Loop
End



so! also jetzt müsste doch wenn ich im avrterm was sende (egal was) auf jeden fall wenigstens ein häää aushegeben werden??!!

oder

peterfido
04.06.2007, 17:09
Nimm mal den C aus der Schaltung und Brücke RX und TX. Jetzt sollte alles, was vom PC gesendet wird, auch gleich wieder als Echo zurückkommen. Falls nicht, dann hast du ein Hardwareproblem.

q3
04.06.2007, 17:39
hab den fehle glaube ich gefunden.... es liegt an meinem usb kabel, was ich brauche, weil ich an meinem laptop keinen com port habe. wenn ich an den rechener meiner freundin ohne usb adapter gehe klappt das alles einwandfrei. allerdings funktionieren print befehle einwandfrei mit dem usb kabel. hat jemand ne idee wie ich das problem löse, da ich das ding eigentlich immer nur an laptops betreiben will ... messdatenerfassung im fahrenden fahrzeug....

danke für eure hilfe

peterfido
04.06.2007, 18:06
Ich arbeite mit dem FDTI 232RL Chip. Dieser funzt auch 1a über USB. Der Nachteil an der Sache: das Gehäuse ist ziemlich klein, du musst also gut löten können. Ich habe schon nach einer Platine für diesen IC gesucht, kostet aber mehr als doppelt soviel wie der IC selbst...

q3
04.06.2007, 19:12
nochmal ne frage ... funzt das beispiel bei euch, was ich oben gepostet habe..bei mir gehts nämlich trotzdem net!

Netbird
04.06.2007, 19:22
Hallo,
das ist aber ein aufwändiger Programmcode für so einen Test ...

Probier' mal dies aus: Du gibst am PC zwei Zahlen ein, der AVR rechnet die Summe aus. Ist ganz nett zum Testen ...

$regfile = "M8def.dat" 'Hier dein MC
$crystal = 1000000 'Hier dein Takt
$baud = 2400 'Hier deine Baud-Rate

Dim zahl1 as Byte
Dim zahl2 as Byte
Dim ergebnis as Byte

Do
Input"Erste Zahl: ",zahl1
Input"Zweite Zahl: ",zahl2
Print" Die Summe ist ",ergebnis
LOOP Until ergebnis = 99

q3
04.06.2007, 20:31
ja habs auch schon hinbekommen...also da hätte ich ja lange probieren können mit dem sch... usb verlängerungskabel...ich geh erstmal morgen mit dem contoller und laptop in den saturn und probier solange kabel durch bis eins geht...ich sitze wie ihr sicher schon mitbekommen habt 3-4 tage an dem problem und bin fast verzweifelt..aber wer denkt denn daran das ein kabel in eine richtung geht und in die andere net..jedenfalls danke für eure mühen ...ciao