3006|7

39

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

分析代码 [复制链接]

u32 EndNum;
u32 Counter;

void (*pFunc)(void);

//这个是定时器的中断函数
void TimerInterrupt(void)
{
if(++Counter>=EndNum)
{
if(pFunc!=NULL)
{
(*pFunc)();
//在此添加停止定时器的功能代码
}
}
}

/*这个是在需要的地方主动调用的函数,第一个参数为指向函数的指针,
第二个参数为定时时间,当该定时时间到时,将调用函数指针所指向
的函数。*/
void StartTimer(void* pFunction,u32 DelayNum)
{
Counter=0;
EndNum=DelayNum;
pFunc=pFunction;

//并在这里实现启动定时器功能
}
上面的程序中u32 EndNum; u32 Counter;是什么意思哦  在程序中起什么作用啊
此帖出自单片机论坛

最新回复

上面的程序中u32 EndNum; u32 Counter;是什么意思哦 在程序中起什么作用啊 ? U32应是程序前面或头文件里定义好的数据类型,从字面上讲应是32位无符号数。作用是记数  详情 回复 发表于 2012-2-24 08:13
点赞 关注
 

回复
举报

48

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
Counter是用来对定时器的中断次数计数的。比如定时器中断1ms一次,如果Counter计数了1000次,那就说明已经过了1ms*1000=1s了。而EndNum就是你要延时的值,比如你想定10s,那么EndNum就设置为10000,当Counter计数到10000时,经过比较发现和EndNum相等了,就知道计数时间已经到。也就是说,EndNum是Counter计数的终点,Counter计数到EndNum既停止计数。每一次设置不同的EndNum,你就可以延时不同的时间。

[ 本帖最后由 Goself 于 2012-2-22 23:27 编辑 ]
此帖出自单片机论坛
 
 

回复

207

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
此帖出自单片机论坛
 
 
 

回复

39

帖子

0

TA的资源

一粒金砂(高级)

4
 

回复 沙发 Goself 的帖子

可以不用指针函数吗   有点不懂函数指针在里面的作用   
此帖出自单片机论坛
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(高级)

5
 
楼主要的功能是,延时一段时间,但是楼主如何才能知道延时时间到了呢?

函数指针的作用在于,当计数完成的时候,就调用由指针所指向的函数。至于函数指针指向什么函数,是由你在调用函数的时候设置的。当这个函数被调用时,就是通知你定时时间到了,你应该在这个被调用的函数里面实现延时达到后的功能,比如停止测试等。
此帖出自单片机论坛
 
 
 

回复

39

帖子

0

TA的资源

一粒金砂(高级)

6
 

回复 5楼 Goself 的帖子

谢谢你的耐心解答啊   如果我再做不出来就让你们失望了!
此帖出自单片机论坛
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(高级)

7
 
可能是你的代码写得太少了吧,多练习练习就行了。
此帖出自单片机论坛
 
 
 

回复

1万

帖子

16

TA的资源

版主

8
 
上面的程序中u32 EndNum; u32 Counter;是什么意思哦 在程序中起什么作用啊 ?

U32应是程序前面或头文件里定义好的数据类型,从字面上讲应是32位无符号数。作用是记数
此帖出自单片机论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表