0
回复
收藏
点赞
分享
发新帖
论坛首页
电源技术综合区
刚写了个延时程序,进入这个程序就出不来了,大家看下什么回事
刚写了个延时程序,进入这个程序就出不来了,大家看下什么回事
void delay(unsigned int k) //*****************************delay
{
unsigned int i,j;
for(i=0;i
}
全部回复(13)
只看楼主
正序查看
倒序查看
现在还没有回复呢,说说你的想法
david5chen
LV.1
2
2008-05-20 22:29
void delay(unsigned int k) //*****************************delay
{
unsigned int k,j;
for(;k>0;k--)for(j=0;j<2;j++);
}
0
回复
提示
dz3690
LV.2
3
2008-05-20 23:26
两个for在一起,一不小心就会死循环.还是分开用吧.
0
回复
提示
abing
LV.8
4
2008-05-21 08:19
@dz3690
两个for在一起,一不小心就会死循环.还是分开用吧.
谢谢回复,请问怎么分开呢?
0
回复
提示
dz3690
LV.2
5
2008-05-21 21:51
@abing
谢谢回复,请问怎么分开呢?
//这样改一下试试,会直观一些
void delay(unsigned int k) //***假设K是希望延时的一个单位数
{unsigned int i,j; //k已定义,不要重复
for(i=0;i
{for(j=0;j<200;j++); //此处假设200为一个延时单位.
{}
}
}
//道理上讲,应当得时值为 k*200 个周期,但是实际时长要比k*200 个周期大一些,定时不准确.
0
回复
提示
dz3690
LV.2
6
2008-05-21 21:53
@abing
谢谢回复,请问怎么分开呢?
//这样改一下试试,会直观一些
void delay(unsigned int k) //***假设K是希望延时的一个单位数
{unsigned int i,j; //k已定义,不要重复
for(i=0;i
{for(j=0;j<200;j++); //此处假设200为一个延时单位.
{}
}
}
//道理上讲,应当得时值为 k*200 个周期,但是实际时长要比k*200 个周期大一些,定时不准确.
0
回复
提示
abing
LV.8
7
2008-05-24 08:15
@dz3690
//这样改一下试试,会直观一些voiddelay(unsignedintk) //***假设K是希望延时的一个单位数{unsignedinti,j; //k已定义,不要重复for(i=0;i
是的,这种定时太不精确,但在要求不高的场合还是很实用的
0
回复
提示
醉雨打枝遍地红
LV.1
8
2008-05-28 22:25
@abing
是的,这种定时太不精确,但在要求不高的场合还是很实用的
算好了指令周期总数,还是可以做到比较精准的,就是忒麻烦
0
回复
提示
dz3690
LV.2
9
2008-05-29 23:14
@醉雨打枝遍地红
算好了指令周期总数,还是可以做到比较精准的,就是忒麻烦
用汇编还好算,用C就会算不准了.
0
回复
提示
abing
LV.8
10
2008-05-30 12:20
@dz3690
用汇编还好算,用C就会算不准了.
插入汇编是个好方法.
最主要还要看定时要求怎么样,有很多时候我是采用定时器来做
0
回复
提示
309898038
LV.1
11
2009-01-02 20:21
@abing
插入汇编是个好方法.最主要还要看定时要求怎么样,有很多时候我是采用定时器来做
用汇编的ret就ok了
0
回复
提示
pengchuang0819
LV.2
12
2009-02-12 10:07
@309898038
用汇编的ret就ok了
hehe
0
回复
提示
北溟有鱼
LV.1
13
2009-02-19 15:04
@pengchuang0819
hehe
延时程序用汇编的也很简单的
0
回复
提示
abing
LV.8
14
2009-02-21 11:05
@北溟有鱼
延时程序用汇编的也很简单的
现在写程序我不会想到用汇编了,那样真的很累.
我现在这样写的延时程序:
void delay_ms(unsigned int ms)//对于AVR单片机8M时,延时约1mS
{
unsigned int i;
for(;ms>0;ms++){for(i=0;i<1000;i++};
}
这程序可以直接和于AVR,C51及PIC单片机等,用汇编的话就不能通用了.
0
回复
提示
工程师都在看
100W DC/DC 电源
朝阳之星
【 DigiKey DIY原创大赛】基于树莓派的自行车电子围栏设计
Godsama
【 DigiKey DIY原创大赛】基于STM32的直流生理电刺激治疗仪
大_树
【 DigiKey DIY原创大赛】基于树莓派的 Modbus 网关
pomin
【 DigiKey DIY原创大赛】888全彩光立方
fzwwj95
精华推荐
换一换
立
即
发
帖