[ ST NUCLEO-U575ZI-Q 测评]+ 串口屏的数据更新、波形绘制及启停控制
<div class='showpostmsg'> 本帖最后由 jinglixixi 于 2023-1-10 10:23 编辑<p>串口屏在数据检测及控制领域有着广泛的应用,将串口屏与U575ZI的高性能相结合,则可大大增强应用功能和表现力。</p>
<p>以触摸式环境状态检测记录仪为例,其整体的处理流程如图1所示。</p>
<p></p>
<p>图1 主界面设计</p>
<p> </p>
<p>这里仅以其中的数据显示和波形绘制为主加以介绍,其显示的器件为7寸串口屏,它的分辨率为800*480像素点, 它与开发板的连接关系如图2所示,所使用的是串口UART 2。</p>
<p> </p>
<p>为进行数据显示和波形绘制,其主界面的设计如图2所示。</p>
<p></p>
<p>图2主界面设计</p>
<p> </p>
<p>在更新显示数据时,只需以串口向其发送具有参数的相应指令即可。</p>
<p>以更改温度值为例,就是更新变量t1的文本值,其指令形式为:t1.txt=“数据值”ff ff ff,见图4所示。</p>
<p>图3 更新温度值</p>
<p> </p>
<p>图4 更新效果</p>
<p> </p>
<p>要实现数据波形图的绘制,其方法也十分简单,只需向指定的通道方式相应的数据即可。</p>
<p>为向通道0发送数据120为例,其指令为:</p>
<p>add 17,0,120 ff ff ff</p>
<p> 图5绘制波形</p>
<p> </p>
<p>其绘制效果如图6所示,其它通道的绘制仿此。</p>
<p> 图6绘制效果</p>
<p> </p>
<p>解决了串口屏的所有显示问题,剩下的最后问题就是启停控制。</p>
<p>实现启停控制的程序如下: </p>
<pre>
<code class="language-cpp">aRxBuffer=0x0;
t=0;
while (1)
{
RTC_TimeShow(aShowTime);
HAL_UART_Receive(&huart2, (uint8_t *)aRxBuffer, 1, 500);
if (aRxBuffer==0x5A)
{
t=1;
}
while (t)
{
HAL_UART_Receive(&huart2, (uint8_t *)aRxBuffer, 1, 500);
if (aRxBuffer==0x51)
{
t=0;
}
}
}
</code></pre>
<p> </p>
<p>通过该项目的设计,可以发现将串口屏与U575ZI开发板结合起来,可大大增强设计功能和表现力,它是比较实用的应用方案。 </p>
<p> </p>
<p> </p>
<p> </p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>测评汇总:免费申请|ST NUCLEO-U575ZI-Q https://bbs.eeworld.com.cn/thread-1228653-1-1.html</p>
页:
[1]