1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Arduino -RaspberryPI picoのテンプレート-

Last updated at Posted at 2025-01-03

はじめに

これは自分用の記録です。

Boardは  "Arduino Mbed OS by RP2040 Board by arduino" INPUT_PULLUP動作せず。
Boardは "Raspberry Pi Pico/RP2040/RP2350 by Earle F. Philhower, III "を使用
環境のURLsに、以下を追加
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
マニュアルは、
https://arduino-pico.readthedocs.io/en/latest/rp2040.html

事前準備

USB-COMボード

https://circuitpython.org/board/raspberry_pi_pico/ からUF2ファイルをダウンロード
Bootを押しながらPCに接続 
RP2050 のドライブにUF2ファイルをドラッグ&ドロップ

書込みが出来なくなった場合

Bootモードで書き込み

template1(WDT)

//#include "mbed.h"

#define SW1 2
#define SW2 3
#define SW3 4
#define SW4 5
#define LED1 6
#define LED2 7
#define LED3 8
#define LED4 9
#define DO1 10
#define DO2 11
#define DO3 12
#define DO4 13

volatile bool MODE1 = false;
volatile bool MODE2 = false;
volatile bool MODE3 = false;
volatile bool MODE4 = false;


//mbed::Watchdog &wdt = mbed::Watchdog::get_instance();

void isr1(void) {
  Serial.println("push1");
  MODE1 = !MODE1;
  digitalWrite(LED1, MODE1);
}
void isr2(void) {
  Serial.println("push2");
  MODE2 = !MODE2;
  digitalWrite(LED2, MODE2);
}
void isr3(void) {
  Serial.println("push3");
  MODE3 = !MODE3;
  digitalWrite(LED3, MODE3);
}
void isr4(void) {
  Serial.println("push4");
  MODE4 = !MODE4;
  digitalWrite(LED4, MODE4);
}

void setup() {
  Serial.begin(9600);
  pinMode(SW1, INPUT_PULLUP);
  pinMode(SW2, INPUT_PULLUP);
  pinMode(SW3, INPUT_PULLUP);
  pinMode(SW4, INPUT_PULLUP);
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(DO1, OUTPUT);
  pinMode(DO2, OUTPUT);
  pinMode(DO3, OUTPUT);
  pinMode(DO4, OUTPUT);

  attachInterrupt(digitalPinToInterrupt(SW1), isr1, FALLING);
  attachInterrupt(digitalPinToInterrupt(SW2), isr2, FALLING);
  attachInterrupt(digitalPinToInterrupt(SW3), isr3, FALLING);
  attachInterrupt(digitalPinToInterrupt(SW4), isr4, FALLING);
  interrupts();
  //wdt.start(1000);
  rp2040.wdt_begin(1000);
}

void loop() {
  //wdt.kick();
  rp2040.wdt_reset();
  
  digitalWrite(DO1, MODE1);
  digitalWrite(DO2, MODE2);
  digitalWrite(DO3, MODE3);
  digitalWrite(DO4, MODE4);

  Serial.print(millis());

  Serial.print(" Mode1=");
  Serial.print(MODE1);
  Serial.print(" Mode2=");
  Serial.print(MODE2);
  Serial.print(" Mode3=");
  Serial.print(MODE3);
  Serial.print(" Mode4=");
  Serial.println(MODE4);
  delay(500);
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?