sa'da

Dependencies:   mbed mbed-dsp drive

Committer:
NoFederation
Date:
Sun May 31 07:27:40 2020 +0000
Revision:
0:662138e6d294
SAAS

Who changed what in which revision?

UserRevisionLine numberNew contents of line
NoFederation 0:662138e6d294 1 #include "mbed.h"
NoFederation 0:662138e6d294 2 #include "arm_math.h"
NoFederation 0:662138e6d294 3 #include "arm_common_tables.h"
NoFederation 0:662138e6d294 4 #include "arm_const_structs.h"
NoFederation 0:662138e6d294 5 #include "math_helper.h"
NoFederation 0:662138e6d294 6 #include "SeeedGrayOLED.h"
NoFederation 0:662138e6d294 7 #include "logo.h"
NoFederation 0:662138e6d294 8
NoFederation 0:662138e6d294 9 Serial pc(SERIAL_TX, SERIAL_RX); //串口
NoFederation 0:662138e6d294 10 DigitalOut myled(LED1); //LED
NoFederation 0:662138e6d294 11 SeeedGrayOLED myOLED; //OLED屏幕
NoFederation 0:662138e6d294 12 InterruptIn button(USER_BUTTON); //用户按键
NoFederation 0:662138e6d294 13
NoFederation 0:662138e6d294 14 #define TEST_LENGTH_SAMPLES 2048
NoFederation 0:662138e6d294 15
NoFederation 0:662138e6d294 16 static void arm_cfft_f32_app(uint32_t ifftFlag);
NoFederation 0:662138e6d294 17 static void arm_rfft_fast_f32_app(uint32_t ifftFlag);
NoFederation 0:662138e6d294 18
NoFederation 0:662138e6d294 19 static float32_t testOutput[TEST_LENGTH_SAMPLES];
NoFederation 0:662138e6d294 20 static float32_t testInput[TEST_LENGTH_SAMPLES];
NoFederation 0:662138e6d294 21 static float32_t testInput_cfft[TEST_LENGTH_SAMPLES];
NoFederation 0:662138e6d294 22 static float32_t testInput_rfft[TEST_LENGTH_SAMPLES];
NoFederation 0:662138e6d294 23 /*
NoFederation 0:662138e6d294 24 ********************************************************************************
NoFederation 0:662138e6d294 25 * 函 数 名: arm_cfft_f32_app
NoFederation 0:662138e6d294 26 * 功能说明: 调用函数arm_cfft_f32_app计算幅频
NoFederation 0:662138e6d294 27 * 形 参: 无
NoFederation 0:662138e6d294 28 * 返 回 值: 无
NoFederation 0:662138e6d294 29 ********************************************************************************
NoFederation 0:662138e6d294 30 */
NoFederation 0:662138e6d294 31 static void arm_cfft_f32_app(uint32_t ifftFlag)
NoFederation 0:662138e6d294 32 {
NoFederation 0:662138e6d294 33 uint16_t i;
NoFederation 0:662138e6d294 34 uint32_t fftSize = 1024;
NoFederation 0:662138e6d294 35 uint32_t doBitReverse = 1;
NoFederation 0:662138e6d294 36 if(ifftFlag == 0) {
NoFederation 0:662138e6d294 37 /* 按照实部,虚部,实部,虚部.....的顺序存储数据 */
NoFederation 0:662138e6d294 38 for(i = 0; i<TEST_LENGTH_SAMPLES/2; i++) {
NoFederation 0:662138e6d294 39 testInput_cfft[i*2+1] = 0;
NoFederation 0:662138e6d294 40 /* 50Hz正弦波,采样率1kHz */
NoFederation 0:662138e6d294 41 testInput_cfft[i*2] = testInput[i];
NoFederation 0:662138e6d294 42 }
NoFederation 0:662138e6d294 43 /* CFFT变换 */
NoFederation 0:662138e6d294 44 arm_cfft_f32(&arm_cfft_sR_f32_len1024,testInput_cfft,ifftFlag,doBitReverse);
NoFederation 0:662138e6d294 45 /* 求解模值 */
NoFederation 0:662138e6d294 46 arm_cmplx_mag_f32(testInput_cfft,testOutput,fftSize);
NoFederation 0:662138e6d294 47 /* 串口打印求解的模值 */
NoFederation 0:662138e6d294 48 for(i = 0; i<TEST_LENGTH_SAMPLES/2; i++) {
NoFederation 0:662138e6d294 49 printf("%f\r\n",testOutput[i]);
NoFederation 0:662138e6d294 50 }
NoFederation 0:662138e6d294 51 } else if(ifftFlag == 1) {
NoFederation 0:662138e6d294 52 /* CFFT变换 */
NoFederation 0:662138e6d294 53 arm_cfft_f32(&arm_cfft_sR_f32_len1024,testInput_cfft,ifftFlag,doBitReverse);
NoFederation 0:662138e6d294 54 /* 串口打印求解的模值 */
NoFederation 0:662138e6d294 55 for(i = 0; i<TEST_LENGTH_SAMPLES/2; i++) {
NoFederation 0:662138e6d294 56 printf("%f\r\n",testInput_cfft[i*2]);
NoFederation 0:662138e6d294 57 }
NoFederation 0:662138e6d294 58 }
NoFederation 0:662138e6d294 59 }
NoFederation 0:662138e6d294 60
NoFederation 0:662138e6d294 61 /*
NoFederation 0:662138e6d294 62 *********************************************************************
NoFederation 0:662138e6d294 63 * 函数名:arm_rfft_fast_f32_app
NoFederation 0:662138e6d294 64 * 功能说明:调用函数arm_rfft_fast_f32_app计算幅频
NoFederation 0:662138e6d294 65 * 形参:无
NoFederation 0:662138e6d294 66 * 返回值:无
NoFederation 0:662138e6d294 67 *********************************************************************
NoFederation 0:662138e6d294 68 */
NoFederation 0:662138e6d294 69 static void arm_rfft_fast_f32_app(uint32_t ifftFlag)
NoFederation 0:662138e6d294 70 {
NoFederation 0:662138e6d294 71 uint16_t i;
NoFederation 0:662138e6d294 72 arm_rfft_fast_instance_f32 S;
NoFederation 0:662138e6d294 73 uint32_t fftSize = 1024;
NoFederation 0:662138e6d294 74 arm_rfft_fast_init_f32(&S, fftSize);
NoFederation 0:662138e6d294 75 if(ifftFlag == 0) {
NoFederation 0:662138e6d294 76 arm_rfft_fast_f32(&S, testInput, testInput_rfft, ifftFlag);
NoFederation 0:662138e6d294 77 arm_cmplx_mag_f32(testInput_rfft, testOutput, fftSize);
NoFederation 0:662138e6d294 78 for(i=0; i<TEST_LENGTH_SAMPLES/2; i++) {
NoFederation 0:662138e6d294 79 printf("%f\r\n", testOutput[i]);
NoFederation 0:662138e6d294 80 }
NoFederation 0:662138e6d294 81 } else if(ifftFlag == 1) {
NoFederation 0:662138e6d294 82 arm_rfft_fast_f32(&S, testInput_rfft, testOutput, ifftFlag);
NoFederation 0:662138e6d294 83 for(i=0; i<TEST_LENGTH_SAMPLES/2; i++) {
NoFederation 0:662138e6d294 84 printf("%f\r\n", testOutput[i]);
NoFederation 0:662138e6d294 85 }
NoFederation 0:662138e6d294 86 }
NoFederation 0:662138e6d294 87 }
NoFederation 0:662138e6d294 88
NoFederation 0:662138e6d294 89 /*
NoFederation 0:662138e6d294 90 *********************************************************************
NoFederation 0:662138e6d294 91 * 函数名:DSP_Sine_Synthesis
NoFederation 0:662138e6d294 92 * 功能说明:调用函数arm_sin_f32,生成采样频率1000Hz的50Hz正弦波和200Hz正弦波
NoFederation 0:662138e6d294 93 * 形参:f1-信号1频率,f2-信号2频率
NoFederation 0:662138e6d294 94 * 返回值:无
NoFederation 0:662138e6d294 95 *********************************************************************
NoFederation 0:662138e6d294 96 */
NoFederation 0:662138e6d294 97 static void DSP_Sine_Synthesis(int f1,int f2,int f3,int a1,int a2,int a3)
NoFederation 0:662138e6d294 98 {
NoFederation 0:662138e6d294 99 uint16_t i;
NoFederation 0:662138e6d294 100 for(i = 0; i < TEST_LENGTH_SAMPLES; i++) {
NoFederation 0:662138e6d294 101 testInput[i] = a1*arm_sin_f32(2*3.1415926f*f1*i/1000) + a2*arm_sin_f32(2*3.1415926f*f2*i/1000) + a3*arm_sin_f32(2*3.1415926f*f3*i/1000);
NoFederation 0:662138e6d294 102 }
NoFederation 0:662138e6d294 103 for(i = 0; i < TEST_LENGTH_SAMPLES; i++) {
NoFederation 0:662138e6d294 104 pc.printf("%f\r\n",testInput[i]);
NoFederation 0:662138e6d294 105 }
NoFederation 0:662138e6d294 106 }
NoFederation 0:662138e6d294 107
NoFederation 0:662138e6d294 108 int main()
NoFederation 0:662138e6d294 109 {
NoFederation 0:662138e6d294 110 int f1,f2,f3,a1,a2,a3;
NoFederation 0:662138e6d294 111 char str1[10];
NoFederation 0:662138e6d294 112 myOLED.init(SH1107G);
NoFederation 0:662138e6d294 113 logo:myOLED.clearDisplay();
NoFederation 0:662138e6d294 114 while(1) {
NoFederation 0:662138e6d294 115
NoFederation 0:662138e6d294 116 myOLED.drawzifu(1,0,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 117 myOLED.drawzifu(2,0,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 118 myOLED.drawzifu(3,0,str3_3,16*16/8); //T
NoFederation 0:662138e6d294 119 myOLED.drawzifu(4,0,str_bian,16*16/8); //变
NoFederation 0:662138e6d294 120 myOLED.drawzifu(5,0,str_huan,16*16/8); //换
NoFederation 0:662138e6d294 121 myOLED.drawzifu(6,0,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 122 myOLED.drawzifu(7,0,str_yan1,16*16/8); //验
NoFederation 0:662138e6d294 123
NoFederation 0:662138e6d294 124 myOLED.drawzifu(2,2,str_deng,16*16/8); //等
NoFederation 0:662138e6d294 125 myOLED.drawzifu(3,2,str_dai,16*16/8); //待
NoFederation 0:662138e6d294 126 myOLED.drawzifu(4,2,str_she,16*16/8); //设
NoFederation 0:662138e6d294 127 myOLED.drawzifu(5,2,str_zhi,16*16/8); //置
NoFederation 0:662138e6d294 128 myOLED.drawzifu(2,3,str_xin,16*16/8); //信
NoFederation 0:662138e6d294 129 myOLED.drawzifu(3,3,str_hao,16*16/8); //号
NoFederation 0:662138e6d294 130 myOLED.drawzifu(4,3,str_can,16*16/8); //参
NoFederation 0:662138e6d294 131 myOLED.drawzifu(5,3,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 132 pc.scanf("%s",str1);
NoFederation 0:662138e6d294 133 if(strcmp(str1,"set_para") == 0) {
NoFederation 0:662138e6d294 134 pc.scanf("%d %d %d %d %d %d",&f1,&f2,&f3,&a1,&a2,&a3); //读取信号参数
NoFederation 0:662138e6d294 135 myOLED.drawzifu(2,2,str_xin,16*16/8); //信
NoFederation 0:662138e6d294 136 myOLED.drawzifu(3,2,str_hao,16*16/8); //号
NoFederation 0:662138e6d294 137 myOLED.drawzifu(4,2,str_can,16*16/8); //参
NoFederation 0:662138e6d294 138 myOLED.drawzifu(5,2,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 139 myOLED.drawzifu(2,3,str_she,16*16/8); //设
NoFederation 0:662138e6d294 140 myOLED.drawzifu(3,3,str_zhi,16*16/8); //置
NoFederation 0:662138e6d294 141 myOLED.drawzifu(4,3,str_wan,16*16/8); //完
NoFederation 0:662138e6d294 142 myOLED.drawzifu(5,3,str_cheng,16*16/8); //成
NoFederation 0:662138e6d294 143 while(1) {
NoFederation 0:662138e6d294 144 pc.scanf("%s",str1);
NoFederation 0:662138e6d294 145 if(strcmp(str1,"send_data") == 0) {
NoFederation 0:662138e6d294 146 myOLED.drawzifu(2,2,str_zheng,16*16/8); //正
NoFederation 0:662138e6d294 147 myOLED.drawzifu(3,2,str_zai,16*16/8); //在
NoFederation 0:662138e6d294 148 myOLED.drawzifu(4,2,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 149 myOLED.drawzifu(5,2,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 150 myOLED.drawzifu(2,3,str_yuan,16*16/8); //原
NoFederation 0:662138e6d294 151 myOLED.drawzifu(3,3,str_shi2,16*16/8); //始
NoFederation 0:662138e6d294 152 myOLED.drawzifu(4,3,str_xin,16*16/8); //信
NoFederation 0:662138e6d294 153 myOLED.drawzifu(5,3,str_hao,16*16/8); //号
NoFederation 0:662138e6d294 154
NoFederation 0:662138e6d294 155 DSP_Sine_Synthesis(f1,f2,f3,a1,a2,a3); //上传原始数据
NoFederation 0:662138e6d294 156
NoFederation 0:662138e6d294 157 myOLED.drawzifu(2,2,str_xin,16*16/8); //信
NoFederation 0:662138e6d294 158 myOLED.drawzifu(3,2,str_hao,16*16/8); //号
NoFederation 0:662138e6d294 159 myOLED.drawzifu(4,2,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 160 myOLED.drawzifu(5,2,str_ju,16*16/8); //据
NoFederation 0:662138e6d294 161 myOLED.drawzifu(2,3,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 162 myOLED.drawzifu(3,3,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 163 myOLED.drawzifu(4,3,str_wan,16*16/8); //完
NoFederation 0:662138e6d294 164 myOLED.drawzifu(5,3,str_cheng,16*16/8); //成
NoFederation 0:662138e6d294 165 while(1) {
NoFederation 0:662138e6d294 166 pc.scanf("%s",str1);
NoFederation 0:662138e6d294 167 if(strcmp(str1,"cfft_data") == 0) {
NoFederation 0:662138e6d294 168 myOLED.clearDisplay();
NoFederation 0:662138e6d294 169 myOLED.drawzifu(2,1,str_bian,16*16/8); //变
NoFederation 0:662138e6d294 170 myOLED.drawzifu(3,1,str_huan,16*16/8); //换
NoFederation 0:662138e6d294 171 myOLED.drawzifu(4,1,str_lei,16*16/8); //类
NoFederation 0:662138e6d294 172 myOLED.drawzifu(5,1,str_xing,16*16/8); //型
NoFederation 0:662138e6d294 173
NoFederation 0:662138e6d294 174 myOLED.drawzifu(2,2,str_fu,16*16/8); //复
NoFederation 0:662138e6d294 175 myOLED.drawzifu(3,2,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 176 myOLED.drawzifu(4,2,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 177 myOLED.drawzifu(5,2,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 178 myOLED.drawzifu(6,2,str3_3,16*16/8); //T
NoFederation 0:662138e6d294 179
NoFederation 0:662138e6d294 180 myOLED.drawzifu(2,4,str_zheng,16*16/8); //正
NoFederation 0:662138e6d294 181 myOLED.drawzifu(3,4,str_zai,16*16/8); //在
NoFederation 0:662138e6d294 182 myOLED.drawzifu(4,4,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 183 myOLED.drawzifu(5,4,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 184 myOLED.drawzifu(2,5,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 185 myOLED.drawzifu(3,5,str_yan1,16*16/8); //验
NoFederation 0:662138e6d294 186 myOLED.drawzifu(4,5,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 187 myOLED.drawzifu(5,5,str_ju,16*16/8); //据
NoFederation 0:662138e6d294 188
NoFederation 0:662138e6d294 189 arm_cfft_f32_app(0);
NoFederation 0:662138e6d294 190
NoFederation 0:662138e6d294 191 myOLED.drawzifu(2,4,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 192 myOLED.drawzifu(3,4,str_yan1,16*16/8); //验
NoFederation 0:662138e6d294 193 myOLED.drawzifu(4,4,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 194 myOLED.drawzifu(5,4,str_ju,16*16/8); //据
NoFederation 0:662138e6d294 195 myOLED.drawzifu(2,5,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 196 myOLED.drawzifu(3,5,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 197 myOLED.drawzifu(4,5,str_wan,16*16/8); //完
NoFederation 0:662138e6d294 198 myOLED.drawzifu(5,5,str_cheng,16*16/8); //成
NoFederation 0:662138e6d294 199 while(1) {
NoFederation 0:662138e6d294 200 pc.scanf("%s",str1);
NoFederation 0:662138e6d294 201 if(strcmp(str1,"cifft_data") == 0) {
NoFederation 0:662138e6d294 202 myOLED.clearDisplay();
NoFederation 0:662138e6d294 203 myOLED.drawzifu(2,1,str_bian,16*16/8); //变
NoFederation 0:662138e6d294 204 myOLED.drawzifu(3,1,str_huan,16*16/8); //换
NoFederation 0:662138e6d294 205 myOLED.drawzifu(4,1,str_lei,16*16/8); //类
NoFederation 0:662138e6d294 206 myOLED.drawzifu(5,1,str_xing,16*16/8); //型
NoFederation 0:662138e6d294 207
NoFederation 0:662138e6d294 208 myOLED.drawzifu(1,2,str_fu,16*16/8); //复
NoFederation 0:662138e6d294 209 myOLED.drawzifu(2,2,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 210 myOLED.drawzifu(3,2,str_i,16*16/8); //I
NoFederation 0:662138e6d294 211 myOLED.drawzifu(4,2,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 212 myOLED.drawzifu(5,2,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 213 myOLED.drawzifu(6,2,str3_3,16*16/8); //T
NoFederation 0:662138e6d294 214
NoFederation 0:662138e6d294 215 myOLED.drawzifu(2,4,str_zheng,16*16/8); //正
NoFederation 0:662138e6d294 216 myOLED.drawzifu(3,4,str_zai,16*16/8); //在
NoFederation 0:662138e6d294 217 myOLED.drawzifu(4,4,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 218 myOLED.drawzifu(5,4,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 219 myOLED.drawzifu(2,5,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 220 myOLED.drawzifu(3,5,str_yan1,16*16/8); //验
NoFederation 0:662138e6d294 221 myOLED.drawzifu(4,5,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 222 myOLED.drawzifu(5,5,str_ju,16*16/8); //据
NoFederation 0:662138e6d294 223 arm_cfft_f32_app(1);
NoFederation 0:662138e6d294 224 myOLED.drawzifu(2,4,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 225 myOLED.drawzifu(3,4,str_yan1,16*16/8); //验
NoFederation 0:662138e6d294 226 myOLED.drawzifu(4,4,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 227 myOLED.drawzifu(5,4,str_ju,16*16/8); //据
NoFederation 0:662138e6d294 228 myOLED.drawzifu(2,5,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 229 myOLED.drawzifu(3,5,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 230 myOLED.drawzifu(4,5,str_wan,16*16/8); //完
NoFederation 0:662138e6d294 231 myOLED.drawzifu(5,5,str_cheng,16*16/8); //成
NoFederation 0:662138e6d294 232 wait(5);
NoFederation 0:662138e6d294 233 goto logo;
NoFederation 0:662138e6d294 234 }
NoFederation 0:662138e6d294 235 }
NoFederation 0:662138e6d294 236 } else if(strcmp(str1,"rfft_data") == 0) {
NoFederation 0:662138e6d294 237 myOLED.clearDisplay();
NoFederation 0:662138e6d294 238 myOLED.drawzifu(2,1,str_bian,16*16/8); //变
NoFederation 0:662138e6d294 239 myOLED.drawzifu(3,1,str_huan,16*16/8); //换
NoFederation 0:662138e6d294 240 myOLED.drawzifu(4,1,str_lei,16*16/8); //类
NoFederation 0:662138e6d294 241 myOLED.drawzifu(5,1,str_xing,16*16/8); //型
NoFederation 0:662138e6d294 242
NoFederation 0:662138e6d294 243 myOLED.drawzifu(2,2,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 244 myOLED.drawzifu(3,2,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 245 myOLED.drawzifu(4,2,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 246 myOLED.drawzifu(5,2,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 247 myOLED.drawzifu(6,2,str3_3,16*16/8); //T
NoFederation 0:662138e6d294 248
NoFederation 0:662138e6d294 249 myOLED.drawzifu(2,4,str_zheng,16*16/8); //正
NoFederation 0:662138e6d294 250 myOLED.drawzifu(3,4,str_zai,16*16/8); //在
NoFederation 0:662138e6d294 251 myOLED.drawzifu(4,4,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 252 myOLED.drawzifu(5,4,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 253 myOLED.drawzifu(2,5,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 254 myOLED.drawzifu(3,5,str_yan1,16*16/8); //验
NoFederation 0:662138e6d294 255 myOLED.drawzifu(4,5,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 256 myOLED.drawzifu(5,5,str_ju,16*16/8); //据
NoFederation 0:662138e6d294 257 arm_rfft_fast_f32_app(0);
NoFederation 0:662138e6d294 258 myOLED.drawzifu(2,4,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 259 myOLED.drawzifu(3,4,str_yan1,16*16/8); //验
NoFederation 0:662138e6d294 260 myOLED.drawzifu(4,4,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 261 myOLED.drawzifu(5,4,str_ju,16*16/8); //据
NoFederation 0:662138e6d294 262 myOLED.drawzifu(2,5,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 263 myOLED.drawzifu(3,5,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 264 myOLED.drawzifu(4,5,str_wan,16*16/8); //完
NoFederation 0:662138e6d294 265 myOLED.drawzifu(5,5,str_cheng,16*16/8); //成
NoFederation 0:662138e6d294 266 while(1) {
NoFederation 0:662138e6d294 267 pc.scanf("%s",str1);
NoFederation 0:662138e6d294 268 if(strcmp(str1,"rifft_data") == 0) {
NoFederation 0:662138e6d294 269 myOLED.clearDisplay();
NoFederation 0:662138e6d294 270 myOLED.drawzifu(2,1,str_bian,16*16/8); //变
NoFederation 0:662138e6d294 271 myOLED.drawzifu(3,1,str_huan,16*16/8); //换
NoFederation 0:662138e6d294 272 myOLED.drawzifu(4,1,str_lei,16*16/8); //类
NoFederation 0:662138e6d294 273 myOLED.drawzifu(5,1,str_xing,16*16/8); //型
NoFederation 0:662138e6d294 274
NoFederation 0:662138e6d294 275 myOLED.drawzifu(1,2,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 276 myOLED.drawzifu(2,2,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 277 myOLED.drawzifu(3,2,str_i,16*16/8); //I
NoFederation 0:662138e6d294 278 myOLED.drawzifu(4,2,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 279 myOLED.drawzifu(5,2,str3_2,16*16/8); //F
NoFederation 0:662138e6d294 280 myOLED.drawzifu(6,2,str3_3,16*16/8); //T
NoFederation 0:662138e6d294 281
NoFederation 0:662138e6d294 282 myOLED.drawzifu(2,4,str_zheng,16*16/8); //正
NoFederation 0:662138e6d294 283 myOLED.drawzifu(3,4,str_zai,16*16/8); //在
NoFederation 0:662138e6d294 284 myOLED.drawzifu(4,4,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 285 myOLED.drawzifu(5,4,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 286 myOLED.drawzifu(2,5,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 287 myOLED.drawzifu(3,5,str_yan1,16*16/8); //验
NoFederation 0:662138e6d294 288 myOLED.drawzifu(4,5,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 289 myOLED.drawzifu(5,5,str_ju,16*16/8); //据
NoFederation 0:662138e6d294 290 arm_rfft_fast_f32_app(1);
NoFederation 0:662138e6d294 291 myOLED.drawzifu(2,4,str_shi1,16*16/8); //实
NoFederation 0:662138e6d294 292 myOLED.drawzifu(3,4,str_yan1,16*16/8); //验
NoFederation 0:662138e6d294 293 myOLED.drawzifu(4,4,str_shu2,16*16/8); //数
NoFederation 0:662138e6d294 294 myOLED.drawzifu(5,4,str_ju,16*16/8); //据
NoFederation 0:662138e6d294 295 myOLED.drawzifu(2,5,str_shang,16*16/8); //上
NoFederation 0:662138e6d294 296 myOLED.drawzifu(3,5,str_chuan,16*16/8); //传
NoFederation 0:662138e6d294 297 myOLED.drawzifu(4,5,str_wan,16*16/8); //完
NoFederation 0:662138e6d294 298 myOLED.drawzifu(5,5,str_cheng,16*16/8); //成
NoFederation 0:662138e6d294 299 wait(5);
NoFederation 0:662138e6d294 300 goto logo;
NoFederation 0:662138e6d294 301 }
NoFederation 0:662138e6d294 302 }
NoFederation 0:662138e6d294 303 }
NoFederation 0:662138e6d294 304 }
NoFederation 0:662138e6d294 305 }
NoFederation 0:662138e6d294 306 }
NoFederation 0:662138e6d294 307 }
NoFederation 0:662138e6d294 308 }
NoFederation 0:662138e6d294 309 }