Außerdem haben mit RS232 viele Leute hier ebenfalls Probleme. Gaaanz so einfach scheint das ja dann doch auch nicht zu sein.
Ja, Probleme mit allem haben viele aber in diesen Fällen (RS232) liegts eher an der Umsetzung der Komunikation als an der Infrastruktur (Sprich Verkabelung).


Mit I2C habe ich bis jetzt nur EEprom Verbindungen realisiert. Der Crack bin ich da also nicht. Aber ich finde diese Schnittstelle recht problemlos. Multimaster braucht er doch nicht. ATMega32 ist Master, der Rest Slave.
Da sind schon einige Fallstricke drinne die auch regelmässig diskutiert werden.

Ich reisse se mal ganz kurz an.

Entfernungen sind eine Sache für sich.
Solange man auf einer Länge unterhalb 1m bleibt und keine Störgrösen auftrten ist alles recht Easy.
Ursprünglich ist TWI aka I2C aka I-Quadrat aka IIC also Inter-IC Bus als Geräteinterner Bus für den Unterhaltungssektor (Hifi/Video usw) gedacht gewesen also für ein behütetes (Geschirmtes( Umfeld.
Daher auch die besagten 400pF für die Leitungskapazität.
Sollte man wenigstens im Hinterkopf haben


Was das "Problemlos" angeht stimme ich dir zu da ja eigentlich schon alles vorgegeben ist.(Protokoll usw.) aber ein gleichwertiges "Master/Slaveprotokoll" ist auf einer Seriellen ebenso einfach machbar.
Der softwareaufwand ist natürlich da denn TWI gibts ab den Megas in jedem Controller in Hardware wärend man sich das für ne Serielle selberstricken muß.

Was den Controller als Slave angeht so muß man allerdings etwas vorsichtig sein.
Eine softwareemulation hinauf bis zu den Tinys ist in den meisten Fällen witzlos sobald neben dem "Slave" noch was wesentlich anderes läuft.
Bei den neueren Modellen ab Mega ist es leichter da sie auch einen Hardwareslave usw. bieten.
Da bieten mittlerweile alle Sprachen entsprechenden Support an.
Ich nehme das übrigens auch gerne.


Was die Resourcen unter Bascom angeht so sollte man das vorsichtig beurteilen.
Rein von der Sprache und dem Compilat her steht Bascom den anderen nicht viel nach.
Wie man das ja kennt führen bekanntlich viele Wege nach Rom und das auch beim Programieren.
Allerdings ist Bascom eine Typische Einsteigerdroge...äh...Sprache und Anfänger gehen mit den Resourcen in jeder Sprache gleich schlecht um.
Das gibt sich aber mit der Zeit


Beispiel aus meiner eigenen Bastelei:

In mir wuchs mal der Wunsch nach einer simplen Universallüftersteuerung mit Temperaturregelung.

Wunschliste:

Erfasster Temperaturbereich 10-70° Auflösung 1-2°
Lüfter wird per PWM (Nachgeschaltete Transe) angesteuert.
Es soll eine eigene Kennlinie auf die Lüfterdrehzahl gelegt werden.
Diese soll einfach per Serieller updatebar sein.
Ein Anlaufschutz sollte auch drinne sein.
Das Ganze bitte klein und preiswert.
Und noch einige andere Kleinodien.

Der Erste entwurf war ein Verhau der schon einen M16 erfordete (Code rund 10k).
War mir aber zu sperrig und zu teuer.
Dann hab ich das Ganze etwas Vereinfacht und in einen M8 gestopft.
War mir auch noch zu groß.

Dann hab ich die Struktur überarbeitet und die bequemen Makros durch einfache Befehle ersetzt.(Bruchrechnen einmal anders)
Schon passte er in einen Tiny26 und ich hatte noch 56 Byte (Glaube ich) frei.

Nach einigen weiteren optimierungen passte der ganze Krempel tatsächlich in einen kleinen 8-Poligen Tiny mit 1K Speicher.

Klein und Billig.

Das ganze dann als SMD und schon passt der Fuzzi in ein etwas längeres Sub-9 Steckergehäuse und die Versorgungsbuchse gleich mit.

Als die Tiny25/45/85 vor einigen Jahren kamen und der Preis passte hab ich die Soft einwenig erweitert (8k in nem 9-Poligen wollte ich schon immer haben) und einen etwas kräftigeren preiswerten Mosfet (SMD) verbaut um auch etwas größere Lüfter steuern zu können.
Das Tachosignal wird nun auch ausgewertet um entsprechend reagieren zu können.

Ich könnte jetzt mit den kleinen 8k-Controllern natürlich wieder meiner ersten entwürfe fahren aber wer will schon sowas ?


Hier (woanders auch) im Forum sehe ich so manches Mal recht umständlichen Code aber irgendwann ensteht bei den Leuten eine gewisse Erfahrung und der Drang noch mehr Funktionen in den Speicher zu quetschen so das sie ganz von alleine damit anfangen den Code zu optimieren.
Is ganz natürlich und ich mache es ja auch so.


Man könnte natürlich die Frage stellen, warum er das nicht alles mit dem ATMega32 macht ....
Das ist seine Sache da will ich gar nicht reinreden.

Manchmal ist verteilte Intelligenz ganz gut bzw. Spezialisierte chips.

Ich war mal auf der Suche nach einer RTC (uhrenchip) die mehr bietet als die Üblichen DS13x7 oder PCF8xxx.
Schön wäre ein chip gewesen der auch einen DCF-Decoder bessesen hätte und fähig ist die antenne zu schalten.
Ich hab rumgefragt,gabs aber nicht.
Nur Unmengen an dummen Sprüchen in gewissen Foren
Also hab ich mir selber einen gestrickt.
Einen Tiny13 der schon von Hause aus mit wenig auskommt.
Waum das DCF nicht mit dem eigentlichen controller auswerten (Macht er ja quasi nebenbei) ?
Nun,der Uhrenchip sollte immer laufen wärend der Rest Zeitweise vom Netz geht aber die passende Zeit sollte sofort Verlässlichl sein.(Letzte Aktualisierung nicht älter als 24h) und nicht erst nach 3 Minuten.

Wie schon gesagt, viele Wege führen nach Rom