csfc 发表于 2024-5-16 11:26

求助大佬们,文字,字符串,不显示,但是代码运行无错误,可以帮我看一下吗

<p>使用GD32F303CCT6这块板子,参照GD32的2.1的例程,进行修改,修改后添加图片显示代码和文字显示代码,图片显示正常,但文字在液晶上不显示,程序运行也未报错。</p>

<p>下面是添加的代码</p>

<pre>
<code>//显示汉字或者字符串

void Show_Str(uint16_t x, uint16_t y,uint8_t *str,uint8_t size,uint8_t mode)
{                       
        uint16_t x0=x;                                                                    
        uint8_t bHz=0;   //字符或者中文
    while(*str!=0)//数据未结束
    {
      if(!bHz)
      {
                        if(x&gt;(lcddev.width-size/2)||y&gt;(lcddev.height-size))
                        return;
                if(*str&gt;0x80)bHz=1;//中文
                else            //字符
                {         
                        if(*str==0x0D)//换行符号
                        {         
                            y+=size;
                            x=x0;
                            str++;
                        }
                        else
                                {
                                        if(size&gt;=24)//字库中没有集成12X24 16X32的英文字体,用8X16代替
                                        {                                                
                                        LCD_ShowChar(x,y,*str,24,mode);
                                        x+=12; //字符,为全字的一半
                                        }
                                        else
                                        {
                                        LCD_ShowChar(x,y,*str,size,mode);
                                        x+=size/2; //字符,为全字的一半
                                        }
                                }
                                str++;
                        
                }
      }
                                else//中文
      {   
                                if(x&gt;(lcddev.width-size)||y&gt;(lcddev.height-size))
                                return;
                                bHz=0;//有汉字库   
                                if(size==16)
                                {
                                GUI_DrawFont16(x,y,str,mode);
                                }
                                       
                                                str+=2;
                                                x+=size;//下一个汉字偏移          
      }                                               
    }   
}

</code></pre>

<p>主函数添加的部分:</p>

<div style="text-align: center;"></div>

<p>结果:</p>

<div style="text-align: center;"></div>

<p>求大佬帮忙看看,这问题是出在那一块了,感谢感谢。</p>

qzc飘曳 发表于 2024-5-16 12:06

<p>有可能接口选择错误了,文字那块的软件接口&nbsp;</p>

hellokitty_bean 发表于 2024-5-16 12:17

qzc飘曳 发表于 2024-5-16 12:06
有可能接口选择错误了,文字那块的软件接口&nbsp;

<p>意思就是当前的代码逻辑没有问题了,对伐,大佬?</p>

<p>这个可以单步调试一下吧<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/smile.gif" width="48" /></p>

damiaa 发表于 2024-5-16 12:33

本帖最后由 damiaa 于 2024-5-16 12:59 编辑

<p>字库代码加上去了吗? 下面函数应该都依赖字库的,有的是字库自己转换成的字库数组。可以追踪一下。</p>

<pre>
<code>LCD_ShowChar(x,y,*str,24,mode);</code></pre>

<pre>
<code>GUI_DrawFont16(x,y,str,mode);</code></pre>

csfc 发表于 2024-5-17 11:04

damiaa 发表于 2024-5-16 12:33
字库代码加上去了吗? 下面函数应该都依赖字库的,有的是字库自己转换成的字库数组。可以追踪一下。


L ...

<p>加上了,大佬,但是依旧还是没有显示<img height="51" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/cry2.gif" width="66" /></p>

damiaa 发表于 2024-5-18 11:32

csfc 发表于 2024-5-17 11:04
加上了,大佬,但是依旧还是没有显示

<p>你 可以调试一下,看看函数里面怎么点亮一个点。 细心点一个点都可以看到的。<img height="55" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan11.gif" width="70" /></p>

csfc 发表于 2024-5-20 08:03

damiaa 发表于 2024-5-18 11:32
你 可以调试一下,看看函数里面怎么点亮一个点。 细心点一个点都可以看到的。

<p>好的,大佬,我试试。</p>

ACK 发表于 2024-5-23 10:44

<p><strong>硬件连接问题</strong>:</p>

<p>检查TFT显示屏与GD32F单片机之间的连接是否正确,包括数据线、电源线等。</p>

<p>确保所有连接都牢固可靠,没有松动或断裂的情况。</p>

<p>如果使用的是SPI或I2C等接口,需要确保复用关系正确,如AF5等。</p>

<p><strong>驱动问题</strong>:</p>

<p>检查GD32F单片机的驱动程序是否正确编写,并且与TFT显示屏的型号和规格相匹配。</p>

<p>确保驱动代码中包含了正确的初始化设置,如分辨率、颜色深度、刷新率等。</p>

<p>如果驱动代码是从其他地方获取的,请确保代码没有错误或遗漏。</p>

<p><strong>电源问题</strong>:</p>

<p>检查TFT显示屏的电源供应是否正常,包括电源电压和电流是否满足要求。</p>

<p>如果使用的是外部电源,请确保电源的稳定性和质量。</p>

<p><strong>显示屏问题</strong>:</p>

<p>检查TFT显示屏本身是否有问题,如损坏、老化等。</p>

<p>尝试将显示屏连接到其他设备或单片机上,以验证显示屏是否正常工作。</p>

<p><strong>伽马调节和校正问题</strong>:</p>

<p>TFT-LCD显示屏的驱动需要进行伽马调节和校正,以确保显示效果的正确性。</p>

<p>如果伽马调节或校正不正确,可能会导致显示屏无法正常显示。</p>

<p>查阅相关文档或咨询专业人士,了解如何正确进行伽马调节和校正。</p>

<p><strong>软件问题</strong>:</p>

<p>检查单片机的软件程序是否存在问题,如逻辑错误、内存泄漏等。</p>

<p>使用调试工具对程序进行调试,查看是否有异常或错误发生。</p>

<p>尝试简化程序或逐步排查问题,以确定问题的根源。</p>

<p>看样子这个是接线问题或者是电路的问题导致的</p>
页: [1]
查看完整版本: 求助大佬们,文字,字符串,不显示,但是代码运行无错误,可以帮我看一下吗