BASTIUniversal
26.02.2006, 17:34
Hallo!
Ich hab mir ne Schaltung zusammengebaut, die meinen zukünftigen Akku überwachen soll. Verschiedene Werte werden mit einem Tiny26 erfasst und sollen per SPI an einen "Zentralen" µC geschickt werden.
Soweit hab ich alles im Griff, allerdings bestitzt der Tiny26 keinen richtigen SPI-Port, nur ein "USI" (Universelles Serielles Interface).
Dieses USI hab ich über die Register soweit konfiguriert, der Empfang von einem SPI-Master funktioniert!
Nur senden kann der Tiny nichts. Ich mach das bisher mit folgender Routine:
A=Usidr 'Daten aus dem Datenregister holen
Usisr.6=1 'Timer-Interrupt zurücksetzen
Usidr=B 'Daten ins Register laden
Eigentlich müsste der Tiny doch die Daten die im Usidr (ist praktisch das gleiche wie das SPI-Datenregister in den Mega's) sind beim nächsten mal empfangen senden, oder?
Wenn ich den Code so verwende kommt nur Käse am anderen µC raus! Ohne die Senderoutine klappt alles!
Weiß da jemand Hilfe? SPI scheint hier im Forum ja nicht so verbreitet zu sein...
Ich hab mir ne Schaltung zusammengebaut, die meinen zukünftigen Akku überwachen soll. Verschiedene Werte werden mit einem Tiny26 erfasst und sollen per SPI an einen "Zentralen" µC geschickt werden.
Soweit hab ich alles im Griff, allerdings bestitzt der Tiny26 keinen richtigen SPI-Port, nur ein "USI" (Universelles Serielles Interface).
Dieses USI hab ich über die Register soweit konfiguriert, der Empfang von einem SPI-Master funktioniert!
Nur senden kann der Tiny nichts. Ich mach das bisher mit folgender Routine:
A=Usidr 'Daten aus dem Datenregister holen
Usisr.6=1 'Timer-Interrupt zurücksetzen
Usidr=B 'Daten ins Register laden
Eigentlich müsste der Tiny doch die Daten die im Usidr (ist praktisch das gleiche wie das SPI-Datenregister in den Mega's) sind beim nächsten mal empfangen senden, oder?
Wenn ich den Code so verwende kommt nur Käse am anderen µC raus! Ohne die Senderoutine klappt alles!
Weiß da jemand Hilfe? SPI scheint hier im Forum ja nicht so verbreitet zu sein...