硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1634|回复: 14
收起左侧

[DSP] fir滤波输出数据全为0

[复制链接]

2

主题

9

回帖

15

积分

新手上路

积分
15
发表于 2022-12-31 16:23:49 | 显示全部楼层 |阅读模式
ADC采样后,直接进行fir滤波后,输出结果全为0
采样后的数据进行傅里叶变换是没问题的,不知道大家有没有遇到这样的问题
初次接触stm32进行DSP,不知道怎么分析

image.png
image.png
image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106831
QQ
发表于 2023-1-1 01:50:27 | 显示全部楼层
估计你的滤波器系数有问题。
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2023-1-1 13:42:06 | 显示全部楼层
image.png
这个系数是选这个类型的吗?我的采样数据是u16类型的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106831
QQ
发表于 2023-1-1 14:59:02 | 显示全部楼层
balabal 发表于 2023-1-1 13:42
这个系数是选这个类型的吗?我的采样数据是u16类型的

你把你的数据,C数组的方式分享下,我这两天有时间帮你试试。

另外你的数据采样率多少,需要设置截至频率多少。
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2023-1-1 15:24:48 | 显示全部楼层
image.png
这个是ADC采样的数组,采样率是67.308KHz,我设置的截止频率是20KHz,信号频率是10.253KHz
谢谢了
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2023-1-1 15:37:47 | 显示全部楼层
image.png
这个是ADC采样数组,采样率设置的是67.308k,截止频率设置的是20KHz,信号频率为10K左右
谢谢,麻烦你了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106831
QQ
发表于 2023-1-2 00:36:03 | 显示全部楼层
balabal 发表于 2023-1-1 15:37
这个是ADC采样数组,采样率设置的是67.308k,截止频率设置的是20KHz,信号频率为10K左右
谢谢,麻烦你了

原始数据你好像没有发出来。
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2023-1-2 10:35:17 | 显示全部楼层
不好意思哈,忘记了

data.c

23.02 KB, 下载次数: 4

回复

使用道具 举报

0

主题

17

回帖

17

积分

新手上路

积分
17
发表于 2023-1-3 11:10:49 | 显示全部楼层
image.png
这里直接把u16*强制类型转换为float32_t*是不对的吧?这样岂不是把两个u16合并为一个float32_t了吗?值应该是乱七八糟的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106831
QQ
发表于 2023-1-3 12:15:00 | 显示全部楼层
确实是楼上坛友说的问题。

修改下就正常了。

image.png

[C] 纯文本查看 复制代码
/*
*********************************************************************************************************
*
*	模块名称 : 主程序模块
*	文件名称 : main.c
*	版    本 : V1.0
*	说    明 : FIR低通滤波器的实现,支持实时滤波
*              实验目的:
*                1.	学习FIR低通滤波器的实现,支持实时滤波
*              实验内容: 
*                1. 启动一个自动重装软件定时器,每100ms翻转一次LED2。
*                2.	按下按键K1,打印原始波形数据和滤波后的波形数据。
*              注意事项:
*                1. 打印方式:
*                   方式一:
*                     默认使用串口打印,可以使用SecureCRT或者H7-TOOL上位机串口助手查看打印信息,
*                     波特率115200,数据位8,奇偶校验位无,停止位1。
*                   方式二:
*                     使用RTT打印,可以使用SEGGE RTT或者H7-TOOL RTT打印。
*                     MDK AC5,MDK AC6或IAR通过使能bsp.h文件中的宏定义为1即可
*                     #define Enable_RTTViewer  1
*                2. 务必将编辑器的缩进参数和TAB设置为4来阅读本文件,要不代码显示不整齐。
*
*	修改记录 :
*		版本号   日期         作者        说明
*		V1.0    2020-08-01   Eric2013     1. CMSIS软包版本 V5.8.0
*                                         2. HAL库版本 V1.7.6
*
*	Copyright (C), 2020-2030, 安富莱电子 [url]www.armfly.com[/url]
*
*********************************************************************************************************
*/	
#include "bsp.h"			 	/* 底层硬件驱动 */
#include "arm_math.h"
#include "arm_const_structs.h"


/* 定义例程名和例程发布日期 */
#define EXAMPLE_NAME	"FIR低通滤波器"
#define EXAMPLE_DATE	"2021-08-01"
#define DEMO_VER		"1.0"


/* 仅允许本文件内调用的函数声明 */
static void PrintfLogo(void);
static void PrintfHelp(void);
static void arm_fir_f32_lp(void);


#define TEST_LENGTH_SAMPLES  4095    /* 采样点数 */
#define BLOCK_SIZE           1    	 /* 调用一次arm_fir_f32处理的采样点个数 */
#define NUM_TAPS             29      /* 滤波器系数个数 */

uint32_t blockSize = BLOCK_SIZE;
uint32_t numBlocks = TEST_LENGTH_SAMPLES/BLOCK_SIZE;            /* 需要调用arm_fir_f32的次数 */

static float32_t testInput_f32_50Hz_200Hz[TEST_LENGTH_SAMPLES]; /* 采样点 */
static float32_t testOutput[TEST_LENGTH_SAMPLES];               /* 滤波后的输出 */
static float32_t firStateF32[BLOCK_SIZE + NUM_TAPS - 1];        /* 状态缓存,大小numTaps + blockSize - 1*/


/* 低通滤波器系数 通过fadtool获取*/
const float32_t firCoeffs32LP[NUM_TAPS] = {
 0.001534370822,-0.001699721906,-0.001334958826, 0.005179324187,-0.001438552048,
   -0.01069348957,  0.01213685703,  0.01181853656, -0.03332731873, 0.004219038878,
    0.06090350077, -0.06013473868,  -0.0847459957,   0.3006878495,   0.5937905908,
     0.3006878495,  -0.0847459957, -0.06013473868,  0.06090350077, 0.004219038878,
   -0.03332731873,  0.01181853656,  0.01213685703, -0.01069348957,-0.001438552048,
   0.005179324187,-0.001334958826,-0.001699721906, 0.001534370822
};

