I2C-Programmierung für NXP Chip

Gast #3277609
Servus Leute

ich bin möchte hier Daten, die auf einem RFID-Chip der Firma NXP 
gespeichert sind, über eine I2C Schnittstelle auslesen. Folgendes 
Hardware benutze ich:

RFID-Chip: NXP - SL3S4011_4021
Microcontroller: ATMEGA16
Board: STK500 Entwicklerboard
Debugger: JTAG ICE3 MKII
Software: AVR Studio 6

Der NXP Chip wurde mit dem Tool "Simple I2C" erfolgreich getestet, der 
chip funktioniert einwandfrei.
Ich habe nun im AVR Studio mittels der Bibliothek von Peter Fleury ein 
Programm für die I2C Kommunikation erstellt. Es sieht folgendermaßen 
aus:
1
#include <asf.h>
2
#include <avr/io.h>
3
#include <avr/interrupt.h>
4
#include <twimaster.c>
5
#include <util/twi.h>
6
#include "i2cmaster.h"
7

8
#define Adr_NXP 0xA2 // Read: 0xA3 (Adresse 10100011) // Write: 0xA2 (Adresse 10100010)
9
#define Wert     //
10

11

12
//############ init MAX1238 via I2C
13
void NXP_init(void)
14
{
15
  i2c_start(0xA3);
16
  i2c_readAck(Wert);
17
  i2c_stop(); // stop i2c
18
}
19

20
//########################### main
21
int main(void)
22
{
23
  cli();
24
  i2c_init();
25
  sei();
26
  NXP_init();
27
}

Der Code bringt mir bei der kompilierung keinen Fehler, allerdings habe 
ich irgendein Problem mit dem TWI-Registern wenn ich den Code Debuge und 
Eine Überwachung der einzelnen Register durchführe. Es wird mir 
folgender Error gebracht:

TWBR  Syntax error: parsing stopped at (*(volatile uint8_t *)((0x00) + 
0x20)).  Error

TWSR  Syntax error: parsing stopped at (*(volatile uint8_t *)((0x01) + 
0x20)).  Error

Und diesen Fehler bekomme ich bei allen Registern, dementsprechnd steht 
auch nichts in meinem WERT, den ich gerne ausgelesen hätte.
Eine Suche nach diesem Fehler erbrachte bis jetzt nichts. Syntaxfehler 
zeigen doch eigentlich auf eine falsch gesetztes oder fehlendes Zeichen 
ist. Der Code wird jedoch ohne Fehler kompiliert und wie gesagt, 
eigentlich sollten doch in diesen Registern Werte stehen ?

Um die I2C Kommunikation durchzuführen sollten wenigstens Werte auf dem 
TWSR Register gesetzt sein, ist aber nicht der Fall.
Was mache ich hier falsch, wer kann helfen ?

LG Hans

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.