刚才做实验发现一个大问题,使用ST的固件库 执行如下程序 while(1) { GPIO_SetBits(GPIOB,GPIO_Pin_11); GPIO_ResetBits(GPIOB,GPIO_Pin_11); } 用示波器看完整的波形周期竟然是400ns,反汇编也就7条指令,为何执行了400ns????。。。cpu72M速度,就算除去指令延迟,减一倍的速度,也应该是32M的速度啊,那单周期指令也应该是30ns,7条也就210ns,难道这7条指令全赶上多周期的了?
STM103 内核72M flash取指令1周期延迟 指令缓冲开 APB1=36M APB2=72M AHB=72M GPIO 50M 推挽
难道这就是STM32的速度?不明白请指点一下 据我所知AVR在18M时用汇编: ldi R16,0 ldi R17,0xff here:out PORTB,r16 out PORTB,r17 rjmp here 用的时间应该是6时钟周期=300ns,依然比STM32快。。。。 |