Hi Jörn,

grundsätzlich, da Dir schon zweimal Deine Schreibarbeit in die Tüte gehüpft ist, editiere doch den Text im Editor wie notepadkate oder sonstwas und wenn Du fertig bist, kopierste es ins Browserfenster



ui .. viel zu lesen .. grad nicht genug Zeit, nur ein paar kleine Vorantworten:

> einen richtigen Professionisten geraten
nun, ich kann besser Westernreiten als Professionell sein, aber ich übe beides ... Ich gehör halt noch zur "Alten Schule" die wissen, daß bei Windoof nur gutverpackte WM_MESSAGES geschickt werden ... salopp ausgedrückt. Ich vertreib eine Sonnenstudiosoftware, aber mein Klientel stirbt finanziell aus. Vielleicht sagt Dir in Wien u.a. ja MAGICSUN was ...


>>> Solange Du nicht Asm aufm uC machst, ist C die bessere
>>> Wahl, weil Du richtig schöne Fehler machen kannst, die
>>> Dir Basic verwehrt
> ...ich schreib einen C-Code, funktioniert nicht und kontrolliere
> dann im Assembler, wieso. Das zu lernen, war zwar nicht
> einfach, aber es zahlt sich aus, z.B. bei Laufzeitfehlern.

gut .. wie gesagt C auf dem uC das einzig Wahre in meinen Augen, wenn man nicht direkt alles in ASM macht, was ich noch zu Zeiten des 8051 gemacht habe, aber nimmer will.

Auf PC-Ebene ist ein KlickiBunti-Developement normal (BorlandBuilder, Delphi, VB, VC) .. nur daß eben C Dir die Möglichkeit läßt, effizienteren Code zu schreiben und eben alle Möglichkeiten offen läßt, was nicht unbedingt ein Vorteil sein muß. C++ ist in meinen Augen nur ein Overlay, daß in einigen Bereichen viele Vorteile bringt, in einigen wie den uCs eben nicht !

Ärgerlich ist, das MS-Produkte eine starke Produktbindung haben, SQL-Server muß dann von MS sein etc. ... hat Vorteile und Nachteile ... ist aber ein anderes Thema.

Zum Filterdesign .. da erinnere ich mich an FFT, LaPlace und vieles mehr .. aber nachdem Studium nie eingesetzt, geübt oder vertieft ... also keine Ahnung mehr.

Über die Bauds denke ich nochmal nach ... stimmt schon, daß der Overhead auch noch mitübertragen werden muß: 8N2-typisch, aber wirklich viel ist das nicht, bezogen auf den Datenstring der übertragen wird.

> 1 Frame besteht aus z.B. 23Bit, also müssen alle Bits dieses
> Frames mittels den 19200 übertragen werden.
jepp ...

> > Der Master muß die einzelnen Slaves nacheinander abfragen - folglich
> > müssen die Slaves Werte zwischenspeichern ...

> Wenn ich dass richtig verstanden habe, ist das bei Protokollen immer
> so, weil die Daten ja seriell Übertragen werden, folglich kann
> der Master nicht mehrere Slaves parallel abfragen???

Ein Protokoll ist nur eine Festlegung, wie der Datenübertragunsablauf (Inhaltlich und zeitlich) funktionieren soll. Der ders entwickelt, erfindest ... Mehr ist das nicht.

In Eurem Fall liefert der EKG-Module die meisten Daten .. drum sollte das Mdoul oft abgefragt werden .. und immer wenn nicht die EKG -Abfrage ansteht dann eben immer wieder eines der anderen Module .... je nachdem was das EKG-Timing zuläßt ...


> Wenn ich das richtig verstanden hab, was du meinst, ist, dass
> die restlichen Daten von den anderen Sensoren Datenwerte in
> viel größeren Zeitabständen liefern müssen (z.B.
> Atemfrequenz/min: 12-40, T=0,2 - 0,6s) und zwischengespeichert
> werden müssen, weil sie ja erst später abgefragt werden, aber
> was hat das mit Langsameren und schnelleren Daten zu tun???

nochmal - zeitkritisch ist die Datenmenge vom EKG-Modul und begrenzt wird es durch die maximale Übertragungsrate .. also zähl die Bytes an Informationen und dann guck was durchs Nadelöhr paßt ...



> Ich kann nicht sagen, dass ich wirklich C programmieren kann.
> Pointer sind mir daweil auch noch ein fremdes Dorf, aber ich
> möchts lernen und ich persönlich finde C auch besser (vielleicht
> auch, weil ichs gewohnt bin, Syntax,..). Nur ich weiß halt leider
> nicht, warum C, C++ effizienter gegenüber VB ist.

Nun es ist nur ein Handwerkszeug .. das Klickibunti-Ergebnis ist ein Funktionsaufruf - Overhead .. und was dann passiert, wird von Hand codiert ... eben in Basic, C, C++, Pascal, oder was auch immer.

C läßt einem die meisten Freiheit, Fehler zu machen ...

Code:
In C kannste sowas machen

char *pbuffer = new char [50];

void funki(int _hugo)
{
   strcpy(pbuffer,"%s (%d)", _hugo > 0 ? "großer Hugo" : _hugo < 0 ? "kleiner hugo" : "kein hugo", _hugo);
}

in basic geht das wohl nicht in einer Zeile ...
> Abschitt ...
> Also eine Art Quittierungsverfahren, genauso wie wenn Daten
> fehlerhaft (CRC nicht bestanden, nochmal senden)
genau so

Je nachdem wieviel Platz zur Datenübertragung Du hast, kann es sinvoller sein, einen Zähler zu nutzen und diesen zu versenden, Du weißt als Sender ja, wann Du abgefragt hast, daß muß nicht über funk hin- und wieder zurück übermittelt werden - so reicht einzähler zur Kontrolle ! Idee verstanden ?

Zur Synchronisations der gleichzeitigen Werte hast Du natürlich recht ... da könnte der master also jede Minute einen Zeitimpuls vorgeben und plus Zähler die Zeit erhalten ...
.. kommt eben auf die Datenmenge an, die übertragen werden soll .. je wejniger Overhead, desto besser ...


So, hoffe mein geschreibsel hilft, echt viel Text .. und mach grad paar Sachen gleichzeitig ...
Vajk