Hallo!

Ich bin neu im Forum, neu mit Atmel´s und neu mit Bascom.

Obwohl ich schon einiges mit den CControl´s umgesetzt habe und Basic an sich NULL PROBLEM ist, tu ich mich zugegebenermassen verdammt schwer in meiner neuen Umgebung!

Folgende Anforderungen hat mein Projekt:

Atmega8 (28 Pol), der als I2C Slave auf dem Hardware TWI laufen soll.
Port PC4 & PC5 (im weiteren ext. Bus)

Auf 2 anderen Pins soll er als I2C Master agieren.
Port PC2 & PC3 (im weiteren int. Bus)

1-Wire Bus
Port PC1

Die UART soll funzen
Port PD0 & PD1

Externer Oszilator, Quarz 4,096MHz
Port PB6 & PB7

Folgende 12 IOs bleiben zur freien Verfügung
PB 0,1,2,3,4,5
PD 3,4,5,6,7
PC 0

So weit so gut, jetzt kommen die Probleme:

a)
hab ich nen grundsätzlichen Konzeptionsfehler ?

b)
So wie ich das bisher sehe, kann ich die Bascom I2C Funktionen entweder mit dem TWI oder mit der Softwareimplementierung nutzen, nicht aber die HW-Variante für den ext. Bus und die SW-Variante für den Internen? Richtig? Ja? Dann sollte ich den int. Bus selber implementieren?!
Wegen der Slave-Funktion auf dem TWI geht mir der Timer0, somit auch PD2 (INT0) verloren? RICHTIG?

c)
Ich brauche jede sekunde (möglichst präzise, +/- 60 interrupts in 24h) einen Interrupt, ähnlich wie diese Geschichte "Config Timer Sectic", ich möchte mir den damit verbunden Overhead (Zeit und Datumsfunktionen) aber unbedingt sparen, da mich einzig die sekunden interessieren.
Den Takt des Gesamtsystems bin ich gerne bereit mittels TrimKondensator am Quarz insoweit zu kalibrieren, das der Takt mit binären Vorteilern immer "sauber" bleibt, und somit die geforderte Präzision grundsätzlich erreicht werden kann.
Wie ich zu dieser geforderten Interruptroutine komme ist mir bisher schleierhaft; BITTE helft mir auf die Sprünge..., brauch kein grossartiger Code sein! Nur was Grundsätzliches...


Vielen Dank!


Pit