uint16_t ADC_SampleBuffer[ ]={
 359, 160, 1646, 3478, 4043, 2925, 1093, 37, 610, 2399,
 3949, 3766, 2085, 397, 118, 1247, 3147, 4069, 3189, 1290,
 49, 533, 2238, 3675, 3925, 2454, 587, 41, 1280, 3137,
 4043, 3483, 1645, 214, 336, 2052, 3744, 3964, 2611, 910,
 4, 904, 2826, 4064, 3483, 1773, 276, 123, 1661, 3489,
 3967, 2861, 959, 24, 766, 2450, 4018, 3679, 2084, 359,
 148, 1574, 3327, 4063, 3182, 1268, 62, 563, 2429, 3914,
 25, 918, 2771, 4068, 3501, 1675, 178, 311, 1878, 3449,
 4077, 2848, 934, 0, 891, 2761, 3967, 3791, 2045, 341,
 169, 1644, 3486, 4040, 2943, 1298, 19, 602, 2439, 3917,
 3731, 2123, 461, 42, 1270, 3184, 4077, 3222, 1275, 64,
 485, 2046, 3770, 3938, 2455, 569, 33, 1206, 3033, 4090,
 3419, 1667, 163, 333, 2034, 3730, 3965, 2852, 913, 5,
 912, 2820, 4043, 3455, 1829, 350, 176, 1696, 3496, 4030,
 2843, 985, 27, 594, 2444, 3938, 3758, 2070, 351, 137,
 1522, 3167, 4063, 3192, 1270, 58, 566, 2331, 3839, 3944,
 2439, 614, 51, 1291, 3160, 4095, 3295, 1645, 166, 354,
 2047, 3694, 3938, 2537, 741, 0, 903, 2836, 4057, 3552,
 1714, 184, 263, 1647, 3492, 4080, 2834, 912, 26, 833,
 2669, 3984, 3785, 2075, 364, 137, 1632, 3474, 4085, 3181,
 1284, 90, 553, 2457, 3924, 3788, 2220, 607, 21, 1257,
 3188, 4077, 3197, 1338, 105, 333, 2066, 3675, 3947, 2472,
 629, 28, 1117, 2864, 4052, 3458, 1700, 160, 324, 1974,
 3657, 4082, 2777, 927, 0, 887, 2806, 4005, 3617, 2050,
 342, 174, 1627, 3525, 4030, 2907, 1069, 40, 598, 2448,
 3933, 3784, 2085, 402, 72, 1288, 3185, 4085, 3192, 1318,
 25, 571, 2269, 3766, 3945, 2472, 610, 38, 1254, 3140,
 4023, 3455, 1627, 163, 352, 2052, 3742, 3959, 2633, 911,
 0, 908, 2806, 4059, 3530, 1709, 242, 158, 1644, 3483,
 4076, 2878, 969, 9, 773, 2445, 3952, 3756, 2054, 335,
 149, 1590, 3327, 4063, 3177, 1271, 41, 589, 2422, 3887,
 3836, 2444, 592, 40, 1261, 3190, 3999, 3328, 1436, 166,
 329, 2053, 3776, 3898, 2496, 657, 23, 918, 2767, 4055,
 3487, 1678, 145, 323, 1869, 3469, 4022, 2811, 946, 2,
 893, 2765, 3965, 3766, 2029, 358, 139, 1640, 3453, 4082,
 2982, 1243, 45, 598, 2429, 3950, 3760, 1209, 3053, 4019,
 3419, 1696, 160, 339, 2016, 3730, 3935, 2852, 909, 62,
 900, 2829, 4044, 3525, 1830, 326, 152, 1728, 3504, 4042,
 2861, 973, 6, 591, 2429, 3968, 3749, 2065, 364, 128,
 1483, 3172, 4094, 3145, 1285, 56, 559, 2386, 3861, 3937,
 2463, 612, 55, 1243, 3171, 4079, 3277, 1645, 187, 353,
 2058, 3745, 3948, 2509, 758, 0, 915, 2852, 4045, 3483,
 1700, 222, 223, 1696, 3500, 4045, 2837, 926, 4, 801,
 2660, 3986, 3738, 2052, 394, 137, 1636, 3450, 4066, 3163,
 1261, 82, 555, 2451, 3915, 3812, 2230, 555, 53, 1262,
 3182, 4084, 3218, 1307, 108, 358, 1990, 3785, 3931, 2445,
 646, 19, 1116, 2809, 4046, 3485, 1627, 170, 325, 1976,
 3639, 4041, 2858, 913, 4, 918, 2779, 4068, 3604, 1995,
 331, 160, 1654, 3467, 3951, 2944, 1028, 65, 624, 2457,
 3929, 3762, 2078, 404, 77, 1280, 3206, 4085, 3179, 1277,
 49, 555, 2276, 3734, 3915, 2457, 605, 96, 1234, 3168,
 4084, 3490, 1664, 161, 341, 2034, 3762, 3919, 2633, 928,
 20, 919, 2825, 4040, 3510, 1691, 228, 112, 1602, 3520,
 4057, 2852, 941, 52, 731, 2466, 3835, 3737, 2130, 312,
 158, 1572, 3364, 4086, 3217, 1284, 82, 586, 2397, 3906,
 3820, 2452, 602, 42, 1216, 3163, 4087, 3256, 1435, 157,
 355, 2011, 3840, 3962, 2482, 668, 34, 889, 2852, 4052,
 3519, 1661, 168, 326, 1867, 3469, 3967, 2834, 919, 2,
 889, 2788, 4023, 3675, 2069, 345, 153, 1654, 3488, 4066,
 2990, 1284, 60, 529, 2450, 3949, 3759, 2134, 475, 37,
 1261, 3181, 4094, 3198, 1293, 80, 465, 2046, 3739, 3949,
 2454, 616, 53, 1198, 3028, 4022, 3483, 1647, 191, 339,
 2040, 3707, 3995, 2853, 934, 0, 893, 2836, 3988, 3551,
 1823, 341, 157, 1682, 3529, 4056, 2857, 973, 25, 614,
 2443, 3913, 3693, 1247, 3168, 4074, 3312, 1653, 147, 341,
 2066, 3737, 3940, 2550, 739, 14, 909, 2835, 4054, 3517,
 1673, 185, 256, 1654, 3510, 3995, 2860, 928, 5, 854,
 2678, 3929, 3701, 2104, 321, 178, 1612, 3472, 4059, 3183,
 1270, 43, 596, 2445, 3921, 3769, 2230, 577, 45, 1257,
 3161, 4077, 3206, 1330, 100, 323, 2047, 3844, 3984, 2473,
 616, 19, 1128, 2852, 4064, 3493, 1660, 172, 336, 1995,
 3615, 4064, 2831, 918, 13, 926, 2823, 4050, 3589, 2049,
 355, 167, 1637, 3478, 4059, 2897, 1062, 4, 617, 2464,
 3925, 3764, 2015, 347, 124, 1265, 3188, 4070, 3225, 1318,
 57, 566, 2274, 3754, 3894, 2468, 587, 47, 1254, 3074,
 4095, 3455, 1682, 123, 360, 2025, 3725, 3963, 2608, 916,
 0, 917, 2803, 4057, 3515, 1721, 247, 147, 1650, 3496,
 4041, 2870, 923, 14, 786, 2452, 3944, 3766, 2015, 349,
 158, 1576, 3365, 4094, 3176, 1275, 64, 646, 2386, 3887,
 3838, 2438, 595, 32, 1255, 3200, 4071, 3239, 1462, 105,
 379, 2064, 3775, 3945, 2497, 673, 10, 934, 2853, 4082,
 3520, 1673, 185, 301, 1865, 3455, 4086, 2793, 937, 8,
 892, 2719, 4033, 3711, 2031, 358, 147, 1636, 3472, 4068,
 2998, 1183, 62, 581, 2434, 3938, 3766, 2121, 469, 89,
 1303, 3099, 4095, 3197, 1285, 66, 505, 2084, 3757, 3917,
 2480, 597, 30, 1195, 2975, 4068, 3492, 1666, 183, 315,
 2052, 3718, 3978, 2856, 893, 28, 863, 2827, 4041, 3525,
 1827, 342, 161, 1661, 3514, 4054, 2834, 1001, 21, 599,
 2450, 3931, 3711, 2082, 368, 128, 1470, 3163, 4093, 3202,
 1243, 32, 575, 2367, 3862, 3949, 2474, 603, 26, 1247,
 3141, 4047, 3306, 1641, 160, 344, 2047, 3735, 3953, 2517,
 754, 0, 893, 2823, 4072, 3501, 1688, 220, 251, 1645,
 3500, 4082, 2850, 935, 16, 845, 2684, 4040, 74, 1241,
 3173, 4086, 3211, 1354, 96, 352, 2012, 3840, 3927, 2458,
 603, 36, 1126, 2889, 4031, 3497, 1601, 214, 354, 2024,
 3609, 4040, 2850, 915, 2, 893, 2751, 4072, 3597, 2056,
 349, 160, 1627, 3437, 4064, 2907, 1037, 78, 579, 2468,
 3935, 3739, 2097, 387, 41, 1279, 3171, 4086, 3174, 1306,
 62, 527, 2322, 3695, 3958, 2424, 621, 58, 1213, 3119,
 4022, 3437, 1690, 154, 341, 2082, 3736, 3965, 2614, 914,
 18, 893, 2826, 4084, 3502, 1738, 255, 148, 1714, 3419,
 4066, 2860, 940, 24, 785, 2437, 3941, 3762, 2011, 367,
 153, 1568, 3381, 4095, 3173, 1298, 19, 589, 2450, 3905,
 3803, 2461, 589, 43, 1267, 3147, 4091, 3233, 1428, 167,
 350, 2028, 3766, 3835, 2459, 676, 16, 895, 2834, 4030,
 3521, 1661, 154, 255, 1891, 3492, 4052, 2854, 895, 0,
 897, 2816, 4004, 3705, 2053, 331, 179, 1617, 3469, 4058,
 2984, 1243, 64, 609, 2450, 3944, 3760, 2113, 496, 11,
 1284, 3181, 4086, 3206, 1328, 68, 482, 2043, 3808, 3919,
 2454, 584, 39, 1199, 3028, 4030, 3498, 1662, 161, 332,
 2034, 3679, 3979, 2860, 946, 0, 928, 2830, 4043, 3557,
 1846, 356, 164, 1636, 3498, 4082, 2779, 992, 41, 595,
 2438, 3954, 3777, 2092, 390, 150, 1498, 3149, 4082, 3161,
 1279, 33, 578, 2346, 3850, 3930, 2447, 606, 63, 1252,
 3161, 4087, 3302, 1627, 160, 390, 2080, 3727, 3984, 2523,
 748, 32, 908, 2828, 4022, 3529, 1661, 146, 271, 1657,
 3465, 4058, 2852, 918, 0, 850, 2666, 3914, 3777, 2053,
 338, 156, 1615, 3456, 4057, 3149, 1274, 27, 588, 2448,
 3941, 3766, 2185, 627, 51, 1253, 3180, 4086, 3209, 1356,
 113, 329, 2070, 3776, 3949, 2468, 623, 46, 1088, 2848,
 4064, 3513, 1701, 114, 329, 1995, 3640, 4041, 2853, 895,
 34, 887, 2827, 4017, 110, 1261, 3186, 4095, 3181, 1261,
 49, 521, 2267, 3739, 3917, 2482, 584, 56, 1222, 3106,
 4059, 3439, 1698, 171, 333, 2032, 3727, 3958, 2587, 928,
 18, 893, 2779, 4084, 3519, 1730, 262, 145, 1644, 3453,
 4047, 2839, 934, 24, 784, 2441, 3915, 3693, 2064, 357,
 160, 1560, 3355, 4077, 3254, 1253, 54, 614, 2395, 3941,
 3853, 2386, 597, 54, 1245, 3218, 4089, 3199, 1427, 167,
 388, 1951, 3737, 3941, 2475, 651, 12, 902, 2783, 4066,
 3508, 1649, 191, 316, 1922, 3487, 4030, 2889, 884, 14,
 876, 2738, 4041, 3711, 2034, 341, 166, 1616, 3437, 4064,
 2990, 1247, 98, 600, 2444, 3935, 3767, 2121, 461, 84,
 1248, 3146, 4095, 3189, 1279, 69, 534, 2011, 3752, 3927,
 2443, 621, 102, 1145, 3044, 4053, 3469, 1664, 155, 333,
 2031, 3711, 3949, 2864, 915, 0, 889, 2823, 4034, 3584,
 1837, 370, 176, 1646, 3469, 4034, 2876, 969, 9, 626,
 2395, 3940, 3757, 2061, 351, 143, 1470, 3147, 4093, 3180,
 1263, 62, 562, 2366, 3861, 3929, 2412, 575, 18, 1261,
 3134, 4043, 3380, 1689, 164, 369, 2015, 3679, 3963, 2528,
 790, 0, 920, 2840, 4013, 3510, 1688, 225, 225, 1628,
 3514, 4033, 2838, 944, 8, 861, 2647, 3917, 3731, 2029,
 390, 123, 1609, 3432, 4082, 3216, 1259, 54, 589, 2486,
 3944, 3791, 2220, 592, 32, 1260, 3216, 4043, 3183, 1343,
 112, 348, 2025, 3766, 3895, 2457, 650, 23, 1116, 2779,
 3990, 3512, 1609, 184, 309, 1974, 3615, 4057, 2841, 928,
 0, 905, 2795, 3963, 3628, 2075, 321, 160, 1629, 3492,
 4022, 2907, 1081, 23, 607, 2402, 3956, 3757, 2080, 420,
 75, 1296, 3190, 4091, 3181, 1298, 31, 555, 2338, 3667,
 3965, 2442, 608, 46, 1234, 3137, 4077, 3476, 1650, 180,
 339, 2015, 3721, 3929, 2605, 912, 3, 919, 2817, 4082,
 137, 1565, 3375, 4057, 3180, 1277, 48, 571, 2441, 3942,
 3803, 2464, 596, 27, 1261, 3163, 4059, 3197, 1410, 164,
 319, 2043, 3709, 3986, 2489, 653, 26, 919, 2836, 4035,
 3455, 1696, 141, 299, 1869, 3477, 4066, 2834, 857, 20,
 890, 2719, 4005, 3709, 2015, 331, 169, 1674, 3490, 4050,
 2984, 1261, 52, 597, 2454, 3933, 3776, 2144, 456, 42,
 1243, 3173, 4022, 3163, 1312, 64, 484, 2050, 3735, 3941,
 2482, 587, 41, 1256, 3017, 4065, 3498, 1644, 157, 350,
 1956, 3722, 3993, 2828, 934, 0, 898, 2809, 4040, 3537,
 1824, 333, 166, 1621, 3437, 4080, 2863, 985, 17, 614,
 2443, 3839, 3840, 2058, 367, 131, 1497, 3170, 4095, 3189,
 1298, 26, 588, 2376, 3968, 3934, 2429, 624, 18, 1280,
 3172, 4090, 3273, 1661, 158, 349, 2038, 3739, 3965, 2521,
 768, 0, 913, 2832, 4056, 3510, 1667, 200, 270, 1629,
 3494, 4071, 2827, 930, 26, 825, 2651, 3944, 3728, 2061,
 384, 99, 1619, 3454, 4059, 3202, 1280, 50, 569, 2445,
 3964, 3781, 2203, 616, 42, 1183, 3163, 4076, 3207, 1365,
 72, 339, 2057, 3741, 3934, 2454, 635, 32, 1103, 2827,
 4049, 3496, 1682, 170, 303, 1961, 3625, 4082, 2835, 902,
 7, 881, 2809, 3949, 3602, 2050, 326, 153, 1636, 3478,
 4059, 2916, 1061, 38, 613, 2437, 3920, 3777, 2085, 384,
 65, 1316, 3173, 4090, 3190, 1243, 60, 542, 2282, 3753,
 3917, 2482, 603, 25, 1238, 3113, 4059, 3485, 1631, 153,
 333, 2052, 3720, 3978, 2617, 891, 8, 952, 2774, 4069,
 3520, 1705, 259, 141, 1666, 3455, 3967, 2855, 927, 18,
 778, 2415, 3986, 3744, 2055, 353, 146, 1549, 3375, 4086,
 3209, 1280, 45, 583, 2418, 3890, 3829, 2435, 607, 32,
 1215, 3145, 4076, 3242, 1446, 131, 351, 2055, 3758, 3934,
 2482, 672, 32, 914, 2806, 4070, 112, 1661, 3464, 4064,
 2998, 1260, 54, 556, 2449, 3936, 3751, 2132, 480, 5,
 1284, 3220, 4031, 3226, 1292, 86, 473, 2048, 3711, 3984,
 2488, 617, 2, 1149, 3035, 4066, 3474, 1667, 171, 350,
 1997, 3730, 3979, 2890, 917, 0, 907, 2811, 4077, 3584,
 1813, 350, 178, 1625, 3533, 4085, 2855, 960, 13, 601,
 2482, 3892, 3754, 2046, 372, 133, 1486, 3147, 4077, 3218,
 1243, 44, 584, 2386, 3845, 3986, 2441, 611, 38, 1231,
 3149, 4086, 3279, 1647, 149, 362, 2021, 3745, 3953, 2503,
 762, 0, 959, 2848, 4042, 3510, 1673, 204, 300, 1603,
 3455, 4058, 2777, 941, 51, 859, 2651, 3924, 3750, 2055,
 349, 149, 1622, 3419, 4063, 3196, 1266, 48, 593, 2409,
 3940, 3790, 2215, 606, 42, 1262, 3163, 4077, 3218, 1349,
 95, 342, 2054, 3707, 3965, 2486, 612, 39, 1093, 2834,
 4038, 3483, 1647, 172, 321, 1988, 3583, 4035, 2793, 941,
 48, 916, 2793, 4027, 3596, 2061, 383, 109, 1656, 3496,
 4033, 2920, 1039, 48, 605, 2415, 3968, 3746, 2093, 432,
 81, 1284, 3135, 4070, 3205, 1290, 53, 562, 2265, 3725,
 3935, 2444, 610, 9, 1229, 3125, 4042, 3477, 1646, 156,
 355, 2009, 3745, 3935, 2597, 950, 0, 927, 2829, 4030,
 3481, 1735, 245, 132, 1654, 3510, 4051, 2875, 928, 19,
 770, 2449, 3940, 3770, 2039, 358, 156, 1549, 3428, 4077,
 3183, 1273, 19, 618, 2387, 3912, 3828, 2447, 612, 36,
 1247, 3181, 4095, 3229, 1442, 137, 333, 2058, 3746, 3970,
 2505, 637, 71, 901, 2826, 4022, 3532, 1714, 181, 315,
 1873, 3467, 4045, 2831, 911, 5, 868, 2738, 3970, 3760,
 2060, 351, 141, 1658, 3455, 4045, 3008, 1250, 72, 597,
 2423, 3903, 3785, 2149, 482, 0, 1279, 3185, 4076, 3222,
 1317, 57, 492, 2044, 3754, 3954, 2458, 618, 39, 1177,
 3037, 4068, 134, 1647, 3478, 4040, 2881, 953, 21, 621,
 2443, 3918, 3766, 1999, 396, 118, 1473, 3165, 4077, 3200,
 1252, 64, 574, 2377, 3881, 3940, 2482, 592, 52, 1253,
 3099, 4093, 3346, 1658, 180, 327, 2086, 3776, 3966, 2522,
 740, 16, 898, 2885, 4061, 3501, 1663, 191, 288, 1644,
 3504, 4022, 2853, 927, 17, 845, 2676, 3968, 3785, 2060,
 374, 155, 1636, 3447, 4074, 3174, 1286, 13, 620, 2448,
 3903, 3801, 2221, 624, 39, 1252, 3192, 4059, 3191, 1350,
 82, 352, 2037, 3749, 3942, 2453, 633, 30, 1110, 2783,
 3983, 3506, 1689, 161, 331, 1965, 3634, 4059, 2880, 953,
 20, 829, 2777, 3966, 3613, 2029, 370, 123, 1641, 3500,
 4041, 2906, 1069, 14, 608, 2469, 3923, 3741, 2088, 399,
 106, 1296, 3161, 4095, 3181, 1298, 43, 568, 2212, 3752,
 3934, 2447, 608, 62, 1179, 3154, 4031, 3520, 1645, 173,
 350, 2025, 3766, 3977, 2591, 932, 0, 886, 2870, 4041,
 3519, 1760, 256, 150, 1651, 3498, 4064, 2841, 946, 34,
 762, 2445, 3954, 3723, 2080, 409, 132, 1570, 3378, 4059,
 3180, 1298, 37, 585, 2422, 3839, 3876, 2454, 618, 57,
 1251, 3149, 4082, 3227, 1423, 165, 343, 2038, 3733, 3964,
 2476, 665, 44, 888, 2848, 4023, 3521, 1686, 155, 317,
 1849, 3489, 4023, 2815, 914, 0, 889, 2788, 4001, 3762,
 2066, 339, 160, 1598, 3456, 4071, 2998, 1243, 47, 589,
 2450, 3903, 3771, 2130, 459, 28, 1261, 3183, 4089, 3206,
 1275, 71, 509, 2070, 3762, 3953, 2461, 617, 51, 1169,
 3053, 4046, 3504, 1654, 178, 333, 1983, 3708, 4010, 2826,
 873, 18, 902, 2821, 4040, 3570, 1755, 349, 157, 1648,
 3437, 3999, 2811, 985, 21, 603, 2450, 3935, 3739, 2093,
 370, 136, 1478, 3179, 4077, 3222, 1275, 38, 580, 2404,
 3862, 3968, 2445, 619, 25, 1248, 3162, 4084, 262, 1627,
 3471, 4010, 2837, 903, 0, 845, 2706, 3803, 3856, 2068,
 350, 141, 1611, 3437, 4083, 3099, 1301, 40, 576, 2448,
 3919, 3771, 2178, 612, 45, 1243, 3159, 4086, 3236, 1350,
 96, 338, 2011, 3763, 3807, 2479, 633, 16, 1108, 2854,
 4043, 3552, 1702, 128, 294, 1971, 3657, 4068, 2848, 920,
 0, 885, 2813, 4023, 3596, 2057, 370, 135, 1674, 3449,
 4040, 2960, 1051, 27, 621, 2453, 3913, 3766, 2015, 393,
 100, 1275, 3168, 4086, 3217, 1312, 46, 561, 2258, 3750,
 3942, 2399, 588, 61, 1240, 3137, 4095, 3487, 1637, 173,
 346, 2048, 3840, 3948, 2610, 939, 0, 928, 2840, 4036,
 3510, 1728, 229, 170, 1648, 3490, 4031, 2815, 949, 15,
 751, 2450, 3948, 3766, 2082, 341, 146, 1591, 3355, 4077,
 3222, 1241, 72, 592, 2397, 3914, 3834, 2438, 635, 55,
 1302, 3147, 4077, 3273, 1453, 139, 357, 2050, 3732, 3914,
 2488, 662, 32, 927, 2848, 4044, 3510, 1627, 216, 324,
 1830, 3517, 4022, 2779, 941, 48, 886, 2776, 4006, 3760,
 2011, 365, 151, 1643, 3445, 4055, 2976, 1298, 16, 607,
 2448, 3931, 3750, 2131, 448, 98, 1235, 3185, 4081, 3179,
 1270, 102, 484, 2068, 3739, 3973, 2448, 647, 61, 1202,
 3017, 4077, 3504, 1611, 177, 329, 2036, 3712, 3990, 2812,
 920, 0, 928, 2834, 4057, 3529, 1840, 338, 177, 1627,
 3453, 4086, 2921, 997, 71, 590, 2431, 3976, 3776, 2045,
 328, 124, 1477, 3163, 4077, 3222, 1232, 44, 582, 2335,
 3876, 3986, 2435, 613, 43, 1248, 3134, 4059, 3333, 1649,
 177, 345, 2020, 3762, 3931, 2524, 734, 28, 921, 2837,
 4029, 3508, 1686, 185, 260, 1666, 3474, 4041, 2861, 930,
 9, 848, 2651, 3949, 3741, 2037, 368, 141, 1632, 3450,
 4067, 3145, 1275, 41, 594, 2448, 3839, 3795, 2236, 593,
 40, 1282, 3163, 4077, 345, 1951, 3646, 4041, 2811, 928,
 50, 867, 2783, 4013, 3574, 2043, 313, 170, 1636, 3478,
 4047, 2905, 1084, 1, 593, 2441, 3941, 3766, 2079, 414,
 89, 1280, 3177, 4093, 3191, 1252, 70, 539, 2287, 3749,
 3946, 2448, 607, 38, 1229, 3138, 4080, 3493, 1639, 182,
 321, 2061, 3750, 3956, 2604, 930, 0, 933, 2854, 4030,
 3480, 1736, 233, 166, 1627, 3483, 4050, 2848, 958, 15,
 776, 2466, 3968, 3733, 2066, 346, 178, 1592, 3347, 4081,
 3135, 1273, 45, 583, 2424, 3914, 3830, 2419, 608, 38,
 1257, 3188, 4095, 3265, 1444, 151, 347, 2064, 3785, 3949,
 2494, 664, 6, 907, 2870, 4041, 3437, 1645, 167, 299,
 1867, 3483, 4042, 2838, 907, 6, 944, 2761, 3999, 3750,
 2039, 358, 210, 1655, 3423, 4064, 2996, 1266, 53, 619,
 2453, 3948, 3759, 2111, 475, 27, 1290, 3211, 4095, 3187,
 1293, 64, 489, 2066, 3762, 3927, 2471, 625, 48, 1203,
 3090, 4030, 3518, 1610, 161, 346, 2000, 3692, 4022, 2811,
 924, 11, 891, 2852, 4022, 3584, 1823, 339, 159, 1645,
 3510, 4050, 2885, 970, 39, 589, 2454, 3931, 3752, 2043,
 370, 131, 1481, 3218, 4059, 3198, 1263, 61, 595, 2378,
 3876, 3945, 2461, 612, 48, 1243, 3147, 4095, 3313, 1651,
 166, 337, 2066, 3739, 3956, 2521, 744, 6, 907, 2848,
 4059, 3451, 1696, 208, 267, 1643, 3506, 4057, 2843, 932,
 12, 857, 2665, 3948, 3753, 1992, 385, 136, 1632, 3389,
 4085, 3202, 1260, 62, 585, 2461, 3895, 3784, 2229, 585,
 70, 1243, 3181, 4077, 3232, 1342, 90, 335, 2011, 3749,
 3986, 2472, 629, 25, 1114, 2829, 4022, 3529, 1645, 175,
 351, 1887, 3625, 4045, 2848, 918, 20, 901, 2801, 4033,
 3609, 2052, 364, 139, 1645, 3506, 4080, 2909, 1067, 59,
 616, 2464, 3940, 3711, 2066, 399, 123, 1238, 3216, 4091,
 363, 2015, 3766, 3931, 2660, 901, 13, 902, 2852, 4086,
 3529, 1764, 252, 148, 1666, 3481, 4059, 2852, 946, 15,
 795, 2448, 3916, 3766, 2011, 364, 160, 1577, 3371, 4095,
 3184, 1270, 33, 571, 2431, 3934, 3793, 2469, 607, 31,
 1274, 3155, 4079, 3254, 1419, 204, 343, 2031, 3756, 3986,
 2508, 671, 0, 927, 2852, 4037, 3510, 1627, 194, 271,
 1873, 3516, 4042, 2866, 942, 0, 895, 2742, 3967, 3769,
 2048, 347, 147, 1644, 3476, 4047, 3000, 1258, 55, 596,
 2413, 3933, 3762, 2144, 479, 44, 1241, 3190, 4086, 3214,
 1308, 62, 479, 2085, 3766, 3949, 2465, 620, 54, 1167,
 3053, 4026, 3506, 1611, 163, 338, 1997, 3730, 4004, 2817,
 914, 0, 889, 2779, 3967, 3525, 1821, 363, 163, 1648,
 3485, 4059, 2853, 979, 0, 612, 2464, 3961, 3768, 2061,
 390, 113, 1473, 3280, 4045, 3216, 1285, 57, 594, 2368,
 3830, 3839, 2441, 608, 40, 1247, 3160, 4077, 3350, 1622,
 190, 340, 2050, 3733, 3938, 2540, 744, 0, 879, 2852,
 4056, 3509, 1685, 197, 264, 1618, 3499, 4074, 2849, 909,
 24, 896, 2697, 3921, 3739, 2052, 371, 148, 1650, 3449,
 4059, 3183, 1270, 55, 593, 2413, 4018, 3739, 2272, 623,
 30, 1270, 3163, 4090, 3213, 1359, 111, 355, 2052, 3766,
 3978, 2468, 599, 29, 1100, 2866, 4059, 3503, 1729, 128,
 307, 1965, 3625, 3999, 2829, 918, 0, 907, 2850, 4050,
 3616, 2080, 359, 120, 1652, 3493, 4064, 2892, 1073, 39,
 597, 2450, 3931, 3749, 2069, 414, 104, 1284, 3219, 4085,
 3198, 1298, 32, 557, 2370, 3728, 3968, 2456, 614, 35,
 1229, 3122, 4059, 3508, 1647, 146, 347, 2015, 3674, 3959,
 2597, 893, 7, 927, 2827, 4050, 3510, 1663, 264, 178,
 1609, 3510, 4051, 2856, 943, 11, 786, 2450, 3946, 3746,
 2041, 380, 154, 1556, 3376, 4031, 336, 2031, 3748, 3915,
 2465, 674, 0, 917, 2831, 4047, 3493, 1682, 159, 313,
 1865, 3506, 4026, 2835, 909, 14, 859, 2765, 3995, 3727,
 2029, 355, 169, 1639, 3481, 4030, 2971, 1312, 35, 601,
 2438, 3941, 3761, 2089, 490, 42, 1262, 3210, 4063, 3181,
 1299, 35, 500, 1992, 3784, 3946, 2429, 646, 16, 1193,
 3037, 4051, 3504, 1649, 163, 320, 2007, 3748, 3989, 2830,
 918, 0, 912, 2821, 4045, 3518, 1801, 349, 166, 1652,
 3506, 4050, 2881, 973, 62, 598, 2436, 3931, 3757, 2102,
 339, 136, 1469, 3179, 4091, 3181, 1318, 44, 558, 2389,
 3873, 3924, 2454, 588, 27, 1224, 3162, 4085, 3305, 1682,
 164, 332, 2050, 3719, 3913, 2509, 742, 0, 916, 2811,
 4068, 3507, 1674, 196, 262, 1645, 3510, 4048, 2815, 911,
 4, 848, 2651, 3949, 3762, 2066, 346, 164, 1617, 3445,
 4054, 3190, 1301, 9, 568, 2449, 3917, 3779, 2219, 598,
 34, 1257, 3188, 4059, 3209, 1325, 112, 320, 2084, 3762,
 3946, 2453, 621, 54, 1097, 2829, 4084, 3510, 1655, 183,
 332, 1965, 3613, 4026, 2779, 909, 10, 902, 2790, 4041,
 3616, 2082, 338, 158, 1651, 3483, 4076, 2946, 1051, 46,
 606, 2466, 3930, 3744, 2102, 379, 116, 1261, 3202, 4079,
 3174, 1275, 56, 566, 2267, 3709, 3994, 2443, 617, 40,
 1246, 3145, 4078, 3493, 1653, 166, 348, 2038, 3738, 3935,
 2612, 918, 4, 901, 2834, 4059, 3558, 1747, 207, 155,
 1636, 3510, 4043, 2815, 937, 0, 771, 2395, 3931, 3753,
 2037, 353, 173, 1574, 3323, 4077, 3218, 1256, 48, 595,
 2416, 3913, 3877, 2482, 614, 24, 1257, 3149, 4086, 3227,
 1430, 147, 348, 2043, 3693, 3992, 2456, 633, 36, 919,
 2809, 4040, 3447, 1645, 186, 299, 1876, 3437, 4064, 2852,
 934, 11, 901, 2816, 3997, 3731, 2047, 368, 84, 1627,
 3482, 4022, 483, 2041, 3695, 3986, 2427, 603, 61, 1196,
 3040, 4030, 3449, 1647, 209, 361, 1975, 3693, 3951, 2866,
 901, 8, 893, 2820, 4046, 3539, 1819, 374, 159, 1659,
 3499, 4064, 2868, 973, 32, 591, 2482, 3902, 3786, 2057,
 375, 129, 1482, 3163, 4077, 3195, 1234, 42, 585, 2373,
 3853, 3986, 2456, 619, 36, 1252, 3200, 4092, 3332, 1666,
 138, 362, 2049, 3727, 3940, 2521, 736, 12, 928, 2767,
 4068, 3510, 1682, 197, 260, 1664, 3494, 4037, 2866, 907,
 18, 854, 2663, 3917, 3766, 2031, 356, 160, 1605, 3444,
 4063, 3163, 1252, 28, 593, 2456, 3911, 3766, 2203, 604,
 51, 1266, 3183, 4094, 3199, 1307, 104, 346, 2011, 3677,
 3937, 2464, 620, 37, 1120, 2832, 4045, 3499, 1650, 173,
 314, 1965, 3712, 4050, 2826, 915, 2, 891, 2820, 4022,
 3648, 2077, 358, 154, 1674, 3391, 4029, 2893, 1061, 38,
 598, 2439, 3933, 3766, 2041, 408, 85, 1243, 3180, 4091,
 3200, 1277, 35, 549, 2304, 3744, 3925, 2439, 605, 54,
 1217, 3113, 4084, 3455, 1654, 163, 347, 2052, 3762, 3935,
 2574, 912, 18, 889, 2864, 4086, 3472, 1742, 249, 157,
 1652, 3500, 4022, 2809, 952, 16, 786, 2425, 3968, 3784,
 2058, 353, 162, 1561, 3323, 4077, 3208, 1271, 43, 610,
 2395, 3940, 3803, 2468, 614, 39, 1263, 3184, 4077, 3250,
 1444, 172, 345, 2041, 3737, 3946, 2478, 641, 22, 932,
 2832, 3993, 3473, 1665, 167, 318, 1867, 3452, 4095, 2808,
 909, 0, 889, 2757, 4004, 3746, 2011, 357, 199, 1631,
 3437, 4026, 2971, 1280, 48, 600, 2394, 3986, 3789, 2136,
 460, 47, 1275, 3170, 4095, 3197, 1295, 66, 496, 2011,
 3695, 3902, 2454, 585, 28, 1167, 3049, 4068, 3455, 1664,
 158, 348, 2010, 3707, 4024, 2765, 928, 50, 862, 2795,
 4049, 3529, 1791, 294, 125, 1621, 3483, 40, 578, 2432,
 3884, 4018, 2464, 618, 32, 1244, 3131, 4087, 3319, 1652,
 174, 331, 2034, 3728, 3931, 2540, 754, 0, 930, 2815,
 4057, 3508, 1698, 185, 249, 1667, 3506, 4059, 2829, 946,
 0, 856, 2671, 3900, 3766, 1993, 347, 156, 1631, 3459,
 4073, 3173, 1286, 19, 576, 2428, 3970, 3784, 2197, 608,
 39, 1266, 3163, 4061, 3221, 1340, 98, 333, 2052, 3746,
 3938, 2458, 615, 36, 1114, 2779, 4065, 3508, 1653, 118,
 352, 1973, 3646, 4022, 2811, 950, 0, 920, 2820, 4031,
 3574, 2029, 318, 128, 1661, 3491, 4058, 2871, 1068, 54,
 585, 2413, 3986, 3714, 2082, 409, 100, 1330, 3103, 4063,
 3103, 1316, 54, 552, 2294, 3739, 3917, 2486, 585, 42,
 1252, 3200, 4061, 3490, 1645, 203, 353, 2048, 3726, 3958,
 2616, 897, 0, 905, 2834, 4041, 3506, 1707, 235, 155,
 1645, 3528, 4064, 2852, 950, 0, 777, 2399, 3933, 3756,
 2057, 360, 151, 1563, 3371, 4089, 3167, 1278, 37, 604,
 2408, 3901, 3827, 2464, 599, 24, 1286, 3163, 4061, 3181,
 1430, 156, 345, 2011, 3739, 4020, 2480, 662, 24, 909,
 2866, 4043, 3487, 1647, 173, 305, 1920, 3504, 4052, 2811,
 928, 0, 888, 2784, 4011, 3749, 2050, 338, 149, 1632,
 3470, 4064, 2993, 1266, 0, 613, 2447, 3927, 3766, 2113,
 466, 0, 1275, 3181, 4093, 3202, 1318, 53, 508, 2037,
 3748, 3968, 2426, 630, 16, 1197, 3006, 4023, 3529, 1666,
 137, 341, 2048, 3705, 3990, 2809, 914, 25, 918, 2779,
 4049, 3574, 1771, 347, 162, 1639, 3508, 4059, 2870, 981,
 27, 608, 2447, 3894, 3766, 2043, 356, 166, 1473, 3154,
 4063, 3236, 1277, 38, 578, 2373, 3904, 3933, 2450, 624,
 84, 1216, 3149, 4079, 3312, 1627, 172, 390, 1987, 3675,
 3957, 2528, 734, 18, 905, 2830, 4094, 3498, 1736, 189,
 261, 1672, 3491, 4053, 602, 2413, 3895, 3785, 2216, 599,
 34, 1282, 3167, 4059, 3173, 1344, 108, 370, 2043, 3707,
 3927, 2469, 621, 33, 1102,
 };


