我把DMA配置好了,UART也配置好了,使用非DMA方式收发都没有问题,都能进TX和RX的中断,后来改成DMA方式,无任何反应,下面是我的配置代码和数据发送代码,师傅们帮我看看 以下是配置UART的代码部分
U1MODEbits.PDSEL = 0;//8位数据,无奇偶校验
U1MODEbits.STSEL = 0;//一个停止位
U1MODEbits.UEN = 0;
U1STAbits.URXEN = 0;//接收器使能
U1STAbits.UTXEN = 0;//发送器使能
U1STAbits.UTXISEL = 1;
U1STAbits.URXISEL = 0;
U1STAbits.UTXINV = 0;
U1STAbits.UTXBRK = 0;
U1MODEbits.BRGH = 1;//高速模式
U1BRG = 14;//波特率2000000
U1MODEbits.ON = 1;
以下是数据发送代码
for(i=0;i<8;i++)
{
Tx_Data = i;
}
DCH0SSIZ = 8;
DCH0SSA = &Tx_Data[0];
DCH0DSIZ = 8;
DCH0DSA = &U1TXREG;
DCH0CSIZ = 8;
DCH0ECONbits.CHSIRQ = 40;
DCH0CONbits.CHEN = 1;//使能CH0
DCH0ECONbits.CFORCE = 1;//强制DMA
|