PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Übertrageung zwischen PC/µC und µC aber ohne Uart



Michael 123
10.06.2006, 14:56
Hallo,

ich bin am verzweifeln!
Ich doktor gerade seit ca 10 Uhr in der Früh an dieser Datenübertragung rum.
Mein genaues vorhaben:
Ich möchte zwischen dem PC und einem µC (ATmega8) Daten übertragen und zwar sind es digitale. Also nur ein und aus. Aber die Daten sollen nur über eine Leitung vom PC zum µC geleitet werden. Es stehten mir insgesammt 3 Leitungen zur verfügung. Ich dachte mir das so:
Eine Leitung für die Daten
Eine Leitung für den Takt in dem die Daten kommen.
Eine Leitung für das Signal das nun Daten kommen.

Aber wenn ich das nun so wie ich es meine in VisualBasic (für den PC) Programmiere und so wie ich mein in Bascom (für den µC) programmiere funtzt da nichts.
Habe das ganze auch schon über LCD geschaut was der µC genau macht der macht das annäherungsweise was er soll. Und was der PC macht habe ich über einen anderen PC den ich so geschatltet habe, das er die Daten die der eine Sendet empfängt und es müsste alles funtzen.

Nun meine Frage an euch:
Kann mir jemand sagen ob das überhaupt möglich ist oder nicht?
Gibt es schon jdemanden, der das ganze verwirklicht hat und mir die Codes zur verfügung stellen kann?

Das ganz soll über die RS232 schnittstelle laufen.

mfg
Michael

PS: Das ganze bräuchte ich dann auch zwischen µC <-> µC und µC -> PC. Hoffe das ist nicht zufiel

Vitis
10.06.2006, 21:48
klar geht das, ist doch genau der Weg wie z.B. der ISP
vom Atmel funtioniert.

ist im Endeffekt die SPI-Schnittstelle. Slave select, Takt, Daten.

Michael 123
11.06.2006, 09:22
Hi,

und wie geht das dann?

mfg
Michael

Kaiser-F
11.06.2006, 09:37
Wie wäre es denn mit dem SPI ?
Das ISP basiert ja auf dem SPI...

Da hast die Leitungen MOSI, MISO, SCK, CS

MOSI = MasterOut-SlaveIn
MISO = MasterIn-SlaveOut
SCK = SerialClock ?
CS = ChipSelect



Infos Dazu Hier:
https://www.roboternetz.de/wissen/index.php/SPI

Oder:
In Jeden Atmel-8Bit-µC-Datenblatt sehr schön beschrieben unter
Serial Peripheral Interface

Michael 123
11.06.2006, 16:45
Hallo,

erstmal danke für den Tipp.
Aber ich werde aus dem ganze noch immer nicht schlau. Wie es funtz ist mir klar. Aber wie ich den Code für den Mega und wie er in VB aussehen muss kapier ich nicht.
Wäre nett wenn mir jemand einen Code zukommen lassn könnte.

mfg
Michael

Kaiser-F
12.06.2006, 06:40
Hallo,

Der ATMega hat Hardware SPI.
Also musst du aus der Seite des ATMegas schon mal kein großes Programm schreiben.
Code-Beispiele sind in jedem ATMega Datenblatt unter "Serial Peripheral Interface"

Michael 123
12.06.2006, 20:03
Hallo,

ja habe ich auch schon gesehen aber ich programmiere nicht in C bzw in Assambler. Sondern in Basic darum auch in diesem Forum.
Ein Bascom/Basic Code wäre mir lieber.

mfg
Michael

repi64
14.06.2006, 17:25
Hi,
wieso nicht gleich über den UART?
Das spart noch einige I/O Pins.
Wäre ja naheliegend, wenn du ja sowieso über RS232 an den PC gehst.

Michael 123
14.06.2006, 18:25
Hallo,

ich glaube das Thema hat sich momentan erledigt. Ich mache das ganze doch über den Uart und dann weiter mit RS485. Aber wie ich das in Bascom mache weiß ich noch nicht.

mfg
Michael

Dani-Bruchflieger
17.06.2006, 22:12
Hi,

dafür gibt es in Bascom das Statement $Baud = xxx mit dem die Baud-rate eingestellt wird. Und dann die verschiedensten Formen von Print usw. einfach in der Bascom-Hilfe mal nach UART suchen lassen, und dann dort etwas weiterlesen... sind ja auch immer kleine Beispielcodes dabei.

Ich persönlich arbeite häufig mit printbin und am Empfänger nutze ich den Interrupt für empfangene Bytes (urxc). Damit ist es sehr simpel möglich den Inhalt von Variablen zwischen 2 µC's auszutauschen.
Mit einem Max232 funzt auch die Kommunikation mit dem PC problemlos. (aber das wirst du doch sicher auch wissen)

Michael 123
18.06.2006, 09:15
Hallo,

zwischen einme µC und dem PC klapp ja alles schon ganeu gesagt seit dem 15. aber zwischen µC und µC weiß ich nicht

mfg
Michael