/*
*********************************************************************************************************
*	函 数 名: arm_fir_f32_lp
*	功能说明: 调用函数arm_fir_f32_lp实现低通滤波器
*	形    参:无
*	返 回 值: 无
*********************************************************************************************************
*/
static void arm_fir_f32_lp(void)
{
	uint32_t i;
	arm_fir_instance_f32 S;
	float32_t  *inputF32, *outputF32;

	/* 初始化输入输出缓存指针 */
	inputF32 = &testInput_f32_50Hz_200Hz[0];
	outputF32 = &testOutput[0];

	/* 初始化结构体S */
	arm_fir_init_f32(&S,                            
					 NUM_TAPS, 
	                (float32_t *)&firCoeffs32LP[0], 
	                 &firStateF32[0], 
	                 blockSize);

	/* 实现FIR滤波,这里每次处理1个点 */
	for(i=0; i < numBlocks; i++)
	{
		arm_fir_f32(&S, inputF32 + (i * blockSize),  outputF32 + (i * blockSize),  blockSize);
	}
	

	/* 打印滤波后结果 */
	for(i=0; i<TEST_LENGTH_SAMPLES; i++)
	{
		printf("%f, %f\r\n", testOutput[i], inputF32[i]);
	}

}


/*
*********************************************************************************************************
*	函 数 名: main
*	功能说明: c程序入口
*	形    参: 无
*	返 回 值: 错误代码(无需处理)
*********************************************************************************************************
*/
int main(void)
{
	uint8_t ucKeyCode;		/* 按键代码 */
	uint16_t i;

	
	bsp_Init();		/* 硬件初始化 */
	PrintfLogo();	/* 打印例程信息到串口1 */

	PrintfHelp();	/* 打印操作提示信息 */
	
	for(i=0; i<TEST_LENGTH_SAMPLES; i++)
	{
		/* 50Hz正弦波+200Hz正弦波,采样率1KHz */
		testInput_f32_50Hz_200Hz[i] = ADC_SampleBuffer[i];
	}
	

	bsp_StartAutoTimer(0, 100);	/* 启动1个100ms的自动重装的定时器 */

	/* 进入主程序循环体 */
	while (1)
	{
		bsp_Idle();		/* 这个函数在bsp.c文件。用户可以修改这个函数实现CPU休眠和喂狗 */
		

		if (bsp_CheckTimer(0))	/* 判断定时器超时时间 */
		{
			/* 每隔100ms 进来一次 */
			bsp_LedToggle(2);	/* 翻转LED的状态 */
		}
		
		ucKeyCode = bsp_GetKey();	/* 读取键值, 无键按下时返回 KEY_NONE = 0 */
		if (ucKeyCode != KEY_NONE)
		{
			switch (ucKeyCode)
			{
				case KEY_DOWN_K1:		    /* K1键按下 */
					arm_fir_f32_lp();
					break;
				
	
				default:
					/* 其它的键值不处理 */
					break;
			}
		}

	}
}

