Hi,
hab hier grad einen Fehler und ich komm einfach nicht auf die Lösung :-(
1  | #define  DMA_BUF_ADR 0x2008000
  | 
2  | 
  | 
3  | short *DataBuf = (short *)(DMA_BUF_ADR);
  | 
4  | short DataOut = 0; 
  | 
5  | 
  | 
6  | //usart interrupt routine 
  | 
7  | void UART3_IRQHandler(void)
  | 
8  | {   
 | 
9  |       unsigned char data=0;
  | 
10  | 
  | 
11  |      intsrc = (LPC_UART3->IIR & 0x03CF);       
  | 
12  |      intsrc &= UART_IIR_INTID_MASK;    /* Interrupt ID mask */
  | 
13  | 
  | 
14  |     //THRE
  | 
15  |     if (intsrc == UART_IIR_INTID_THRE)
  | 
16  |     {
 | 
17  |          data = DataBuf[DataOut++];
  | 
18  | 
  | 
19  |         pUart->THR  =data; 
  | 
20  |         if(DataOut == 300)
  | 
21  |         {
 | 
22  |               DataOut = 0; 
  | 
23  |       UART_IntConfig((LPC_UART_TypeDef *)pUart, UART_INTCFG_THRE, false);  //disable THRE  
  | 
24  |        
  | 
25  | 
  | 
26  |         }
  | 
27  |       
  | 
28  |     }
  | 
29  | }
  | 
Das Problem ist, dass nichts gesendet wird über den UART. Zwar steht in 
data der richtige Wert drinnen, aber es wird 0x00 gesendet.
Wenn ich jetzt statt
data = DataBuf[DataOut++];
einfach nur
data = 0xFF;
schreibe,dann wird auch oxFF ausgegeben....
Gruß
Seb