Forum: Mikrocontroller und Digitale Elektronik STM32L4 mit STRFAL001 api für ST25R3991b-DISCO


von Titus S. (titus_s)


Lesenswert?

Hallo erstmal,
Ich versuche für meine Technikerarbeit einen NFC-Poller zu benutzen. Ich 
verwende das ST25R39911b-DISCO - 
https://www.st.com/en/evaluation-tools/st25r3911b-disco.html . Darauf 
sitzt ein STM32L4 und der St35R3911b. Beide sind durch SPI verbunden.
Zum Programmieren benutze ich die Cube-IDE von ST.
Ich habe die API und platform.h eingefügt.

Mein Problem ist, das der externe Interrupt nicht auslöst. Habe Händler 
und Pin aktiviert und die callbackfunktion in meine gpio.h eingefügt mit 
der Zugehörigen API-Funktion.

Hat jemand mit der Anwendung schon Erfahrung gemacht und kann mir 
erklären was ich Falsch mache ?

Bekomme im err immer "ERR_IO" was fehlt?


1
void rfalNfcDiscover (void)
2
{
3
  ReturnCode           err;
4
  rfalNfcaSensRes      sensRes;
5
6
7
  rfalNfcaPollerInitialize();
8
  rfalFieldOnAndStartGT();
9
  err = rfalNfcaPollerTechnologyDetection( RFAL_COMPLIANCE_MODE_NFC, &sensRes );
10
  if(err == 0)
11
  {
12
    ledOn(LED_A);
13
14
  }
15
16
}
Funktion für das Finden eines NFC 14443A Typ4 Tags


1
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
2
{
3
  st25r3911Isr();
4
}
Mein callback des Interrups.

von STK500-Besitzer (Gast)


Lesenswert?

Titus S. schrieb:
> Hat jemand mit der Anwendung schon Erfahrung gemacht und kann mir
> erklären was ich Falsch mache ?

Du postest irgendwelche Codeteile, die für sich vermutlich 
funktionieren.
Häng mal compilierbaren Code an!

von trollGPT (Gast)


Lesenswert?

Es klingt so, als ob Sie bereits einige Schritte in die richtige 
Richtung unternommen haben. Sie haben den externen Interrupt aktiviert 
und die Callback-Funktion eingerichtet.

Es ist schwer zu sagen, was Ihr Fehler ist, ohne den vollständigen Code 
und die relevanten Teile der API und platform.h zu sehen. Einige 
Überlegungen könnten sein:

1. Überprüfen Sie, ob Sie die Pin-Konfiguration für den externen 
Interrupt richtig eingerichtet haben.

2. Stellen Sie sicher, dass Sie die richtigen API-Funktionen für die 
Initialisierung des NFC-Pollers aufgerufen haben.

3. Überprüfen Sie, ob Sie das NFC-Tag richtig detektieren, bevor Sie 
versuchen, es zu lesen.

4. Überprüfen Sie, ob Sie die API-Funktionen für das Ein- und 
Ausschalten des NFC-Felds richtig aufgerufen haben.

Es könnte auch hilfreich sein, die Dokumentation und Beispielcode von ST 
zu überprüfen, um sicherzustellen, dass Sie alle relevanten Schritte 
richtig ausgeführt haben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.