/*
*********************************************************************************************************
*	函 数 名: PrintfHelp
*	功能说明: 显示操作提示菜单
*	形    参: 无
*	返 回 值: 无
*********************************************************************************************************
*/
static void PrintfHelp(void)
{
	printf("1. 启动一个自动重装软件定时器,每100ms翻转一次LED2\r\n");
	printf("2. 按下按键K1,打印原始波形数据和滤波后的波形数据\r\n");
	
	printf("数组大小 = %d\r\n", sizeof(ADC_SampleBuffer)/2);
}

/*
*********************************************************************************************************
*	函 数 名: PrintfLogo
*	功能说明: 打印例程名称和例程发布日期, 接上串口线后,打开PC机的超级终端软件可以观察结果
*	形    参: 无
*	返 回 值: 无
*********************************************************************************************************
*/
static void PrintfLogo(void)
{
	printf("*************************************************************\n\r");
	
	/* 检测CPU ID */
	{
		uint32_t CPU_Sn0, CPU_Sn1, CPU_Sn2;
		
		CPU_Sn0 = *(__IO uint32_t*)(0x1FFF7A10);
		CPU_Sn1 = *(__IO uint32_t*)(0x1FFF7A10 + 4);
		CPU_Sn2 = *(__IO uint32_t*)(0x1FFF7A10 + 8);

		printf("\r\nCPU : STM32F407IGT6, LQFP176, 主频: %dMHz\r\n", SystemCoreClock / 1000000);
		printf("UID = %08X %08X %08X\n\r", CPU_Sn2, CPU_Sn1, CPU_Sn0);
	}

	printf("\n\r");
	printf("*************************************************************\n\r");
	printf("* 例程名称   : %s\r\n", EXAMPLE_NAME);	/* 打印例程名称 */
	printf("* 例程版本   : %s\r\n", DEMO_VER);		/* 打印例程版本 */
	printf("* 发布日期   : %s\r\n", EXAMPLE_DATE);	/* 打印例程日期 */

	/* 打印ST的HAL库版本 */
	printf("* HAL库版本  : V1.7.6 (STM32F407 HAL Driver)\r\n");
	printf("* \r\n");	/* 打印一行空格 */
	printf("* QQ    : 1295744630 \r\n");
	printf("* 旺旺  : armfly\r\n");
	printf("* Email : [email]armfly@qq.com[/email] \r\n");
	printf("* 微信公众号: armfly_com \r\n");
	printf("* 淘宝店: armfly.taobao.com\r\n");
	printf("* Copyright [url]www.armfly.com[/url] 安富莱电子\r\n");
	printf("*************************************************************\n\r");
}

