-
-
Neuer Benutzer
Öfters hier
I2C klappt bei mir nicht
Hallo AVR Gemeinde.
ich habe ein Problem mit den I2C Routinen in Bascom. Ich möchte ein EEPROM 24C16 lesen/schreiben. Merkwürdiger weise klappt das bei mir nur wenn ich mit $lib "I2C_TWI.LBX" den Hardware TWI einschalte. wenn ich die software routinen benutze dann liest er Mist. und jetzt kommts wenn ich mir die Signale ansehe, dann sehen die super aus im !!!nicht funktionierenden!! software modus und wenn´s klappt mit hardware TWI dann sind das ziemlich krüppelige Dreiecke. Außerdem scheint im hardware TWI Betrieb die steuerung der Taktgeschwindigkeit mittels i2cdelay nicht zu klappen.
HILFE DRINGEND
Gruß Matthias
-
Erfahrener Benutzer
Roboter Genie
HI
Um Gottes willen - WIE Benutzt du den Hardware TWI mit HIGH-LEVEL?
Und was ist das für ne lib?
Die Taktrate kann man meines Wissens zwischen drei wählen;
Normal (Standard Mode - 100Khz); Fast (Fast Mode 400 Khz) und High Speed (High-Speed Mode 3,4Mhz).
Klar, dass bei Hardware TWI i2cdelay nicht funktioniert. Hat damit ja nix zu tun.
Es ist mir aber nicht bewusst, dass man unter Bascom HIGH-LEVEL-mäßig den Hardware TWI ansteuern kann.
(Ausser man schreibt in die dazugehörigen Register...)
Liebe Grüße, Tobi
-
Neuer Benutzer
Öfters hier
siehe bascom help
das steht in der Bascom help:
By default Bascom will use software routines when you use I2C statements. This because when the first AVR chips were introduced, there was no TWI yet.
So you can use I2C on every AVR chip. Some newer AVR chips have build in hardware support for I2C. This is called the TWI interface. (Two Wire Interface).
Read more about I2C in the hardware section.
To force Bascom to use the TWI, you need to insert the following statement into your code:
$LIB "I2C_TWI.LBX"
You also need to choose the correct SCL and SDA pins with the CONFIG SCL and CONFIG SDA statements.
The TWI will save code but the disadvantage is that you can only use the fixed SCL and SDA pins.
wie gesagt damit klappt die kommunikation, aber so wie das in all den Threads und in der Literatur beschrieben ist nicht.
Matthias
-
Erfahrener Benutzer
Roboter Genie
HI
Benutzt du eine BETA-Version? Oder welche Version benutzt du?
Bei mir gibt's die lib garnicht! Ich habe allerdings noch die xy.7.4
Bin ich so rückständig, oder geht der Hardware TWI mit Bascom doch??
Hast du...
You also need to choose the correct SCL and SDA pins with the CONFIG SCL and CONFIG SDA statements.
?
Könntest du deinen Code posten?
Ganz liebe Grüße,
Tobi
-
Neuer Benutzer
Öfters hier
hab was!
Also ich habe gerade mein Problem selbst gelöst. Mit "Config twi= 50000" kann ich nämlich auch mit der TWI Unterstützung die Clock anpassen.
Somit klappt es nun (Habe nämlich ellenlange Kabel in meiner Endanwendung)
Aber ohne die benutzung des TWI klappt es bei mit immer noch nicht.
Ich melde mich dann wieder wenn ich das ganze mal mit nem Chip ohne TWI machen muss.
Trotzdem Danke
Gruß Matthias
-
Neuer Benutzer
Öfters hier
Version
Hallo,
ich benutze 1.11.7.6 Ja das ist ne Beta.
Kann ja sein das deshalb nicht so klappt. Falls Mark das liest: kann das sein?
-
Erfahrener Benutzer
Roboter Genie
HI
Theoretisch... Da basteln die Jungs von MCS schon länger rum.
Warum willst du die Hardware nicht nutzen, wen nur die funktioniert?
Ganz liebe Grüße,
Tobi
-
Neuer Benutzer
Öfters hier
Hi,
tu ich ja jetzt. spart auch codesize. Aber es wurmt mich das das nicht auf die herkömmliche Weise klappt auch wenn die eigentlich schlechter ist.
Sag mal, kann ich eigentlich auch nach 1.11.7.4 "downgraden"
Gruß Matthes
-
Erfahrener Benutzer
Roboter Genie
-
Erfahrener Benutzer
Robotik Einstein
hallo, im forum "avr risc" habe ich unter "externer speicher" 2 routinen, wo ich ein I2C eeprom 24c256 (32kbyte) schreibe und lese.
musst nur deine adresse des eeprom eintragen.
mfg pebisoft
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen