sa'da
Dependencies: mbed mbed-dsp drive
main.cpp@0:662138e6d294, 2020-05-31 (annotated)
- Committer:
- NoFederation
- Date:
- Sun May 31 07:27:40 2020 +0000
- Revision:
- 0:662138e6d294
SAAS
Who changed what in which revision?
User | Revision | Line number | New 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 | } |