Part3_加载西文字库显示数值
<h1>功能描述</h1>
<p>加载西文字库到资源文件当中,使用不同字库进行显示。</p>
<h4>接线方法</h4>
<p>将彩屏和Arduino控制器进行连接,RX-TX,GND-GND(用到了RX和TX串口)</p>
<h4>实现功能</h4>
<p>当用户需要显示一些较大的字符,或不同字体的字符时,可在资源列表里加载所需的西文字库,再下载到模块里,用相应指令和资源索引号进行调用。
本例将使用32*64点阵的西文字库进行数值显示。</p>
<h4>操作示例</h4>
<p>为方便演示,将在ATF 043模块的出场资源文件上进行加载字库,然后再下载到模块当中去。
打开所需资源文件,将左侧标签页切换到资源列表,点击加载ASCLL西文字库资源,选择所需字库加载。
如图:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=fc3f24c08b46215c59e1e29ed3993910&amp;file=file.png" alt="" />
或者,在上方资源中加载,加载完成后可以双击资源项进行查看。
如图:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=4c01006ac0a53acf7054d40bedc9f94c&amp;file=file.png" alt="" />
温馨提示:记住所加载的资源索引号。</p>
<h1>使用代码</h1>
<p>本次提供两种代码,第一种为FILL指令填充进行更新显示,在实际显示中数值变化切换时会有一些闪动,第二种使用覆盖模式,完全没有闪烁。</p>
<h4>1.FILL指令填充</h4>
<pre><code class="language-c">void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
delay(3000);
}
unsigned char m_RunFlag=0;
unsigned char m_DisplayNum=0;
void loop() {
// put your main code here, to run repeatedly:
if(m_RunFlag==0)
{
m_RunFlag = 1;
Serial.println(&quot;@PRINTM 0&quot;);
Serial.println(&quot;@PMODE 1,Blue&quot;);
Serial.println(&quot;@FONT 50,Yellow&quot;);//50为新加载资源索引号
}
Serial.println(&quot;@FILL 40,100,104,164&quot;);
Serial.print(&quot;@STR 40,100,&quot;);
Serial.println(m_DisplayNum);
m_DisplayNum++;
if(m_DisplayNum&gt;=100) m_DisplayNum=0;
delay(2000);
}</code></pre>
<h4>2.覆盖模式</h4>
<pre><code class="language-c">void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
delay(3000);
}
unsigned char m_RunFlag=0;
unsigned char m_DisplayNum=0;
void loop() {
// put your main code here, to run repeatedly:
if(m_RunFlag==0)
{
m_RunFlag = 1;
Serial.println(&quot;@PRINTM 0&quot;);
//Serial.println(&quot;@PMODE 1,Blue&quot;);
Serial.println(&quot;@FMODE 1,Blue&quot;);
Serial.println(&quot;@FONT 50,Yellow&quot;);
}
//Serial.println(&quot;@FILL 40,100,104,164&quot;);
Serial.print(&quot;@STR 40,100,&quot;);
//Serial.println(m_DisplayNum);
if(m_DisplayNum&gt;9)
Serial.println(m_DisplayNum);
else
{
Serial.print(m_DisplayNum);
Serial.println(&quot; &quot;);
}
m_DisplayNum++;
if(m_DisplayNum&gt;=100) m_DisplayNum=0;
delay(2000);
}</code></pre>
<h1>资源文件</h1>
<p><a href="https://pan.baidu.com/e/1ldYe1QVRw0G3w2Z85ULwZQ?pwd=ATFC">常规篇part3_资源文件</a></p>
<h1>视频教程</h1>
<p><a href="https://www.bilibili.com/video/BV11S4y127c4/?spm_id_from=333.999.0.0&amp;vd_source=8adc070117854dc6967b17bf3379321b">【中级篇】Part3_加载西文字库显示数值</a></p>