CH32V307VCT6开启FPU之后程序运行时间变长

实验方法:在while1里面重复运行某一段代码,开始时刻拉低IO口,结束时刻拉高IO口,使用逻辑分析仪以24M的采样率采集io口电平统计低电平时长,变量均为单精度

代码如下:

????for?(float?theta?=?0;?theta?<?6.28318;?theta?+=?0.001)
????{
????????GPIOE->BCR?=?GPIO_Pin_6;//拉低IO

????????m1.u_d?=?0.5;
????????m1.u_q?=?0;
????????m1.theta?=?theta;
????????ipark(&m1);
????????svpwm(&m1);

????????TIM1->CH1CVR?=?(uint16_t)(m1.t_a?*?1000);
????????TIM1->CH2CVR?=?(uint16_t)(m1.t_b?*?1000);
????????TIM1->CH3CVR?=?(uint16_t)(m1.t_c?*?1000);
????????GPIOE->BSHR?=?GPIO_Pin_6;//拉高IO
????????printf("%f,%f,%f\r\n",?m1.t_a,?m1.t_b,?m1.t_c);
????}


您好,若是同样一段代码,开启FPU之后运算速度相较于不开启FPU应该更快,你的意思是比不开启FPU还慢么。若方便,可将你的测试代码发至我的邮箱(lzs@wch.cn),我这边测试一下。此外,可对照下图检查一下FPU的配置是否正确。后续若有问题,也可通过邮箱和我沟通。

image.png


只有登录才能回复,可以选择微信账号登录