Anzeige:

Kommunikation zwischen µC´s

Hier finden sie die archivierten Beiträge des alten PHPBB Forums von www.loetstelle.net

Kommunikation zwischen µC´s

Von ACE am 25.07.2012 02:23

Ich hab so ein Bisschen im Bereich Zeitmessung Experimentiert ...
Und mir ist Aufgefallen das z.b. Die Ansteuerung eines LCD´s es fast unmöglich macht schnelle Sachen präzise zu messen !!
Und ich hab mir Gedacht:"Warum nicht 2 oder mehr Controller die Arbeit machen lassen?"

Da hab ich gleich 2 Fragen !

1. Wie kann ich zeit präzise und schnell (<1ms) messen und dabei auch noch Langsahme Prozesse (z.b. LCD ansteuern) ausführen ?

2. Wie kann ich daten unter µC´s austauschen ??
Kann ich z.b. komplette Variablen verschiken ?

Hard/Weichware:
Wie immer Bascom
Und Atmel µC´s (Tiny 13,2313 Mega 8,16,32)


Bevor jemand Schreibt "Googeln".. Hab ich !!
Und leider leider nichts gefunden was mir weiterhilft :(

Würde mich sehr darüber Freuen wenn ihr euer wissen mit mir teilen würdet , falls es nicht allzu viel mühe und schmerz bereitet ;)

Gruß

Re: Kommunikation zwischen µC´s

Von derguteweka am 25.07.2012 08:03

Moin,

Ohne dass ich irgendeinen Pups Ahnung von BASCOM habe, wuerde ich mal mutmassen, dass wenn du da nix gefunden hast, es auch nix direkt gibt.
Das Bas von Bascom wird sich von BASIC ableiten und das B in Basic steht fuer "Beginners". Das was du vorhast, ist nicht mehr fuer Beginners.

ACE hat folgendes geschrieben:
1. Wie kann ich zeit präzise und schnell (<1ms) messen und dabei auch noch Langsahme Prozesse (z.b. LCD ansteuern) ausführen ?

Mit HW Unterstuetzung, d.h. irgendwelche Timerfunktionen im µC fuer die Zeitmessung nutzen. Wenn die Messung dann fertig ist, gibt's oft einen Interrupt, dann kannst du die LCD Routine unterbrechen und die MEsswerte verarbeiten.

ACE hat folgendes geschrieben:
2. Wie kann ich daten unter µC´s austauschen ??
Kann ich z.b. komplette Variablen verschiken ?

Ungefaehr nach Aufriss geordnet und unvollstaendig in der Aufzaehlung: z.B. ueber UART,I²C,SPI, eigene verschwurbelte Protokolle ueber GPIO, Ethernet,USB,PCI,PCI-Express...

Der springende Punkt ist nur, ob davon irgendwas in BASCOM unterstuetzt wird...
Denn auch unter C/Assembler musst du dir solche "Komfort"-Funktionen, wie eine bestimmte Variable uebertragen, selber programmieren.

Gruss
WK

Basom

Von ernesto am 25.07.2012 08:04

moin

Wenn du Bascom willst musst du im Unterforum Bascom schreiben !

