www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [ADUC7026] IAR Ebedded Workbench + I2C


Autor: zeroflow (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute, meine Frage an euch.

Ich muss bei meiner Diplomarbeit unter anderem einen Ultraschallsensor 
per I2C anbinden.

Soweit so gut, in Keil kann ich den Sensor ansprechen z.B mit dem code 
unten löse ich eine messung aus, was auch mit einem blinken quittiert 
wird.
I2C1ADR = adress;   // set i2c address(LSB = 0, Master Write)
I2C1MTX = 0x1;      // write Byte

Das erste, weiß jemand wie ich das lesen genau mache?
Zur Zeit probiere ich es mit:
#define count 0x00; // Number of bytes to be recieved - 1

I2C1CNT = count;    // Number of bytes to be read from slave
I2C1ADR = adress+1; // set i2c address  (LSB = 1, Master Read)

und dann im Interrupt das I2C1MRX register in eine Variable hinein 
speichern

Das 2te:
Ich möchte im IAR embedded Workbench debuggen, damit ich sehe was genau 
in den Registern drin is (ich hab da nen fixen wert 0x80 der beim 
auslesen rauskommen muss), und würde da eben gerne schauen was im 
I2C1MRX Register umgeht.

Nun aber, sobald ich GP1CON auf 0x2200 (I2C1SCL & I2CSDA & restliche 
Ports standard) setze, bricht er mir ab. obwohl ja die UART 
Schnittstelle zum debuggen ja eigentlich auf den 2 Pins ist die ich 
nicht verändere.

Hat jemand dieses Problem auch gehabt und vl. einen Tip für mich?

mfG zeroflow

Autor: Thomas Arthofer (Firma: HTBLuVA Wr. Neustadt) (zeroflow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mal Pushen, bin mal registriert damits ned als "Gast" gepostet wird :D

mfG

Autor: Tilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie setzt du die Pins für I2C, mit
GP1CON = 0x2200
?

Dir ist schon klar, dass in diesem Fall die Uart Pins auf GPIO 
zurückgestellt werden?

Eventuell hilft dir der Beispielcode unter 
http://www.stud.uni-karlsruhe.de/~usjp/aduc weiter?
Da ist afaik auch etwas für I2C dabei.

Autor: Thomas Arthofer (Firma: HTBLuVA Wr. Neustadt) (zeroflow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo danke für die Idee, bin allerdings auf das dann auch drauf gekommen 
dass mir das immer an dem Punkt abschmiert....

Habs dann nur die Bits für I2C umgeschaltet, und es hat weiter 
funktioniert, bis ich dann meine Funktionen aufrufe.

Allerdings durch ne Idee gehts nun sowieso

-> Problem gelöst

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.