打印
[MM32软件]

【MM32 eMiniBoard测评报告】4、HMI_LCD串口屏+综合实验

[复制链接]
497|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 海洋无限 于 2020-5-26 18:33 编辑

按照昨天的计划准备把几个实验整合到一起弄一个综合的例程,目前除了USB以外其他功能都基本实现了,这段时间工作比较忙,测评到这就先告一段落了,后面有时间再补上其他外设的测试
先来看看今天的测评结果:
1、按照计划目前整合了LED、Music和Photo部分,先来看个整体图,具体情况如下:

到这个界面后按Key3就会依次出现LED界面->Music界面->Photo界面->上图界面->LED界面->......循环,(USB界面未实现),每个界面如下:
2、LED界面

上面左图是刚切换到界面的状态,这时按下Key4,界面上的指示就会好真是LED状态一样循环亮起来(流水灯),图2和图3是效果图
3、Music界面

刚进入界面时如图一所示,按下Key4后,蜂鸣器鸣响,歌曲为蜂鸣器测评中的音乐,这时界面图标变为图2
4、Photo界面

进入Photo界面后,界面就会定时切换显示图片(头像太丑没敢放,网上随便找了几张,哈哈),算是简单的电子相册功能吧
下面将重要部分处理的code贴上来
 switch(sLedHmiStatus.Page)
   {
     case HMI_PAGE0:
      if(TRUE == sKey[KEY_3].ValidFlag){
        sLedHmiStatus.Page = HMI_PAGE1;
        DisPage(HMI_PAGE1);
      }
       break;
     
     case HMI_PAGE1:
      if(TRUE == sKey[KEY_3].ValidFlag){
        sLedHmiStatus.Page = HMI_PAGE2;
          DisPage(HMI_PAGE2);
      }
      break;

     case HMI_PAGE2:
      if(TRUE == sKey[KEY_3].ValidFlag){
        sLedHmiStatus.Page = HMI_PAGE3;
        DisPage(HMI_PAGE3);
        DisLed(5);
      }
      else if(TRUE == sKey[KEY_4].ValidFlag)
      {
        if(FALSE == sLedHmiStatus.PageValid)
        {
          sLedBlinkStatus.LedRefresh = TRUE;//LED流水灯的处理在LED处理的流程中,sLedBlinkStatus.LedRefresh为标志
          sLedHmiStatus.PageValid = TRUE;
        }
        else{         
          sLedBlinkStatus.LedRefresh = FALSE;
          sLedHmiStatus.PageValid = FALSE;
        }
      }
       break;

     case HMI_PAGE3:
      if(TRUE == sKey[KEY_3].ValidFlag){
        sLedHmiStatus.Page = HMI_PAGE4;
        DisPage(HMI_PAGE4);
      }
      else if(TRUE == sKey[KEY_4].ValidFlag)
      {
        sPlayMusic.PlayFlag = TRUE;//蜂鸣器鸣响,直到歌曲结束停止,
        DisBuzzer(TRUE);
      }
       break;

     case HMI_PAGE4:
      if(TRUE == sKey[KEY_3].ValidFlag){
        sLedHmiStatus.Page = HMI_PAGE1;
        DisPage(HMI_PAGE1);
      }
       break;

     default:
       break;
   }   
code比较简单,这里就不啰嗦了,后面的测评估计要等段时间了,等这段时间忙完再试吧。
总结下:
1、整体来说MM32的开发板硬件做工不错,板卡有开源硬件的相关接口,板载的调试器确实省了不少事,赞
2、从目前的测评效果看,代码风格和STM很像,上手容易,芯片稳定性也不错,价格没了解,如果价格优势明显的话,在一些低端场合这个芯片还是很有竞争力的
3、官方提供的文档很清晰,分门别类,资料好找。上手很容易,例程中也有一些问题,自己在测试时需要认真检查下底层驱动代码配置

另外在多一句嘴,例程的代码中有延时函数,关于延时函数我想说一点,写code中,像ms级别的延时根本不应该出现在代码中,延时应该仅仅出现在某些时序部分中
如果真的需要大的延时,建议才用简单的定时器调度处理方式,当cpu负担比较重的时候,一旦有实时任务处理时,系统反应的效果要好很多

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:永远忠于年轻时的梦想!

20

主题

375

帖子

1

粉丝