[STM8] 用for循环实现STM8延时

[复制链接]
5854|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指令是单周期。
 楼主| Jun_coming 发表于 2010-12-12 13:22 | 显示全部楼层
哦,明白!
YJCSXDL 发表于 2015-1-28 10:25 | 显示全部楼层
那STM8在STVD中用到的汇编空操作指令是什么啊?我用asm("nop");错误是#error cpstm8 main.c:67(6) missing prototype,求帮助
YJCSXDL 发表于 2015-1-28 10:26 | 显示全部楼层
香主,求助
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部