Hallo Zusammen,
nach endloser Löterei und Rumprobiererei mit dem SAA1064 verkabelt mit dem ASURO bin ich einem Problem auf die Schliche gekommen. Offensichtlich ist der I2C Bus vom ASURO bzw. der ASURO Library zu schnell getaktet so das der SAA1064 nicht reagieren kann.
Es passiert einfach nix, ich dachte zwischendurch sogar ich hab die SAA's geschrottet und habe mir extra bei Reichelt einen neuen Satz bestellt
Auf die schnelle ist mir eine Lösung eingefallen und zwar in der i2c.h die Zeilen
Code:
#define QDEL NOP;NOP;NOP;NOP;NOP //<! 1/4 Delay
#define HDEL QDEL;QDEL; //<! 1/2 Delay
in diese hier abzuändern:
Code:
#define QDEL NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP //<! 1/4 Delay
#define HDEL QDEL; QDEL;QDEL;QDEL;QDEL; QDEL;QDEL;QDEL
Damit funst es zwar, jedoch is das gelinkte Programm mehr als doppelt so gross Wahrscheinlich wegen der vielen nop's
Vielleicht fällt euch ja auf die Schnelle eine Lösung für das Problem ein, also die Grösse des gelinkten Programms. Würd mich riesig drüber freuen.
achja, hier nochmal ein Codeschnipsel aus dem Programm welches den LED-Test aktiviert bei vollem Strom.
Code:
dev = 0x70;
result=StartI2C(dev);
result=WriteI2C(0b00000000);
result=WriteI2C(0b01111100);
Viele Grüsse
Lesezeichen