请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C123GH6PM 您好!
首先,我完全感到困惑。 float 在其他模块中非常正常、但在主函数中、在声明 float32_t 变量(尝试使用 float)后、我甚至无法为该变量分配1.0f。 我正在使用 Keil、并且 FPU 已启用。 这一个模块和其他模块(浮动功能)具有相同的相关"包括"。 我已经检查过它们是否在那里工作!
我正在使用调试器、它告诉我变量设置为0。
我们非常感谢您的任何建议。
#include #include #include #include #include "driverlib/sysctl.h" #include "settings.h" #include "sampler.h" #include "arm_math.h" #include "mfive.h" #include "arm_const_structs.h" //int16_t data[7168];//test:sound "floatn.32 ;/ints/spreratn=32、t/ints/simum_t_static /t/ints/simity = t/ints/simity void/t/ints/sime32_t/t/ints/simum_t/ints/simumt/t/t/ints/spratn=t/ints/simumt/ints/simum_t/ints/simumt/int_t/ints/simumt/ints/simumt/t/t/ints/sprat声音 int i = 0; int j、k; float32_t features[MFCC_SIZE]; float32_t Powers[word_length]; float32_t observations[word_length][mfcc_size]; float32_t cntbug_FRAME[256];//存储位置(adc_out - 2047)* 3.3 / 4095 float32_t pized_frame_prev[256];//上面的先前值的放置位置、更新 后 float32_t = t32_t;tintrat_t = 0.32_t = 1 ;t32_t = 1、tinut = 1、tatfut = 0.32_t 1;t/t/tintruatfuatfuatfut = 1;t32_t = 1、t/t/t/tinuatfu32_t/t/t/t uint16_t count = 0; init_peripherals (); init_Forward (); while (1){ if (n = n_prev)//等待直到有新的样本批次准备就绪 ;//以下原因是 ping_pong DMA if (n%2 = 1){for (j = 0;j < 256;j+)}(j_584_j](n%2 = 1)});j_框架0_08_j[0_04] } 否则{ for (j = 0;j < 256;j++){ sized_frame[j]=(adc_out_1[j]- 2047)* 8.058608e-4; } } arm_fill_F32 (0、input_F32_16kHz、BUFSIZE);//初始化输入数组以 // ful_f0_f32 为单位,因为其为"fis/"单位,且其值为"32为"f"单位,且为"fis",因为其值为"0ks"。 我们将帧// 'sived_frame_prev'覆盖阵列(256)的前半部分(256)样本, //'sived_frame'覆盖后半部分(256 + 256 = 512样本) (j = 0;j < 256;j++){ input_F32_16kHz[j * 2]= frame_prev_j[32_j] ;[j_16kHz]= 32_ref];输入*12_j_ref] memcpy (sized_frame_prev、sized_frame、256 * sizeof (* sized_frame)); get_mfc (input_F32_16kHz、 特征、幂+ i); //memcpy (observations[i]、特征、12 * sizeof (*特征)); arm_copy_f32 (特征、观测[i]、12); //if (features [0]> 40.0) //n = n; i =(i + 1)% word_length; arm_copy_f32 (start_prob、alpha_prev_F32、4); probability = 0; cnt1=0; cnt2=0; start_power = 0.1f;//bug End_power = 0.1f;// bug for (j = i;j < word_length;j++){ if (skip)= 0; continue; } if (cnt1<4){ start_power =(float32_t);j+ (t+ );tbug+(t+ )(t+)+)(t+++)(t++)(t+)(t++)(t++)(t++ t+)(t+++)(tbug/t+(t+)(t+)(t+)(t+)(t+)(t+++(t+)(t+)(t+)(t+)(t+(tbug/t+)(tbug++ k < i;k++){ if (skip){ skip = 0; continue; } if (cnt1<4){ start_power += powes[k]* powes[k];//bug cnt1++;} 否则 if (cnt2 < 4){ end_power += power[k]* power[k];//fugs cnt+ = 1) ;t+(t+) tprob+用于前向辐射系数;// tb+(t+) if (prob < 600.0f && start_power > 0.35f && end_power > 0.35f) count++; n_prev = n; } while (1){}