Dafür benutzt man Timer , wenn die Auflösung niht ausreihend ist kann man diese dann durh Softwarezähler erweitern ( Timer überlauf löst Int. aus , dort wird dann in Software ein Zähler hochgezählt der repräsentiert dir dann den Zählerstand = (Softwarez. * Auflösung) + Timer

Dein Thema wurde dort schon behandelt,
alles mal durchlesen

http://www.loetstelle.net/forum/viewtopic.php?p=29618#29618

Timer 0 ist der Zähler für die Impulse
Timer 1 ist der Zähler für die Sec.
es wird jede sec. der neue Zählerstand und die sec. angezeigt.


(WK ist heute eine minute früher als ich aufgestanden Wink )

Verbindung geht über serielle ,I2c,SPI (die sind meist schon Hardwaremäßig vorhanden (kommt auf den Chip an) aber ein Protokoll
um die Daten zu verarbeiten musst du dir immer noch selber ausdenken oder abschreiben Confused

Von ACE am 26.07.2012 00:12

Danke !

Wichtiger ist mit aber momentan die kommunikation (Deswegen der titlel)

Ich hab nach Viel Googeln Herausgefunden dass Bascon die Funktion Besitzen soll !

Ausserdem hab ich auch erfahren dass Bascom nicht nur für Anfänger ist sondern auch für Profis ,da mittlerweile dort auch so gut wie alles möglich ist!
Nur eben einfacher als wenn mann alles eineln schreiben muss ..
soweit ich weiß muss man nämlich bei einem LCD in CC jedes segment einzeln ansteuern und braucht dord auch VIEL mehr code ...

Vorteil wiederrum ist natürlich das CC Sparsamer mit dem Flash ist ...
Bla Bla Bla.. Wink

Von Hotzenplotz am 26.07.2012 05:32

>Vorteil wiederrum ist natürlich das CC Sparsamer mit dem Flash ist ...

Das kann man aber nicht nur auf's BASCOM selbst schieben, sondern auf die sturen Schlafmuetzen von BASCOM und deren Schrott Compiler. Es wird natuerlicjh gern genutzt, weil wenn man etwas Mathe und Englisch kann, erklaert sich diese Programmiersprache eigentlich von selbst. Und das ist der Haken.
Das sind geldgeile Saecke die davon leben, dass die Kunden immer schneller, besser in basic werden, um dann ihre dollen >4k Versionen verkloppen zu koennen. Und diese Kunden machen das natuerlich mit, weil es einfacher ist, die Vollversion zu kaufen als eine andere Programmiersprache zu lernen. Siehe VB
Der zweite Haken ist, dass BASCOM nach zig Jahren noch immer nur Windows unterstuetzt, allein deswegen wuerde ich davon schon die Finger lassen.

Mich wuerde mal interessieren was passiert, wenn BASCOM sagt, "Wir haben keine Lust mehr und machen die Seite dicht" dann steht ihr da mit eurem basic Wissen.

>Ausserdem hab ich auch erfahren dass Bascom nicht nur für Anfänger ist sondern
>auch für Profis ,da mittlerweile dort auch so gut wie alles möglich ist!


Naja. Mit "Profis" sind dann eher die gemeint die nix anderes gelernt haben als Basic. Der Studiengang wuerde mich mal interessieren wo man ausschliesslich basic lernt.

>Ich hab nach Viel Googeln Herausgefunden dass Bascon die Funktion Besitzen soll !


Watt ?? Daten zu uebertragen ? Dafuer muss man nicht g00glen

Von BellaD am 26.07.2012 14:28

http://www.robomodules.de/portal/index.php?id=40&type=1

verteilte Funktionen auf mehreren MC , kommunikation über I2C ...

und dann gibt es noch diese schöne Herstellerseite Rolling Eyes

http://www.mcselec.com/

Von ACE am 17.01.2013 23:44

Ich bins mal wieder !!

Ich hab geschafft das die beiden miteinander zu verbinden !
Hab es ganz einfach über TX/RX gemacht und den "Print" Befahl benutzt.

Jetzt hab ich nur das Problem das der µC ein komisches Zeichen am anfang mitsendet was auf dem LCD display so aussieht : |||

1. Nervt das zeichen und Kostet platz.
2. Ich wollte später eine art Netzwerk mit der Case funktion für weitere Befehle vorbereiten.

Beispiel:

µC1:
Print "LCD"
Print "Hallo"

µC2:
Dim Empfang1
Dim Empfang2

Input Empfang1
Input Empfang2

if Empfang1 "LCD" then
Locate 1 , 1
Lcd "Hallo"
endif


Aber da der µC1 dieses komische Zeichen sendet Reagiert der erste µC
aufgrund der If abfrage nicht ...
Ohne Abfrage gibt er eben das zeichen aus!

Wenn ich das am meiner RS232 anschließe taucht das zeichen allerdings nicht auf.

Hab jetzt 4 Stunden rumprobiert und auch Googlet ! Leider ohne Erfolg Sad
Hoffe das ihr mir Helfen könnt!

Gruß

Von shiva am 23.10.2013 20:54

*bookmark*

Anzeige: