AT86RF233 löst keinen Interrupt aus

OP #2924689
Lesenswert?

hi!

ich möchte den Funkchip AT86RF233 nutzen.
Als Mikrocontroller verwende ich einen ATMega88.
Ich verwende die ISP-Schnittstelle zur Kommunikation.
Das funktioniert soweit auch.

Mein Problem: Der Funkchip löst keinen Interrupt aus.
(z.B. wenn Funkübertragung beendet)

Kennt jmd das Problem, bzw hat jmd mit diesem Funkchip schon mal zu tun 
gehabt?

MfG
Thorsten
OP #2925625
Lesenswert?

danke für die schnelle antwort!
habe noch etwas rumprobiert...das problem ist nicht der interrupt, 
sondern das wechseln von einem status in einen anderen.
hier einmal die funktion:
1
void setState(uint8_t state)
2
{
3
  
4
  spi_write(TRX_STATE,FORCE_TRX_OFF);
5
  //while (TRX_OFF != (spi_read(TRX_STATUS) & REG_TRX_STATUS_TRX_STATUS_MASK));
6
  
7
  while (spi_read(TRX_STATUS) == 0x1F);
8

9
  spi_write(TRX_STATE, state);
10
  while (spi_read(TRX_STATUS) == 0x1F); // aus dieser schleife kommt er nicht mehr raus !!!
11

12
  //while (state != (spi_read(TRX_STATUS) & REG_TRX_STATUS_TRX_STATUS_MASK));
13
  
14
}

0x1F im Statusregister steht für STATE_TRANSITION_IN_PROGRESS.

Irgendwelche Ideen? :)
OP #2925772
Lesenswert?

scheint ein hardware-problem gewesen zu sein.
mit einer anderen platine taucht der fehler nicht auf.

ein fehler, den ich allerdings geamcht hatte war, alle interrupts zu 
aktivieren (IRQ_MASK=0xFF).
nachdem ich nur die aktiviert hatte, die ich auch benutze (TRX_END, 
RX_START) lief mein programm einwandfrei.
#2927217
Lesenswert?

>ein fehler, den ich allerdings geamcht hatte war, alle interrupts zu
>aktivieren (IRQ_MASK=0xFF).

Es wäre durchaus interessant zu wissen, welche IRQs noch so auftraten, 
die den Programmablauf störten. Vielleicht gibt das ja noch einen 
Hinweis auf
ein Hardwareproblem (sozusagen als Hilfe für das Boardbringup).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren