Hi there,
I'm trying to receive some data using an AT91SAM7 micro-controller as slave and a device master that has such an output:

The following lines from my code explains the SSC configuration I'm using:
Code:
/* Setting up external clock source from pin RK, no clock output, clock
* is falling-edge triggered, clock enabled only if RF is low */
AT91C_BASE_SSC->SSC_RCMR = AT91C_SSC_CKS_RK | AT91C_SSC_CKO_NONE |
AT91C_SSC_CKG_RFLOW | AT91C_SSC_START_CONTINOUS;
/* Data length is 5 bits (SSC_RFMR+1), RXSYN interrupt is
* positive-edge triggered */
AT91C_BASE_SSC->SSC_RFMR = (AT91C_SSC_DATLEN & 4);
.....
/* Enable RXSYN and RXBUFF interrupts */
AT91C_BASE_SSC->SSC_IER = AT91C_SSC_RXBUFF | AT91C_SSC_RXSYN;
What I'd like to have here is SSC to send me an interrupt whether the RF line gets high (i.e. on its rising edge), I thought RXSYN interrupt would have been OK for this purpose.
Corresponding pins of RK, RD and RF are exclusively assigned to the SSC. Furthermore using a scope I can clearly see that signals successfully reach the micro-controller's pins. Thus hardware is OK.
The problem here is that RXSYN interrupt will never be set by the SSC in its control register, hence no interrupt is being triggered by the AIC.
With some debugging I discovered that SSC successfully receives data, anyway it does not set RXSYN in the SSC, never.
Now the real question (I didn't manage to find an answer to this in the datasheet) is:
Does RXSYN interrupt work whether continuous mode is used?