PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom und RS485 - Probleme mit dem senden



BlaueLed
13.12.2005, 22:46
Hallo,

ich habe mir auf meinem Steckbrett folgendes aufgebaut:

Mega16 mit 16Mhz und RS485 Treiber an UART, PD2 ist die Enabled Leitung vom RS485 Treiber. Am Mega hängt noch ein 16*2 LCD

Mega8 mit 10Mhz und RS485 Treiber an UART, PD2 ist die Enabled Leitung vom RS485 Treiber

beide Treiber sind wie http://www.elektronik-projekt.de/content/images/2wirers485bus_small.gif
hier beschrieben angeschlossen.

Nun möchte ich mit Bascom vom Mega8 aus einen "Befehl" an den Mega16 senden. Ich habe mir die Beispiele von SNAP angesehen und versucht, das ganze auf meine Hardware zu übertragen. Das ganze klappt leider nicht. Nun habe ich erstmal versucht, mit einfachen Print und Input Befehlen eine Verbindung der beiden controller herzustellen.

hier ist der code vom Mega8 :



$regfile = "m8def.dat"
$crystal = 10000000
$baud = 9600

Config Portd = Output

Portd.2 = 1 ' RS485 Treiber auf senden

Do

Print "Hallo" ;
Wait 1


Loop


und hier der code vom Mega16 :



$regfile = "m16def.dat"
$crystal = 16000000
$baud = 9600
Config Portd = Output
Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.1 , Rs = Portc.0
Config Lcd = 16 * 2

Dim Test As String * 5



Portd.2 = 0


Cls ' Clear the LCD display
Cursor Off


Do

Inputbin Test


Locate 1 , 1
Lcd Test

Loop


es kommt jedoch nichts auf dem display an. kann mir jemand helfen bitte ?

mfg Kay

bertl100
13.12.2005, 23:12
Hast du es schon in Bascom simuliert?

Alle Pullups richtig?

Vitis
14.12.2005, 02:31
ich fürmeinen teil verwende lieber die inkey-methode für die portabfrage
ansonsten sollts von der software her laufen denk ich.
Abschlusswiderstände am bus?

BlaueLed
14.12.2005, 11:10
@bertl100

im simulator funktioniert soweit ich das erkennen kann alles.

@Vitis

ja die Abschlusswiderstände habe ich wie in meinem Link angegeben verbaut

mfg Kay

Vitis
15.12.2005, 11:15
der inputbin stört mich irgendwie

versuchs mal mit inkey und schleife while xy=0

hilfreich wär auch mal n oszi dranhängen ob der Bus an sich
richtig funzt ... sollte aber so sein im Prinzip

BlaueLed
15.12.2005, 11:17
@Vitis

ich probiers mal mit inkey. melde mich dann wieder

BlaueLed
15.12.2005, 20:38
also es funktioniert jetzt. juhuuuuuuuuuuu

lag wohl an meinem steckbrett. habe jetzt nur die busterminierung ohne pullup und pulldown. nur habe ich jetzt noch ne frage :

ich habe mir das S.N.A.P. Protokoll angesehen. ich brauche aber keine Fehlerkorrektur. Gibt es denn kein einfaches Protokoll für eine einfache Kommunikation zwischen ca. 10 Knoten ?

mfg Kay

Stromi
15.12.2005, 21:38
Wo kann man die Beispiele von Snap sehen die du benutzt hast?

BlaueLed
15.12.2005, 21:55
die snap beispiele findet man bei http://www.hth.com/snap/

und dann bei "User supplied S.N.A.P examples". Da gibts 2 Beispiele

a: Snap-IO.zip
b: Snap-MON.zip

das sind bascom beispiele

mfg Kay

Stromi
15.12.2005, 22:00
Auf dem ersten Blick.... warum willst du das nicht so lassen, ist doch nicht so ein großer Code? Hat doch auch Vorteile...

BlaueLed
15.12.2005, 22:35
da geb ich dir recht, aber für den anfang wollte ich erstmal klein anfangen. den code kann ich irgendwie nicht ganz nachvollziehen und auch nicht für meinen mega16 und mega8 portieren.