极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8636|回复: 1

如何用一个arduino触发另一个arduino的中断

[复制链接]
发表于 2014-10-20 16:17:20 | 显示全部楼层 |阅读模式
本帖最后由 openmmoo 于 2014-10-27 14:31 编辑

菜鸟一个,问题如题:如何用一个arduino触发另一个arduino的中断,求连接图!
回复

使用道具 举报

发表于 2014-10-20 22:03:06 | 显示全部楼层
本帖最后由 Super169 于 2014-10-20 22:04 编辑

兩板共地後, 用一根線一邊接 int I/O (例如 D2), 另一邊接另一塊的數字 I/O.

接數字 I/O 的一塊用 DigitalWrite 改變設定, 而接 int I/O 的一塊就針對需要的狀態設定 interrupt 程式.

例如兩板都接上 D2, 主動的一塊執行以下程式:
  1. #define OUT_PIN 2
  2. void setup() {
  3.   // put your setup code here, to run once:
  4.   Serial.begin(57600);
  5.   pinMode(OUT_PIN, OUTPUT);
  6.   digitalWrite(OUT_PIN, LOW);
  7. }

  8. void loop() {
  9.   // put your main code here, to run repeatedly:
  10.   Serial.println("Set HIGH");
  11.   digitalWrite(OUT_PIN, HIGH);
  12.   delay(2000);
  13.   Serial.println("Set LOW");
  14.   digitalWrite(OUT_PIN, LOW);
  15.   delay(2000);
  16. }
复制代码


被動的一塊執行以下程式:
  1. int cnt = 0;
  2. void setup() {
  3.   // put your setup code here, to run once:
  4.   Serial.begin(57600);
  5.   attachInterrupt(0, isr_change, CHANGE);
  6. }

  7. void loop() {
  8.   // put your main code here, to run repeatedly:
  9.   Serial.println(cnt);
  10.   delay(500);
  11. }

  12. void isr_change() {
  13.   cnt++;
  14. }
复制代码


每次改變, 就會觸發  isr_change, 把 cnt 的數值 +1.
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-16 02:46 , Processed in 0.037696 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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