这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » Arduino下IO速度的测试

共5条 1/1 1 跳转至

Arduino下IO速度的测试

专家
2016-08-24 23:06:19     打赏

Arduino版本arduino-1.6.7,测试型号Arduino Nano,测试工具Saleae Logic 1.1.15
测试代码:

void setup() {
  pinMode(13, OUTPUT);
}

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

测试结果:
01.png

双路测试:
02.png

尝试寄存器操作:

void setup() {
  pinMode(13, OUTPUT);
  //pinMode(11, OUTPUT);
  DDRB |= (1<<PB3);
}

void loop() {
  digitalWrite(13, HIGH);
  digitalWrite(13, LOW);
  digitalWrite(13, HIGH);
  digitalWrite(13, LOW);
  //PB3
  digitalWrite(11, HIGH);
  digitalWrite(11, LOW);
  PORTB |= (1<<PB3);
  PORTB &= ~(1<<PB3);
  PORTB |= (1<<PB3);
  PORTB &= ~(1<<PB3);
}

结果:
03.png

速度竟然提高了40倍


高工
2016-08-25 08:53:38     打赏
2楼
来看看

专家
2016-08-25 09:43:54     打赏
3楼
digitalWrite函数方式调用,当然慢一些的。

院士
2016-08-25 10:50:24     打赏
4楼

从这个测试上面来看,封装的效率也太低了。

arduino的系统这是做成什么样子了啊


专家
2016-08-31 14:14:16     打赏
5楼
确实,效率兼顾方便。

共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]