我使用的是带SYS/BIOS的工程,含有两个TASK,现在出现一个很奇怪的问题
1、我在main.c中,调用一个计算旋转因子的函数void gen_twiddle_fft_sp (float *w, int n)(供给以后的FFT使用),这个函数的定义我放在了calculate.c的子文件 中,而且debug时,可以看到这个函数可以运行通过,但是之后,程序却无法进入两个task之中。
2、去掉这个函数之后,一切正常,可以进入两个TASK,甚至当函数内容为空时(内容注释掉),也可以进入接下来的两个TASK
3、当这个函数的定义直接放在main.c时(不放在calculate.c中),即使这个函数的定义有内容,程序也能进入两个TASK。
4、我检查了这个函数的声明,确实是extern型,甚至它的实参,我也设置成了extern型,但是只要它被定义到calculate.c的子文件中,同时它的内容不为空时,程 序就无法进入接下来的TASK,当函数内容为空时,又能进入两个TASK了
请问,这个是怎么回事啊?
main.c中也包含了fft_calculate.h文件,同时也定义了变量w_sp,和WN,这里没有列出,总之,语法应该没有问题。不知道问题究竟出在哪里?