Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > > Hallo, > > > > > > > > > > ich habe ein kleines Problem mit dem AVR32 und der EEPROM_Write-Funktion: > > > > > > > > > > Wenn ich zwei Byte in das EEPROM überschreibt anscheinend das Zweite das Erste: > > > > > > > > > > EEPROM_Write(0,lcd_light); > > > > > EEPROM_Write(1,touch_beep); > > > > > > > > > > In lcd_light schreibe ich Werte von 10-90, in touch_beep 0-1. Beides sind BYTE. > > > > > Der touch_beep wird gespeichert, lcd_light nicht. > > > > > > > > > > Wenn ich den Aufruf umdrehe > > > > > > > > > > EEPROM_Write(1,touch_beep); > > > > > EEPROM_Write(0,lcd_light); > > > > > > > > > > wird lcd_light gespeichert und dafür touch_beep nicht. > > > > > Wenn ich je eine Zeile auskommentiere klappt das Speichern auch. > > > > > > > > > > Ist beim AVR32 in der EEPROM_Write-Funktion ein Unterschied zum MEGA128? > > > > > > > > > > MfG, Tobias > > > > > > > > > > PS: IDE 2.40 (2.31 geht aber auch nicht) > > > > > > > > Hallo Tobias, > > > > ich habe gerade das Handbuch von ATMEL für den AVR32 noch mal angeschaut. > > > > Dort gibt es kein internes EEPROM, im Gegensatz zu den Mega32 und > > > > Mega128. > > > > Es befindet sich ein 64kByte-EEPROM auf der AVR32-Unit, jedoch ist das über > > > > den I2C-Bus mit der AVR32 verbunden. > > > > Ich denke da sind die Angaben im C-Control-Pro Handbuch irreführend. > > > > > > > > Mehr fällt mir auch nicht ein > > > > MfG > > > > U.K. > > > > > > > > > > Hallo U.K., > > > > > > danke für Deine Mühe... Das Problem hat sich wie folgt gelöst: > > > > > > Ich bin davon ausgegangen, dass man das EEPROM auf der AVR32-Unit auch mit den > > > EEPROM_Write und _Read-Befehlen ansprechen kann. Und... das funktioniert auch so! > > > > > > Folgenden Fehler habe ich gemacht: > > > Ich habe eine Uhrenbaustein auf I²C-Adresse A0 am Bus. Leider habe ich nur in der > > > gesamten Hilfe keinen Hinweis auf die Adresse des EEPROMs gefunden. Lediglich in > > > einem Beispielprogramm zum I²C-Bus habe ich erkennen können was die EEPROM-Adresse > > > ist. Hier hatte ich erst im Online-Manual geschaut, wo die Adresse 0x50 angegeben ist > > > (<a href="http://www.c-control-pro.de/documentation/index.html?i2c_beispiel2.htm" target="_blank">siehe LINK</a>). > > > > > > Erst der Blick in die Hilfe in der IDE selbst hat mich auf die richtige Fährte gebracht, > > > denn da steht im selben Beispiel die Adresse A0. > > > > > > Also Uhrenbaustein auf eine andere Adresse gesetzt und schon läuft es (auch mit dem > > > direkten Ansprechen über EEPROM_Write(); > > > > > > Hier fehlt eindeutig der Hinweis in der Hilfe welche Adresse das EEPROM hat! > > > > > > MfG, Tobias > > > > Hallo Tobias, > > ich gratulier Dir zum Erfolg. Auf Deinen Post hin habe ich mir mein AVR32 Modul etwas > > genauer angeschaut. Da ist ein Serielles-EEPROM 24LC512 eingebaut, > > von Microchip,mit 64 kByte. Die Geräteadresse für Schreibzugriffe ist 0xA0, für Lesezugriffe 0xA1. > > Sehr unglüclicher Umstand, das der Uhrenbaustein die gleiche Geräteadresse hat, wie der > > EEPROM. Bitte schreib doch mal, um welchen Uhrenbaustein es sich handelt. > > > > Das Handbuch zur IDE ist da wirklich etwas schlecht aufgestellt, was die Beschreibung der > > Befehle und Syntax betrifft. Die Beispiele sind da auch nicht besonders hilfreich, zumal > > zwar die Geräteadresse von 0x50 auf 0xA0 angepasst wurde, aber für Schreiben und Lesen immer > > noch gleich ist. Kann so nicht funktionieren. > > > > Mittlerweile ist es hier im Forum auch recht ruhig geworden. Früher waren die Entwickler der > > IDE, z.B. Peter S.öfters im Forum unterwegs und konnten mit Tips weiterhelfen. > > Ich denke, das Conrad die C-Control Reihe zugunsten von Arduino& Co. langsam aussterben lässt. > > In Mannheim im Conrad-Shop gibt es nur noch Arduinos, wo vorher C-Control angeboten wurde. > > Arduinos bekommt man im Net billiger, alternativ gibt es mit AVR-Studio oder BasCom brauchbare > > IDE's und lebendige Foren, wie z.B. Microcontroller.Net. > > Möglicherweise ist es Zeit,sich neu zu orientieren. > > > > MfG > > U. Koerner > > > > Hallo U. Koerner, > > ich nutze den Uhrenbaustein PCF8583. Das die Adressen gleich sind passiert eher selten. > Aber durch die Wahl zweier Adressen beim PCF8583 ist das ja kein Problem. > > Das die Adresse vorher auf 0x50 war rührt daher, dass diese in älteren IDE's noch in > 7-Bit-Länge übergeben wurden. Die I²C-Write bzw. I²C-Read-Funktion hat dann automatisch das > achte Bit angehängt (0/1 für Lesen oder Schreiben). Das war sehr umständlich und hat bei > mir öfters für Verwirrung gesorgt. --> 0xA0 um ein Bit nach rechts geschoben ergibt genau 0x50. > Das wurde dann in einer der letzten IDEs auf 8-Bit I²C-Adresslänge geändert, wodurch aus 0x50 > wieder 0xA0 wurde. Der Vorteil ist, dass man bei der 8-Bit-Adressvergabe direkt die Adressen > aus dem Datenblatt der Bausteine übernehmen kann und nicht erst noch umrechnen muss. > Die physische Adresse des Bausteins wurde also gar nicht verändert, nur die IDE. Das wurde > wohl halt in der Online-Hilfe noch nicht berücksichtigt. > > Die Funktion I²C-Read addiert zu der Adresse immer automatisch eine "1" zum "Lesen" hinzu. > Dadurch kann man im gesamten Projekt immer mit einer Adresse arbeiten. Eigentlich finde ich > das gar icht schlecht gemacht. > Und wie gesagt, das Beschreiben und Auslesen des EEPROMs funktioniert ja nun auch einwandfrei mit > den angebotenen EEPROM_WRITE und _READ-Funktionen. > > Diese Erkenntnisse haben mich leider viel Zeit gekostet. Allerdings ist der Lerneffekt dabei > immer um so höher ;-) > > Ich hoffe es geht noch ein wenig weiter mit der C-Control, speziell mit der AVR32. Ich habe > jetzt schon soviel externe Bausteine angebunden (weitere serielle Schnittstellen, USB-Speicher, > 3-Achsen Lagesensoren, Grafik-Touchpanel usw.) dass es für mich ein Haufen Arbeit wäre mal eben umzusteigen. > > VG, Tobias