工具/软件:TI C/C++编译器
我有一个以400 kHz运行的例程,它可以切换多个IOS。
我已经了解到,中断进入和退出需要10个以上的周期,因此我需要优化中断中的实际代码。
以下代码需要多次循环。 可以采取哪些措施来减少循环次数? 每个指令/周期为5 ns,但在400 kHz时,它是CPU总时间的0.2 %。
#define Z_write GpioDataRegs.GPADAT.bit.GPIO11
430 Z_write = enc_emu.z_VEC[enc_emu.which _vector][enc_emu.counter_10kHz][1]
C$L23:
0085a9: 761F0445 MOVW DP,#0x445
0085ab: 2D03 MOV T,@0x3
0085ac: 8F4110A3 MOVL XAR5,#0x0110a3
0085ae: 3550 MPYB ACC,T,#80
0085af: 56.01万A5 附加 @XAR5,符合
0085b1: 3B01 SETC SXM
0085b2: 761F0442 MOVW DP,#0x442
0085b4: 5603.012万 MOV ACC,@0x20 <<1.
0085b6: 07A5 Addl ACC,@XAR5
0085b7: 8AA9 MOVL XAR4,@符合
0085b8: 761F01FC MOVW DP,#0x1fc
0085ba: CD00F7FF 和 AH,@0x0,#0xf7ff
0085bc: 92CC MOV AL,*+ XAR4[1]
0085bd: 9001 ANDB AL,#0x1
0085be: FF8A LSL AL,11
0085bf: CAA8 或 AL,@AH
0085c0: 9600 MOV @0x0,AL