`
xusaomaiss
  • 浏览: 615502 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

MTK打印之:定时器设计两式比较

MTK 
阅读更多

MTK打印之:定时器设计两式比较

前言:

      终于完成在MTK模块与单片机通讯实现打印功能,打印虽只是一个与单片机通讯功能,但做完后,把东西整理后,发现还是有很多东西。这次我把做过的两次版本的定时器整出来。

 

正文:

      在第一次开发过程,从简单的处理,这种方式逻辑简单,这也是很多人一拿来到项目就想到的方式吧。这种定时器是根据发送数据后只有两种状态。
      1.接收到数据
      2.数据超时

这种定时器方式的频率和发送数据次有关,例如:发送N次数据,就startTime和stopTimeN次。

 

设计过程图如下:

方式1



模拟代码如下:

 

//模拟代码
int g_timeout = 3;
void SendData()
{
    StartTimer(SCM_TIME_ID, TimeOut,  SCM_SendDataTimeOut);
//...
}
void Handle_RecvData()
{
       g_timeout --;
     	StopTimer(SCM_TIME_ID);
//接收到数据后,再发送下帧数据
        SendData();
}
void SCM_SendDataTimeOut()
{
     if(g_timeout ==0) Exit_Print();//超时次数达到3次,退出打印
     g_timeout --;    
    //重发数据
    SendData();
}

 方式2

方式2

      这种定时器的设计是大众使用比较多的方式通过这种方式可以减少打开和关闭定时器的次数,这种定时器打关的次数与设置的超时时间有关。

 

int g_timeout = 3;
int TimeOut = 1000;
void TaskStart()
{
    g_timeout = 3;
    StartTimer(SCM_TIME_ID,TimeOut,SCM_SendDataTimeOut);
}

void SendData()
{
//这里只做发送数据,就没有打开定时器的操作
//....
}
void SCM_Handle_RecvData()
{
     g_timeout = 3;

//接收到数据后,再发送下帧数据
        SendData();

}

void SCM_SendDataTimeOut()
{
   if(g_timeout==0) Exit_Print();//超时计数为0,退出打印
   g_timeout--;
   StartTimer(SCM_TIME_ID,TimeOut,SCM_SendDataTimeOut);

}

  • 大小: 29 KB
  • 大小: 56.2 KB
分享到:
评论

相关推荐

    MTK定时器消息机制

    MTK定时器消息机制支持两种定时模式:非对齐模式(`NO_ALIGNMENT`)和对齐模式(`ALIGNMENT`)。 1. **非对齐模式**:在这种模式下,一旦定时器触发,即使在处理期间被重置,也会继续执行直至完成。这种模式适用于不...

    MTK定时器传递机制

    MTK定时器传递机制是针对MediaTek平台的一种特定的定时器管理方法,它涉及到操作系统内核层面的定时器操作。在了解MTK定时器之前,我们先要理解基本的定时器概念。定时器在操作系统中扮演着重要角色,它们用于设置在...

    MTK定时器消息传递机制

    MTK定时器消息传递机制是MTK(MediaTek)芯片平台中用于处理定时事件的关键组件。在手机和其他基于MTK平台的设备中,高效的定时器管理对于系统的性能和响应速度至关重要。本文将深入探讨该机制的基本概念、结构以及...

    MTK1.zip_MTK1_mtk_site:www.pudn.com

    MediaTek是一家知名的集成电路设计公司,其产品广泛应用于智能手机、平板电脑、数字电视等多个领域。下面,我们将深入探讨MTK各模块的说明以及可能包含的示例内容。 首先,MTK的模块通常包括处理器、射频、基带、...

    android MTK CTS 18:9屏 failed Patch

    在Android系统开发中,MediaTek(MTK)平台因其性价比高、功能全面而被广泛应用。本文将深入探讨“android MTK CTS 18:9屏 failed Patch”这一主题,帮助开发者理解这个问题,并提供可能的解决方案。 CTS...

    MTK通用驱动:解决MT65xx Preloader 驱动问题

    MTK(MediaTek)是一家知名的半导体公司,以其在智能手机、电视和无线通信等领域的芯片解决方案而闻名。MT65xx系列是MTK推出的一系列针对入门级和中端市场的手机处理器。然而,用户在使用这些设备时可能会遇到各种...

    MTK Android 11.0:充电低电指示灯会被未读消息信号灯灭掉,无优先级控制

    MTK Android 11.0:充电低电指示灯会被未读消息信号灯灭掉,无优先级控制: 1、电池充电、低电状态提示(红绿双色)。(LIGHT_ID_BATTERY) 小于15%时: A 正在充电 亮红灯。 B 未充电 红灯闪烁 灭2秒 亮0.5秒。 ...

    MTK主要模块详细设计说明书

    《MTK主要模块详细设计说明书》是一份深入探讨MTK平台关键功能模块设计的专业文档,主要涵盖了电话本、信息和设置等日常使用的核心模块。这份说明书对于理解MTK( MediaTek,联发科)芯片组在智能手机和平板电脑等...

    MTK配置文件参数说明MTK配置文件参数说明

    "MTK配置文件参数说明" MTK配置文件参数说明是MTK配置文件中的一组参数设置,用于配置MTK设备的各种测试参数。这些参数设置将对MTK设备的测试结果产生影响,以下是对这些参数的详细解释: 1.射频功能组的复位(GSM...

    MTK6227 MTK6228,MTK6305B等实际原理设计以及相关资料

    MTK6227, MTK6228和MTK6305B是联发科(MediaTek)推出的几款针对移动通信设备的芯片组,主要用于2G和3G手机。这些芯片集成了基带处理器、射频收发器、电源管理单元等多种功能,为手机提供完整的通信解决方案。在硬件...

    MTK6261参考设计

    MTK6261的最新参考设计,MTK原厂设计。

    MTK平台:FAQ总结

    根据提供的文件信息,我们可以提取并详细解释关于MTK平台的一些关键知识点。MTK是MediaTek Incorporated的简称,该公司是全球著名的无晶圆厂半导体公司,专注于无线通讯和数字多媒体技术。MTK的平台广泛应用于智能...

    上传MTK打印源码(不完整版)

    标题中的“上传MTK打印源码(不完整版)”表明这是一个关于 MediaTek(MTK)平台的打印功能的源代码,但可能并非完整的实现。在IT行业中,MTK通常指的是MediaTek公司,它是一家知名的半导体制造商,其产品广泛应用于...

    MTK平台入门资料大全(最新版)

    MTK,全称为MediaTek,是一家知名的半导体公司,主要专注于移动通信、数字电视、光储存、及物联网等领域的芯片设计。对于想要入门MTK平台的人来说,掌握相关知识是非常重要的。本压缩包“MTK平台入门资料大全(最新...

    联发科MTK2712平台设计原理图

    联发科MTK2712平台设计原理图涵盖了汽车电子中控显示领域的硬件设计,其核心内容包括了中控硬件构架和电源系统构架的设计。该平台包含了多个不同性能的处理器核心,用于处理不同类型的任务。在介绍这些构架的同时,...

    MTK_面试的几个主要问题

    在 MTK 面试中,常见的问题有多个方面,包括按键处理流程、高亮处理机制、MTK 内存管理、任务管理、事件机制和定时器消息机制等。下面将逐一介绍这些知识点。 按键处理流程 按键处理流程是 MTK 软件 framework 中...

    MTK-AuthBypass-Tool-V31-MTK刷机辅助工具

    在手机关机(或者无限重启黑屏之时)同时按住“音量键+”、“音量键-”、“电源键”三个按键,能够听见如电脑插入U盘的声音即可松手,此时程序会自动开始将手机稳定在深刷模式,成功后会显示蓝色的“now you can use...

    MTK插值修改.pdf

    MTK(MediaTek)是一家专注于无线通讯和数字多媒体技术的集成电路设计公司。MTK芯片广泛应用于各种Android设备中,支持众多的显示分辨率,并且具有图像处理能力,其中包括插值算法的应用。在讨论MTK插值修改时,我们...

    MTK 6219平台参考设计电路原理图(pdf).

    ### MTK 6219 平台参考设计电路原理图解析 #### 一、MTK 6219 平台概述 MTK 6219 是一款由联发科技股份有限公司(MediaTek Inc.)开发的移动通信平台芯片组,主要应用于功能手机和低端智能手机市场。该芯片集成了...

Global site tag (gtag.js) - Google Analytics