Quantcast
Channel: C2000™︎ 微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 12268

关于ISR中断中求解phase error 的问题

$
0
0

MOVL @XT,ACC

MOVW DP,#_dwPll_Cos_out
IMPYL P,XT,@_dwPll_Cos_out ;P = Cos_Out * Ref_Sin[31:0] 
QMPYL ACC,XT,@_dwPll_Cos_out ;ACC = Cos_Out * Ref_Sin[63:32]
LSL64 ACC:P,#13 ;ACC->Q24, Phase error = 2 * ACC
MOVW DP,#_dwPhase_Err_Max
MINL ACC,@_dwPhase_Err_Max
MOVW DP,#_dwPhase_Err_Min
MAXL ACC,@_dwPhase_Err_Min
MOVW DP,#_dwPhase_Error_Out
MOVL @_dwPhase_Error_Out,ACC ;Q24 让errorout=min,max,out三者的中间值

这段程序是ISR.asm中一段话,注释表明其用于求解phase error,那么请问其中

LSL64 ACC:P,#13 ;ACC->Q24, Phase error = 2 * ACC这句话为什么移位之后,phase error就等于2倍ACC呢?


Viewing all articles
Browse latest Browse all 12268

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>