极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23675|回复: 8

请问arduino的编译器里怎样写一个空指令?nop之类的

[复制链接]
发表于 2014-7-10 00:06:23 | 显示全部楼层 |阅读模式
有些外围需要延时几ns写一个指令,用arduino有什么方法可做?
回复

使用道具 举报

发表于 2014-7-10 00:25:23 | 显示全部楼层
定义
  1. #define NOP do { __asm__ __volatile__ ("nop"); } while (0)
复制代码
使用
  1. NOP;
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-10 00:29:54 | 显示全部楼层
pathletboy 发表于 2014-7-10 00:25
定义使用

谢谢哈!这样一个空指令大概是延时多少的?
回复 支持 反对

使用道具 举报

发表于 2014-7-10 11:02:36 | 显示全部楼层
有点小晕,汇编的说?

delay(毫秒数)?不行么?
回复 支持 反对

使用道具 举报

发表于 2014-7-10 11:23:33 | 显示全部楼层
爱上arduino 发表于 2014-7-10 00:29
谢谢哈!这样一个空指令大概是延时多少的?

和你主频有关。1/Fosc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-10 14:24:13 | 显示全部楼层
shihaipeng04 发表于 2014-7-10 11:02
有点小晕,汇编的说?

delay(毫秒数)?不行么?

delay是毫秒的,我想要的是纳秒的
回复 支持 反对

使用道具 举报

发表于 2014-7-11 10:43:20 | 显示全部楼层
爱上arduino 发表于 2014-7-10 14:24
delay是毫秒的,我想要的是纳秒的

delayMicroseconds(us)   
回复 支持 反对

使用道具 举报

发表于 2014-7-12 11:18:41 | 显示全部楼层
shihaipeng04 发表于 2014-7-11 10:43
delayMicroseconds(us)

人家ns不是us,另外多说一句,为了时序产生正确,不受中断干扰,处理时序时应关闭中断。
回复 支持 反对

使用道具 举报

发表于 2014-7-12 12:15:37 | 显示全部楼层
pathletboy 发表于 2014-7-12 11:18
人家ns不是us,另外多说一句,为了时序产生正确,不受中断干扰,处理时序时应关闭中断。




我是从官网复制过来了。。这个us ns 还不一样的说。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 05:36 , Processed in 0.077017 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表