/***************************** 安富莱电子 [url]www.armfly.com[/url] (END OF FILE) *********************************/
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2023-1-3 15:52:48 | 显示全部楼层
谢谢硬汉哥和那位坛友,强制转换会把两位u16类型的合成一位float类型的吗?我还是第一次知道,C语言还是不熟练。
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2023-1-3 15:53:10 | 显示全部楼层
ME_Engineer 发表于 2023-1-3 11:10
这里直接把u16*强制类型转换为float32_t*是不对的吧?这样岂不是把两个u16合并为一个float32_t了吗?值应 ...

谢谢,谢谢
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2023-1-3 16:09:08 | 显示全部楼层
ME_Engineer 发表于 2023-1-3 11:10
这里直接把u16*强制类型转换为float32_t*是不对的吧?这样岂不是把两个u16合并为一个float32_t了吗?值应 ...

想问下,这方面的知识在哪里可以知道呀?
回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2023-1-3 18:28:59 | 显示全部楼层
balabal 发表于 2023-1-3 16:09
想问下,这方面的知识在哪里可以知道呀?

函数形参是值传递,你这里仅仅是把变量地址传递过去了

之后你的函数里面是以float(4个字节大小)方式访问了,而不是以u16方式访问了,这就出问题了,你要转换为浮点后再供你这个函数访问
image.png
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2023-1-3 20:19:31 | 显示全部楼层
byccc 发表于 2023-1-3 18:28
函数形参是值传递,你这里仅仅是把变量地址传递过去了

之后你的函数里面是以float(4个字节大小)方式 ...

哦,明白了,原来是这样,谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-6 15:11 , Processed in 0.361978 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表