MTK打印之:定时器设计两式比较
前言:
终于完成在MTK模块与单片机通讯实现打印功能,打印虽只是一个与单片机通讯功能,但做完后,把东西整理后,发现还是有很多东西。这次我把做过的两次版本的定时器整出来。
正文:
在第一次开发过程,从简单的处理,这种方式逻辑简单,这也是很多人一拿来到项目就想到的方式吧。这种定时器是根据发送数据后只有两种状态。
1.接收到数据
2.数据超时
这种定时器方式的频率和发送数据次有关,例如:发送N次数据,就startTime和stopTimeN次。
设计过程图如下:
模拟代码如下:
//模拟代码
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
这种定时器的设计是大众使用比较多的方式通过这种方式可以减少打开和关闭定时器的次数,这种定时器打关的次数与设置的超时时间有关。
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通用驱动:解决MT65xx Preloader 驱动问题
android MTK CTS 18:9屏 failed Patch; 请参考源代码合入patch, 验证通过
MTK Android 11.0:充电低电指示灯会被未读消息信号灯灭掉,无优先级控制: 1、电池充电、低电状态提示(红绿双色)。(LIGHT_ID_BATTERY) 小于15%时: A 正在充电 亮红灯。 B 未充电 红灯闪烁 灭2秒 亮0.5秒。 ...
MTK 各个模块的说明、还有一些例子提供参考 希望对初学者有用
typedef struct timertable { /* store the timer_id. MSB(Most Significant Bit) is align_timer_mask */ U16 timer_id[SIMULTANEOUS_TIMER_NUM]; /* store the event_id that returns from evshed_set_event()...
MTK6261的最新参考设计,MTK原厂设计。
MTK详细设计说明详细设计说明MTK详细设计说明详细设计说明 MTK详细设计说明详细设计说明 MTK详细设计说明详细设计说明 MTK详细设计说明详细设计说明 MTK详细设计说明详细设计说明
关于MTK的原理图和设计 射频部分的电路图设计规范和要求
联发科MTK2712平台设计原理图,对车辆中控显示的设计有一定帮助,针对联发科平台的中控硬件构架、电源系统构架进行了资源提供
MTK6227 MTK6228,MTK6305B,MTK6318等相关手册,以及实际原理设计以及相关手册资料,是硬件设计人员学习MTK方案不可多得的学习好材料;比较难找全啊。
MTK配置文件参数说明MTK配置文件参数说明 MTK配置文件参数说明MTK配置文件参数说明 MTK配置文件参数说明 MTK配置文件参数说明
MTK插值修改,详细的列举出MTK支持的各种差值,以及不能用的非法差值
MTK平台源码开发上的一些问题的官方文档FAQ,只是是早期的文档了
MTK主要模块详细设计说明书,如电话本、信息、设置等主要模块的消息设计
MTK五年的开发心得——MTK经验总结:MTK平台搭建、资源添加等
介绍MTK平台下设计应用程序的步骤
MTK软件开发文档:L1(密码请下载MTK软件开发文档密码)