mfj710 发表于 2012-3-28 19:19

请教各位!S3C2440A的串口DMA通信问题?

有哪位大侠,调通过S3C2440A的串口dma功能,我把那几个寄存器都配置了,都不行,请指点一下,有什么问题么?或者那个寄存器配置有特殊的要求?谢谢!!

void Uart_DMA_TX_Config(void)
{
rUCON0=0x24a;   //发送中断为电平方式,接收中断为边沿方式,禁止超时中断,允
                           许产生错误状态中断,禁止回送模式,禁止中止
                         //信号,传输模式为DMA请求模式,接收模式也为DMA请求模式。
                     
   pISR_DMA0 = (unsigned)Dma0Done;
EnableIrq(BIT_DMA0);   //open DMA0 INTERRUPT                  
                     
                     
rDISRC0=(U32)Uart0_TX;//初始源地址寄存器,为串口0接收缓冲器
rDISRCC0=0x00;            //地址为TX数据缓存,源在系统总线上,增加

rDIDST0=(U32)UTXH0;    //初始目的地址UTXH0
rDIDSTC0=0x1;             //初始目的地址控制寄存器CHK_INT:0,当TC为0,
                                       中断出现
                                    //LOC:0,源在系统总线上INC:1,固定

rDCON0=(1<<31)|(1<<30)|(1<<29)|(0<<28)|(1<<27)|(1<<24)|
   (1<<23)|(1<<22)|(0<<20)|(0);
            
      //DMA控制寄存器,DMD_HS:1,选择握手模式,SYNC=0,与PCLK同步,SYNC=1,与HCLK同步
      //INT=0,CURR_TC,中断无效,需要查看传输计数器的数值,INT=1传输结束产生中断
      //TSZ=0;执行单元传输,SERVMODE=0.单服务模式,
      //HWSRCSEL=001,DMA通道选择USART0,SWHW_SEL=1,硬件请求模式。
      //RELOAD=0,关闭自动重载,DSZ=00,传输数据位byte,
      //TC=0x00,初始化传输计数为0。
rDMASKTRIG0=0x03;//DMA on, SW_TRIG
   
}

xibowen 发表于 2018-1-17 17:43

你用什么编译器
页: [1]
查看完整版本: 请教各位!S3C2440A的串口DMA通信问题?