关于延时函数

PsG庞士冠 2017-12-01 04:25:32
if(key()=='0')//扫频功能
{
Ini_Lcd();
Disp_SZ(0x84,fmin);
Disp_HZ(0x80,saopin,2);
m=(fmax-fmin)/bujinzhi;
for(i=temp;i<m;i++)
{ if(i==0){n=fmin;}
fmin+=bujinzhi;
DDS_seriel(fmin,0x01);
Disp_SZ(0x84,fmin);
Disp_HZ(0x90,bujin,5);
Disp_SZ(0x94,bujinzhi);
temp++;
delay_Nms(100);
if(i==(m-1))
{
fmin=n;
Disp_SZ(0x84,fmin);
Disp_SZ(0x94,bujinzhi);
DDS_seriel(fmin,0x01);
temp=0;
i=0;
}
if((keyin&0x0f)!=0x0f)
{
delay(300);
if((keyin&0x0f)!=0x0f)
{
if(key()=='0')
{
break;
}
}
}
}
[b]以上是一段扫频输出的代码,其中有一个延时函数Delay_Nms,N是形参。通过改变N可以控制扫描频率的速度,现在发现N到达某个值后,无论怎么减小N,都不能加快扫描频率的速度,请问这种情况是不是已经到达了CPU运行速度的阈值
...全文
327 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
faihung 2018-01-10
  • 打赏
  • 举报
回复
先看晶振是多少,在看延时
fly 100% 2018-01-05
  • 打赏
  • 举报
回复
先把延时的范围算出来,再解决这里面的问题
嵌入式@hxydj 2018-01-03
  • 打赏
  • 举报
回复
单独写个延时程序,延时时间到了反转IO口状态,用示波器观察IO口波形,就能测出来延时的极限值。
PsG庞士冠 2017-12-05
  • 打赏
  • 举报
回复
引用 5 楼 qq_38204686 的回复:
引用 4 楼 pangsg的回复:
[quote=引用 2 楼 qq_38204686 的回复:] 肯定有限制的 哪能无限制呢
可我感觉实在是慢的过分,大概是1秒跳动一下吧,我板子的时钟是8MHZ的
lcd显示太耗时间么? 你可以计算一下运行一遍的总的耗时 或者简单的把你的所有函数调用的延时函数加一下 看哪里比较耗时间[/quote] 好的 我去试试
大米粥哥哥 2017-12-04
  • 打赏
  • 举报
回复
引用 4 楼 pangsg的回复:
引用 2 楼 qq_38204686 的回复:
肯定有限制的 哪能无限制呢
可我感觉实在是慢的过分,大概是1秒跳动一下吧,我板子的时钟是8MHZ的
lcd显示太耗时间么? 你可以计算一下运行一遍的总的耗时 或者简单的把你的所有函数调用的延时函数加一下 看哪里比较耗时间
PsG庞士冠 2017-12-04
  • 打赏
  • 举报
回复
引用 2 楼 qq_38204686 的回复:
肯定有限制的 哪能无限制呢
可我感觉实在是慢的过分,大概是1秒跳动一下吧,我板子的时钟是8MHZ的
PsG庞士冠 2017-12-04
  • 打赏
  • 举报
回复
引用 1 楼 tian210 的回复:
你看一下是不是倒数第10行还有一个delay(300)造成的
这个delay是消抖用的
tian210 2017-12-02
  • 打赏
  • 举报
回复
你看一下是不是倒数第10行还有一个delay(300)造成的
大米粥哥哥 2017-12-02
  • 打赏
  • 举报
回复
肯定有限制的 哪能无限制呢

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