打印
[DSP编程]

5509画图的问题

[复制链接]
698|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

使用特权

评论回复
5
zhangmangui| | 2014-10-22 22:14 | 只看该作者
wangch_sh 发表于 2014-10-18 11:23
不是的,版主。
for(i=64;i

解决了 吗   

使用特权

评论回复
6
wangch_sh|  楼主 | 2014-10-23 08:09 | 只看该作者
没有。用局部变量不行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

318

主题

2817

帖子

5

粉丝