[DSP编程] 5509画图的问题

[复制链接]
 楼主| wangch_sh 发表于 2014-10-18 09:02 | 显示全部楼层 |阅读模式
我用TFT画图,出现一个奇怪的问题。
程序如下:
for(i=0;i<N;i++)
            {
                 x1[i].real=sin(2*PI*10.8*i/40)+sin(2*PI*11.75*i/40)+sin(2*PI*12.55*i/40);
                 x1[i].imag=0;
            }
        for(i=0;i<(N*M-1);i++)
                        draw_LINE(i,y11[i]+240,i+1,y11[i+1]+240);
            for(i=64;i<256;i++)
            {
                 x1[i].real=0.0;
                 x1[i].imag=0;
            }
            这样可以画出图来。

for(i=0;i<N;i++)
            {
                 x1[i].real=sin(2*PI*10.8*i/40)+sin(2*PI*11.75*i/40)+sin(2*PI*12.55*i/40);
                 x1[i].imag=0;
            }
               
            for(i=64;i<256;i++)
            {
                 x1[i].real=0.0;
                 x1[i].imag=0;
            }
            for(i=0;i<(N*M-1);i++)
                        draw_LINE(i,y11[i]+240,i+1,y11[i+1]+240);

这样就画不出来了。

纠结了很久了,查不出问题来。
请大神给看看,谢谢!
 楼主| wangch_sh 发表于 2014-10-18 09:15 | 显示全部楼层
complex x1[256];
float y1[256];
int y11[256];
我把数组换成全局变量就好啦,请问为什么?
zhangmangui 发表于 2014-10-18 09:20 | 显示全部楼层
个人觉得画不出来的原因是   
你如果将for(i=64;i<256;i++)
            {
                 x1[i].real=0.0;
                 x1[i].imag=0;
            }
放到画线前面  那么通过第一个for循环存入x1[i].real的波形数据被全部写0了
也就没数据了   接下来再 draw_LINE(i,y11[i]+240,i+1,y11[i+1]+240);
时就全部是0了

 楼主| wangch_sh 发表于 2014-10-18 11:23 | 显示全部楼层
不是的,版主。
for(i=64;i<256;i++)
这是从64到256
而且draw_LINE(i,y11[i]+240,i+1,y11[i+1]+240);
画图用的是y11,不是x1

zhangmangui 发表于 2014-10-22 22:14 | 显示全部楼层
wangch_sh 发表于 2014-10-18 11:23
不是的,版主。
for(i=64;i

解决了 吗   
 楼主| wangch_sh 发表于 2014-10-23 08:09 | 显示全部楼层
没有。用局部变量不行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

318

主题

2817

帖子

5

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