


STM32手册上标称的18MHz GPIO翻转速度和你实际测量到的速度之间的差异是预期之内且合理的
这种方法可以产生非常接近GPIO物理极限频率的方波(例如,在APB2=72MHz时,理论上DMA可以每2个时钟周期搬运一次,达到36MHz的写操作率,再考虑物理切换时间Tr/Tf,最终输出十几MHz到20MHz+的方波是可能的,具体取决于芯片型号和配置)。当写操作最终到达GPIO的输出数据寄存器(ODR)或位设置/清除寄存器(BSRR/BRR)并稳定后,GPIO端口的输出驱动器才开始进行电平切换,这个切换本身需要手册标称的Tr/Tf时间(约28ns)。(或使用BSRR/BRR)这些指令本身需要时钟周期。