ddllxxrr 发表于 2020-10-10 21:51

【AT-START-F403A测评】六、你好!雅特力

<p>上次显示字符没显示出来,今天有点时间,进函数单步了一下,原来是背景色和前景色一样了。</p>

<pre>
<code>for(pos=0;pos&lt;16;pos++)
                {
                        temp=asc2_1608[(u16)num*16+pos];               //μ÷óÃ1608×Öìå
                        for(t=0;t&lt;8;t++)
                  {               
                        if(temp&amp;0x01)POINT_COLOR=colortemp;
                                else POINT_COLOR=BACK_COLOR;
                                LCD_WR_DATA(POINT_COLOR);       
                                temp&gt;&gt;=1;
                                x++;
                  }
                        x=x0;
                        y++;
                }        </code></pre>

<p>而POINT_COLOR和BACK_COLOR根本就没有赋值。</p>

<p>默认是黑的,0x0000再追这两个变量,都是外部变量。</p>

<p>上回思想上有点报怨卖我屏的厂家。现在看来是我错了。</p>

<p>接着看了看屏的函数,有汉字显示,那就显示个&ldquo;你好!雅特力!&rdquo;吧。</p>

<p>说干就干,先分析一下函数:</p>

<pre>
<code>void showhanzi(unsigned int x,unsigned int y,unsigned char index)       
{
        unsigned char i,j;
        unsigned char *temp=hanzi;   
    Address_set(x,y,x+31,y+31); //éèÖÃÇøóò      
        temp+=index*128;       
        for(j=0;j&lt;128;j++)
        {
                for(i=0;i&lt;8;i++)
                {                      
                       if((*temp&amp;(1&lt;&lt;i))!=0)
                        {
                                LCD_WR_DATA(POINT_COLOR);
                        }
                        else
                        {
                                LCD_WR_DATA(BACK_COLOR);
                        }   
                }
                temp++;
       }
}</code></pre>

<p>可见是32*32逐行显示的,那就取个模吧:</p>

<p>取模设置如下:</p>

<p></p>

<p>生成的字模得处理一下,总是有中括号在数组里面,全删掉可以编译不报错:</p>

<p>在主程序就显示就行了:</p>

<pre>
<code>
                        showhanzi(10,100,0);
                        showhanzi(42,100,1);
                        showhanzi(42+32,100,2);
                        showhanzi(42+32*2,100,3);
                        showhanzi(42+32*3,100,4);
                        showhanzi(42+32*4,100,5);
                        showhanzi(42+32*5,100,6);
                        </code></pre>

<p>运行效果如下:</p>

<p></p>

freebsder 发表于 2020-10-11 21:29

<p>好显眼</p>

okhxyyo 发表于 2020-10-19 09:47

<p><a href="https://bbs.eeworld.com.cn/thread-1143018-1-1.html" target="_blank">雅特力AT-START-F403A测评汇总</a></p>

<p>汇总贴:<a href="https://bbs.eeworld.com.cn/thread-1143018-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1143018-1-1.html</a></p>
页: [1]
查看完整版本: 【AT-START-F403A测评】六、你好!雅特力