打印
[信息发布]

PIC32MK用DMA方式进行UART数据收发遇到问题

[复制链接]
1752|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elephant00|  楼主 | 2021-6-11 16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我把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

使用特权

评论回复
沙发
classroom| | 2021-6-11 16:27 | 只看该作者
源大小,目标大小设置出了问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

966

主题

2955

帖子

7

粉丝