This repository was archived by the owner on May 10, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +60
-0
lines changed Expand file tree Collapse file tree 4 files changed +60
-0
lines changed Original file line number Diff line number Diff line change 1+ # SPDX-License-Identifier: Apache-2.0
2+
3+ cmake_minimum_required (VERSION 3.20.0)
4+
5+ set (DTC_OVERLAY_FILE $ENV{ZEPHYR_BASE} /../modules/lib/Arduino-Zephyr-API/variants/${BOARD} /${BOARD} .overlay)
6+
7+ find_package (Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE} )
8+ project (attach_interrupt)
9+
10+ target_sources (app PRIVATE src/main.cpp)
11+
12+ zephyr_compile_options(-Wno-unused-variable -Wno-comment )
Original file line number Diff line number Diff line change 1+ .. _attach_interrupt-sample :
2+
3+ AttachInterrupt
4+ ######
5+
6+ Overview
7+ ********
8+
9+ This sample demonstrates how to use attachInterrupt API.
10+
11+ Building and Running
12+ ********************
13+
14+ Build and flash attachInterrupt sample as follows,
15+
16+ ```sh
17+ $> west build -p -b arduino_nano_33_ble samples/basic/attach_interrupt/ -DZEPHYR_EXTRA_MODULES=/home/$USER/zephyrproject/modules/lib/Arduino-Core-Zephyr
18+
19+ $> west flash --bossac=/home/$USER/.arduino15/packages/arduino/tools/bossac/1.9.1-arduino2/bossac
20+ ` ``
21+
22+ Turn on the LED by detecting interrupts. And Turn off the next interrupt.
Original file line number Diff line number Diff line change 1+ CONFIG_ARDUINO_API=y
Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright (c) 2022 TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
3+ *
4+ * SPDX-License-Identifier: Apache-2.0
5+ */
6+
7+ #include < Arduino.h>
8+
9+ const pin_size_t ledPin = LED_BUILTIN;
10+ const pin_size_t interruptPin = 2 ;
11+ PinStatus state = LOW;
12+
13+ void blink () {
14+ state = (state == LOW) ? HIGH : LOW;
15+ digitalWrite (ledPin, state);
16+ }
17+
18+ void setup () {
19+ pinMode (ledPin, OUTPUT);
20+ pinMode (interruptPin, INPUT_PULLUP);
21+ attachInterrupt (interruptPin, blink, CHANGE);
22+ }
23+
24+ void loop () {
25+ }
You can’t perform that action at this time.
0 commit comments