cc2510 Port lesen per DMA

Gast #2429232
Lesenswert?
• ▲
▼
Hallo an alle,
Seit Tagen versuche ich meinem cc2510 MCU von TI zu überreden das Port1 
per DMA in ein Array zu lesen. Leider funktioniert das nur mit mäßigen 
Erfolg. Wenn ich das Port direkt auslese (Test = P1) klappt es 
wunderbar. Wenn ich für das Gleiche die DMA benutze bekomme ich immer 
nur das Reset Value vom Port zurück. Hat einer von euch eine Idee was 
ich falsch mache???
Und ist das überhaupt möglich?

Hier die Funktion:
1
#define DATA_AMOUNT 512
2
static char copy[DATA_AMOUNT];
3
static DMA_DESC dmaConfig0;  
4
void main(void){
5
  P1SEL = 0x00;
6
  P1DIR = 0x00;
7
  P1INP = 0x00;
8
  P2INP = 0x40;
9
    dmaConfig0.SRCADDRH  = ((uint16)P1 >> 8) & 0x00FF;   // I thought here should stand 0xDF90 ????
10
    dmaConfig0.SRCADDRL  = (uint16)P1 & 0x00FF;
11
    dmaConfig0.DESTADDRH = ((uint16)copy >> 8) & 0x00FF;
12
    dmaConfig0.DESTADDRL = (uint16)copy & 0x00FF;
13
    dmaConfig0.VLEN      = DMA_VLEN_USE_LEN;
14
    dmaConfig0.LENH      = (DATA_AMOUNT >> 8) & 0x00FF;
15
    dmaConfig0.LENL      = DATA_AMOUNT & 0x00FF;
16
    dmaConfig0.WORDSIZE  = DMA_WORDSIZE_BYTE;
17
    dmaConfig0.TMODE     = DMA_TMODE_BLOCK;
18
    dmaConfig0.TRIG      = DMA_TRIG_NONE;
19
    dmaConfig0.SRCINC    = DMA_SRCINC_0;
20
    dmaConfig0.DESTINC   = DMA_DESTINC_1;
21
    dmaConfig0.IRQMASK   = DMA_IRQMASK_DISABLE;
22
    dmaConfig0.M8        = DMA_M8_USE_8_BITS;
23
    dmaConfig0.PRIORITY  = DMA_PRI_HIGH;
24
    DMA0CFGH = ((uint16)&dmaConfig0 >> 8) & 0x00FF;
25
    DMA0CFGL = (uint16)&dmaConfig0 & 0x00FF;
26

27
  DMAREQ |= DMAREQ0;
28

29
  while ( !(DMAIRQ & DMAIRQ_DMAIF0) );
30

31
  DMAIRQ &= ~DMAIRQ_DMAIF0;
32
while(1);
33
}

Danke schonmal im Voraus :D

Gruß

Roland
Gast #2430025
Lesenswert?
• ▲
▼
Hi,
Ok es sieht so aus als hätte ich keinen Zugriff auf diese eine XDATA 
Adresse:

 *   Some SFRs are not accessible through XDATA space.  For clarity, 
entries are included for these
 *   registers.  They have a prefix of _NA to denote "not available."

Gibt es da vielleicht noch eine Hintertür die ich benutzen kann? Diese 
Adresse umgehen oder so?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.