Hallo!
Ich möchte Angaben durch SPORT Schnittstelle des ADSP-21369 Prozessors
mit DMA zum DDS senden, aber gibt es ein Problem.
Es werden 2 Bytes weniger als muss gesendet, z.B. es werden 3 Bytes
gesendet, wenn es 5 Bytes gesendet werden müssen.
Da ist die Konfiguration:
1 | static void InitSPORT (void)
|
2 | {
|
3 | unsigned CLKDIV = CCLK / 8 * SPCLK - 1;
|
4 | *pDIV3 = CLKDIV << 1;
|
5 |
|
6 | SRU(SPORT3_DB_O,DAI_PB04_I); // Connect SPORT to DAI pins
|
7 | SRU(SPORT3_CLK_O, DAI_PB06_I); //
|
8 | }
|
9 |
|
10 | void WriteData (unsigned char *source, unsigned bufSize)
|
11 | {
|
12 | *pSPCTL3 = 0;
|
13 |
|
14 | *pIISP3B = (unsigned char) source;
|
15 | *pIMSP3B = 1;
|
16 | *pCSP3B = bufSize;
|
17 |
|
18 | // Enable DMA and SPORT to transmit 8-bit data and frame sync
|
19 | *pSPCTL3 = SDEN_B | SPTRAN | SPEN_B | SLEN8 | FSR | IFS | LFS | LAFS | ICLK;
|
20 | }
|
Kennt man, warum kann es sein?
Vielen Dank!
Viacheslav.