This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
1. 您好,在28035 CLA manual中,我们可以看到对于CLA可以访问的寄存器的说法“The CLA has direct access to the ePWM+HRPWM, Comparator and ADC Result registers.”。注意direct,如下图所示
问题:
我在阅读“BLPFC”-> BridgelessPFC-DPL-ISR.asm文档时,在最后结束部分看到如下语句,用来清楚中断标志:
Interrupt management before exit
.if(EPWMn_DPL_ISR=1)
.if(EPWM1)
MOVW DP,#_EPwm1Regs.ETCLR
MOV @_EPwm1Regs.ETCLR,#0x01 ; Clear EPWM1 Int flag
.endif ; EPWM1
.if(EPWM2)
MOVW DP,#_EPwm2Regs.ETCLR
MOV @_EPwm2Regs.ETCLR,#0x01 ; Clear EPWM2 Int flag
.endif ; EPWM2
MOVW DP,#_PieCtrlRegs.PIEACK ; Acknowledge PIE interrupt Group 3
MOV @_PieCtrlRegs.PIEACK, #0x4
.endif ; EPWMn_ISR
.if(ADC_DPL_ISR=1)
; Case where ISR is triggered by ADC
; MOVW DP,#_AdcRegs.ADCINTFLGCLR
; MOV @AdcRegs.ADCINTFLGCLR, #0x01 ; Clear ADCINT1 Flag
MOVW DP,#_PieCtrlRegs.PIEACK ; Acknowledge PIE interrupt Group 1
MOV @_PieCtrlRegs.PIEACK, #0x1
.endif
蓝色部分难道不是说明CLA可以间接修改PIEACK寄存器么?再回到刚开始的说明,CLA Datasheet中只列举了可以直接访问的寄存器,这么一来,
Q1:是不是CLA还可以间接访问其它寄存器!!!?如果是,是不是所有的寄存器都可以间接访问?
Q2:那么,在CLA使用C进行编写时,如何大批量的插入汇编代码进行编写呢。单句的话可以插入类似于 __asm(" MEALLOW ");语句,那么想插入一段汇编代码的时候也是如此一条一条直接添加就好了吗?有什么影响呢?
先谢谢啦!
Seven Han你好,谢谢你的回复。
1. 我看了你的给我的链接,但是我并不确定你想给我的看的内容是哪一块。因为链接的内容中并没有对间接访问进行说明。也没有讲是否可以通过其它方式访问寄存器。
2. 我阅读了部分链接中的内容,还看到了以下内容: