msp430g2553定义了两个函数,函数的运算一样,变量不同,但运行时只有一个能用

2019-03-24 10:54发布

msp430g2553由于要对电压和电流进行采样并进行相关的锁相运算,但定义的锁相运算只有第一个能正常工作,单独用第二个不能正常工作,把第一个去了,单独用第二个就可以正常使用,这是什么原因,所有变量均为全局变量,附上锁相运算的程序和采样后进入运算的程序a[1],a[0]分别是电压电流采样
  1. //ANF算法程序
  2. void anf(float shuju)
  3. {
  4.     sinevalue =(shuju-512)*0.00322*300;
  5.     e=sinevalue-sinesum;
  6.         dc = dc + e* 65 * tim;
  7.         a1=w * q;
  8.         a2= w * e;
  9.         jibo = jibo+tim* (1.2*a2-w*a1);
  10.         q=q+tim*jibo;
  11.         jiboquad=-w *q;
  12.         sinesum= dc + jibo;
  13.         w=w-a2*q*0.1*tim;
  14.         f=w* 0.159155;
  15. }

  16. //ANF算法程序
  17. void anf1(float shuju1)
  18. {
  19.     sinevalue1 =(shuju1-512)*0.00322*300;
  20.     e1=sinevalue1-sinesum1;
  21.         dc1 = dc1 + e1* 65 * tim1;
  22.         a11=w1 * q1;
  23.         a21= w1 * e1;
  24.         jibo1 = jibo1+tim1* (1.2*a21-w1*a11);
  25.         q1=q1+tim1*jibo1;
  26.         jiboquad1=-w1 *q1;
  27.         sinesum1= dc1 + jibo1;
  28.         w1=w1-a21*q1*0.1*tim1;
  29.         f1=w1* 0.159155;
  30. }


  31.         shuju=a[0];
  32.                 anf(shuju);
  33.                 shuju1=a[0];
  34.                 anf1(shuju1);
复制代码 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
kemasz
1楼-- · 2019-03-24 17:51
 精彩回答 2  元偷偷看……
music_586
2楼-- · 2019-03-24 23:09
< :TI_MSP430_内容页_SA7 --> 那就跟踪下程序,看哪一步引起的不一样;

一周热门 更多>

相关问题

    相关文章