感谢21IC和ST获得了NUCLEO-F767ZI的开发板,在CUBE例程的GPIO_IOToggle上修改,先对IO频率进行了测试,发现F7库函数GPIO输出寄存器统一为了BSRR,u32,不在像以前区分为两个u16,需改写宏定义为(LED2)#define Led_L GPIOB->BSRR = (GPIO_PIN_7<<16)#define Led_H GPIOB->BSRR = GPIO_PIN_7
GPIO初始化后,
while (1)
{
Led_L;
Led_H;
}
看频率,108M,也就是216M单指令周期完成一次IO操作。更惊人的是循环不占用时间,我使用F429的时候做不到这一点,F7确实不一样。
接下来测试了FFT,添加DSP库,开启FPU等操作,执行1024点实数FFT
while(1)
{
arm_rfft_fast_f32(&S, x, y, ifftFlag);
Led_L;
arm_rfft_fast_f32(&S, x, y, ifftFlag);
Led_H;
}
不解的情况出现了,变换一次时间为500us,之前测试F446同样程序330us一次,速度反而慢了,非常不解,不知道哪里出了问题,求指教!
|