打印
[STM8]

用for循环实现STM8延时

[复制链接]
5055|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Jun_coming|  楼主 | 2010-12-11 13:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void delay(uint t)//延时nus
{
uint x;
for(x=t;t>0;t--)
    {
    _asm("nop");
    _asm("nop");
    }
}
为什么用stvd软件仿真看的不是nus的延时呢?程序中并无分频,且晶振频率为16M.求救!
沙发
IJK| | 2010-12-11 15:33 | 只看该作者
stvd软件仿真 没有用过。看的不是nus的延时,那延时是多少?

使用特权

评论回复
板凳
Jun_coming|  楼主 | 2010-12-11 19:58 | 只看该作者
在里面执行一条nop语句所有的时间大概为0.06us左右,不知道为什么会那么短,整个循环运行下来,比nus小。

使用特权

评论回复
地板
香水城| | 2010-12-12 09:23 | 只看该作者
1/16MHz 不就是0.06us左右吗?STM8中的NOP指令是单周期。

使用特权

评论回复
5
Jun_coming|  楼主 | 2010-12-12 13:22 | 只看该作者
哦,明白!

使用特权

评论回复
6
YJCSXDL| | 2015-1-28 10:25 | 只看该作者
那STM8在STVD中用到的汇编空操作指令是什么啊?我用asm("nop");错误是#error cpstm8 main.c:67(6) missing prototype,求帮助

使用特权

评论回复
7
YJCSXDL| | 2015-1-28 10:26 | 只看该作者
香主,求助

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

38

帖子

0

粉丝