嵌入式编程经验之延迟函数
来源:互联网 发布:大闹天宫化身6进7数据 编辑:程序博客网 时间:2024/06/14 09:55
嵌入式编程经验之延迟函数
通常有两种方法来实现延迟函数,第一种用for循环实现,另一方法就是用定时器实现。
for循环实现的延迟函数常用于不精确的延迟,大概的意思。
定时器方式延迟能够实现精确的延迟。
for循环实现延迟
void delay1ms(int time)
{
unsigned int i;
while(time--)
for(i=0; i<124; i++);//124不同的系统对应的值不同
}
定时器方式实现延迟
用一个timer当做系统时间,它通常都会被设定为每10ms中断一次,然后在里面加一个counter当做delay用的参数,例如在timer中断函式里放入(两种方式:递增式和递减式)。
递增式:
void time10ms_isr(void)
{
time10ms++;
}
void delay10ms(int time)
{
time10ms = 0;
while (time10ms < time);
}
递减式:
void time10ms_isr(void)
{
if(time10ms) time10ms--;
}
void delay10ms(int time)
{
time10ms = time;
while (time10ms);
}
延迟应用
int main()
{
delay10ms(100);//100个10ms相当于延迟1s
}
- 嵌入式编程经验之延迟函数
- 嵌入式C编程经验 之 全局变量
- 嵌入式编程 经验
- 嵌入式编程 经验
- 嵌入式C编程经验 之 全局变量猛于虎
- 嵌入式C编程经验之全局变量猛于虎
- 嵌入式C编程经验 之 全局变量猛于虎
- 嵌入式C编程经验 之 全局变量猛于虎
- 嵌入式C编程经验 之 全局变量猛于虎
- 嵌入式C编程经验 之 全局变量猛于虎
- 嵌入式系统及编程经验
- 嵌入式linux网络编程之connect()函数的高级应用
- 嵌入式linux网络编程之connect()函数的高级应用
- 嵌入式linux网络编程之connect()函数的高级应用
- 嵌入式linux网络编程之connect()函数的高级应用
- 函数设计之经验
- 嵌入式编程之模块化编程
- 嵌入式C基础编程 函数
- C# 对windows 音量调节
- 严重: IOException while loading persisted sessions: java.io.EOFException 严重: Exception loading sessions from persistent storage
- LATEX学习
- 湖人双塔的高度
- Hibernate的复杂用法HibernateCallback
- 嵌入式编程经验之延迟函数
- 字符串长度检测---strlen与isset的比较
- Forms 验证FormsAuthentication
- 使用exec的top命令获取内存和cpu的使用率
- SqlCacheDependency使用
- window程序设计笔记 第三章 窗口和消息
- 苹果也启动了今年度的“苹果设计奖”
- Linux Driver 基本架构
- swing学习笔计2