- 打卡等级:初来乍到
- 打卡总天数:2
- 最近打卡:2025-07-06 17:39:30
已绑定手机
新手上路
- 积分
- 28
|
代码里这样改了一下也不行
原来:
if((DmaTx1Flag) && (DmaRx1Flag))
{
DmaTx1Flag = 0;
DmaRx1Flag = 0;
DMA_UR1T_TRIG(); //重新触发UART1发送功能
DMA_UR1R_TRIG(); //重新触发UART1接收功能
}
修改后
if((DmaTx1Flag) && (DmaRx1Flag))
{
DmaTx1Flag = 0;
DMA_UR1T_TRIG(); //重新触发UART1发送功能
//关闭接收DMA,下次接收的数据重新存放在起始地址位置,否则下次接收数据继续往后面存放。
DMA_UR1R_CR = 0x00; //bit7 1:使能UART1_DMA, bit5 1:开始 UART1_DMA 自动接收, bit0 1:清除 FIFO
DMA_UR1R_AMT = 9; //设置传输总字节数:n+1
DMA_UR1R_RXA = DmaBuffer1;
DMA_UR1R_CR = 0xa1; //bit7 1:使能 UART1_DMA, bit5 1:开始 UART1_DMA 自动接收, bit0 1:清除 FIFO
DmaRx1Flag = 0;
DMA_UR1R_TRIG(); //重新触发UART1接收功能
} |
|