求助大佬们,文字,字符串,不显示,但是代码运行无错误,可以帮我看一下吗
<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>(lcddev.width-size/2)||y>(lcddev.height-size))
return;
if(*str>0x80)bHz=1;//中文
else //字符
{
if(*str==0x0D)//换行符号
{
y+=size;
x=x0;
str++;
}
else
{
if(size>=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>(lcddev.width-size)||y>(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>
<p>有可能接口选择错误了,文字那块的软件接口 </p>
qzc飘曳 发表于 2024-5-16 12:06
有可能接口选择错误了,文字那块的软件接口
<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:59 编辑
<p>字库代码加上去了吗? 下面函数应该都依赖字库的,有的是字库自己转换成的字库数组。可以追踪一下。</p>
<pre>
<code>LCD_ShowChar(x,y,*str,24,mode);</code></pre>
<pre>
<code>GUI_DrawFont16(x,y,str,mode);</code></pre>
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>
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>
damiaa 发表于 2024-5-18 11:32
你 可以调试一下,看看函数里面怎么点亮一个点。 细心点一个点都可以看到的。
<p>好的,大佬,我试试。</p>
<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]