upp配置接收时,首先要禁用upp,再查询DMA传输标志位,再配置upp的DMA接收传输参数,如下实例所示
// Ensure uPP not enabled yet.
CSL_FINST(uppRegs->UPPCR, UPP_UPPCR_EN, DISABLE);
// init DMA channels
while(CSL_FEXT(uppRegs->UPQS2, UPP_UPQS2_PEND) == 0) //UPP_UPQS2_ACT
upp_dma_prog(UPP_DMA_CHAN_Q, (void *)rcvBuffer, lineCnt, xferSize / lineCnt, xferSize / lineCnt);
// Enable uPP here. PCR.EN bit
CSL_FINST(uppRegs->UPPCR, UPP_UPPCR_EN, ENABLE);
我想请问如果一直卡在等待UPP_UPQS2_PEND标志怎么办?不就不能配置下一帧接收了吗?
能手动清空upp吗,或者重启upp?芯片手册中有upp软件复位(SW reset)的描述,但软件复位不改变其寄存器的值吧,软件复位相当于重启upp吗?