Part13_利用控件显示数值状态
<p>[TOC]</p>
<h1>功能描述</h1>
<p>使用数值控件显示数值;
使用字符控件显示中英文信息;
使用位图按钮控件显示状态,使用下拉选择控件显示状态</p>
<h4>接线方法</h4>
<p>将彩屏和Arduino控制器进行连接,RX-TX,GND-GND(用到了RX和TX串口)</p>
<h4>实现功能</h4>
<p>本例展示使用控件来显示数值及字符。
下拉选择控件的添加:点击添加下拉选择控件,选择大概区域后进入下拉选择控件的配置,在配置左边可添加下拉选择的选项。
本例所需资源已在下方资源链接中准备好。</p>
<h4>操作示例</h4>
<p>1.仍使用ATF043模块,具体可参考之前的配置。
2.切换到资源列表加载所需位图资源,选择位图进行添加。
3.新建两个界面,设置字库,界面指令可多选复制到另一个界面再进行修改调整,第一个界面创建四个数值控件100,101,102,103,均为仅显示,具体配置如图:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=f06ea66a4bd8e6e11f63917f5f9d83a0&amp;file=file.png" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=ed89cde847a437146f1c784a11e636ff&amp;file=file.png" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=415ac3f3fd6d8928fe637386d5de8767&amp;file=file.png" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=05db4fc9f700b048e9478f3af6edaa32&amp;file=file.png" alt="" />
4.切换到另一个界面,创建三个控件,分别为字符串控件(仅显示)104,位图按钮(乒乓开关)105,下拉选择控件106。如图:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=f83b98344259e9871f407b32317f3294&amp;file=file.png" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=ec2541a1d0b69420a64aaff3e986df8a&amp;file=file.png" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=453663cb8bfd9dec5b60f79c4937b27f&amp;file=file.png" alt="" /></p>
<h1>使用代码</h1>
<pre><code class="language-c">#include &quot;CnStringDefine.c&quot;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
delay(2000);
}
unsigned long m_BackCounter_mils=0;
unsigned char m_NowDisGUI=0;
unsigned long m_BackCounterAdd_mils=0;
int m_DisIntDat=0;
float m_DisFloatDat=0.0;
unsigned char m_GUI1Status1=0;
unsigned char m_GUI1Status2=0;
void loop() {
// put your main code here, to run repeatedly:
unsigned long n_TempCounter_mils=millis();
if((n_TempCounter_mils-m_BackCounter_mils)&gt;=5000)
{
m_BackCounter_mils = n_TempCounter_mils;
m_NowDisGUI++;
if(m_NowDisGUI&gt;=2) m_NowDisGUI = 0;
Serial.print(&quot;@GUIS &quot;);
Serial.println(m_NowDisGUI);
}
n_TempCounter_mils=millis();
if((n_TempCounter_mils-m_BackCounterAdd_mils)&gt;=1000)
{
m_BackCounterAdd_mils = n_TempCounter_mils;
m_DisIntDat+=1;
m_DisFloatDat+= 0.123;
if(m_GUI1Status1) m_GUI1Status1=0;
else m_GUI1Status1=1;
m_GUI1Status2++;
if(m_GUI1Status2&gt;=4) m_GUI1Status2=0;
Serial.print(&quot;@SET 100,&quot;);
Serial.println(m_DisIntDat);
Serial.print(&quot;@SET 101,&quot;);
Serial.println(m_DisIntDat);
Serial.print(&quot;@SET 102,&quot;);
Serial.println(m_DisFloatDat,3);
Serial.print(&quot;@SET 103,&quot;);
Serial.println(m_DisFloatDat,3);
Serial.print(&quot;@SET 104,&quot;);
if(m_GUI1Status1) Serial.println(m_String1);
else Serial.println(m_String2);
Serial.print(&quot;@SET 106,&quot;);
Serial.println(m_GUI1Status2);
Serial.print(&quot;@SET 105,&quot;);
Serial.println(m_GUI1Status1);
}
}</code></pre>
<p>CnStringDefine.c</p>
<pre><code class="language-c">const char m_String1[]=&quot;当前状态:停止Stop&quot;;
const char m_String2[]=&quot;当前状态:运行Run&quot;;</code></pre>
<h1>资源文件</h1>
<p><a href="https://pan.baidu.com/e/1y9XNikmFZiwx2uo83HynOQ?pwd=ATFC">高级篇part13_资源文件</a></p>
<h1>视频教程</h1>
<p><a href="https://www.bilibili.com/video/BV12i4y1Q7Tr/?spm_id_from=333.999.0.0&amp;vd_source=8adc070117854dc6967b17bf3379321b">【高级篇】Part13_利用控件显示数值状态</a></p>