极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15211|回复: 9

这80k的速度意味着什么?

[复制链接]
发表于 2015-4-13 15:36:40 | 显示全部楼层 |阅读模式
程序是这样的:
void setup() {               
  pinMode(12, OUTPUT);     
}

void loop() {
  digitalWrite(12, HIGH);
  digitalWrite(12, LOW);
}

测出来的频率是80k不到,这个值意味着什么?

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2015-4-13 16:12:12 来自手机 | 显示全部楼层
本帖最后由 ofourme 于 2015-4-13 16:14 编辑

差不多吧。16m频率的话,算出来是每个函数平均执行100条指令。差不多这个量级了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 16:52:50 | 显示全部楼层
ofourme 发表于 2015-4-13 16:12
差不多吧。16m频率的话,算出来是每个函数平均执行100条指令。差不多这个量级了。

谢谢您的回复!
那请问中断是不是也只能每秒处理80k个信号?
想做一个5M的逻辑分析仪是不是永远办不到?


attachInterrupt(pbIn,stateChange,FALLING);
回复 支持 反对

使用道具 举报

发表于 2015-4-13 18:02:14 | 显示全部楼层
本帖最后由 ofourme 于 2015-4-13 18:04 编辑
公孙林 发表于 2015-4-13 16:52
谢谢您的回复!
那请问中断是不是也只能每秒处理80k个信号?
想做一个5M的逻辑分析仪是不是永远办不到? ...


5M的话,中断函数的出入栈时间都不够。不要用Arduino库函数,挖掘一下AVR芯片的潜力,应该是可以超过80K的。
回复 支持 反对

使用道具 举报

发表于 2015-4-13 18:53:28 | 显示全部楼层
公孙林 发表于 2015-4-13 16:52
谢谢您的回复!
那请问中断是不是也只能每秒处理80k个信号?
想做一个5M的逻辑分析仪是不是永远办不到? ...

(1)改用 Arduino Due, CPU clock 是 84MHz, 不是 UNO 的 16MHz
(2)直接改变 pin 对应的 Port, See:
   http://www.billporter.info/2010/ ... hange-arduino-pins/

  也可以偷看 digitalWrite 的源代码
   在你 Arduino IDE 目录下
      hardware\arduino\cores\arduino\wiring_digital.c
  它里面浪费了一些时间做检查的事情,
  而且进出函数又浪费了一些时间
  如果你自己写一个 for loop 就可以省下该些 overhead
回复 支持 反对

使用道具 举报

发表于 2015-4-13 22:15:36 | 显示全部楼层
都有很专业嘛
回复 支持 反对

使用道具 举报

发表于 2015-4-14 08:50:32 | 显示全部楼层
程序连延迟都没有?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-14 08:57:44 | 显示全部楼层
ofourme 发表于 2015-4-13 18:02
5M的话,中断函数的出入栈时间都不够。不要用Arduino库函数,挖掘一下AVR芯片的潜力,应该是可以超过80 ...

谢谢回答,您说的方法我可怕能力有限。有时间研究下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-14 09:00:40 | 显示全部楼层
xuqin3 发表于 2015-4-13 22:15
都有很专业嘛

坛子里高手很多的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-14 09:01:02 | 显示全部楼层
suoma 发表于 2015-4-14 08:50
程序连延迟都没有?

就是让它疯狂的跑啊
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-18 17:38 , Processed in 0.060928 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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