• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+
イイね!
2022年07月28日

[memo] RP2040 その2 (Arduino IDE)

[memo] RP2040 その2 (Arduino IDE) 最近、お気に入りなRP2040系マイコン。
中でも、RP2040-zeroがマイブームですね(w

特徴
・Dual Core 32bit ARM Cortex M0+ (~133MHz)
・RAM:264KB FLASH:2MB
・スルーホールピンのGPIO数が豊富(20本→ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,26,27,28,29)
・ハードウェアUART 2チャンネル
・ハードウェアSPI 2チャンネル
・ハードウェアI2C 2チャンネル
・PWM 16ポート(RP2040自体は30ポート全部利用可能)
・ADC 4ポート
・Arduino IDEでも開発できるので、過去の資産が有効利用できる (microPythonが標準的な開発環境?)
・Dual Coreなプログラムも簡単に実装できる
・小さい 18x23.5mm
・安い 800円くらい
など

rp2040のデーターシート
https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf


以下、前回のメモからの追記です。

■書き込み失敗の件
ボード定義 2.3.3ではかなり安定している。まだ、たまに失敗する。

■GPIO定義の件
基本は、
packages/rp2040/hardware/rp2040/2.3.3/variants/*/pins_arduino.h
で定義されているので、都度確認ですね。

■RP2040のUART/SPI/I2C
それぞれ2チャンネル利用できる。
利用できるGPIOは決まっている。
デフォルトのGPIOは、先のpins_arduino.hで定義されている。
それ以外で利用する場合は、GPIOを個別設定する必要がある。

変更方法
□UART0(Serial1)
Serial1.setTX(pin)
Serial1.setRX(pin)

□UART1(Serial2)
Serial2.setTX(pin)
Serial2.setRX(pin)

□SPI0(SPI)
SPI.setTX(pin) // MOSI
SPI.setRX(pin) // MISO
SPI.setSCK(pin)

□SPI1
SPI1.setTX(pin) // MOSI
SPI1.setRX(pin) // MISO
SPI1.setSCK(pin)

□I2C0(Wire)
Wire.setSDA(pin)
Wire.setSCL(pin)

□I2C1(Wire1)
Wire1.setSDA(pin)
Wire1.setSCL(pin)


使用できるGPIO
□UART0(Serial1)
RX: 1,13,17,29
TX: 0,12,16,28

□UART1(Serial2)
RX: 5,9,21,25
TX: 4,8,20,24

□SPI0 (SPI)
MISO(RX):0,4,16,20
MOSI(TX):3,7,19,23
SCK:2,6,18,22

□SPI1
MISO(RX):8,12,24,28
MOSI(TX):11,15,27
SCK:10,14,26

□I2C0(Wire)
SDA: 0,12,16,20,24,28
SCL: 1,5,9,13,17,21,25,29

□I2C1(Wire1)
SDA: 2,6,10,14,18,22
SCL: 3,7,11,15,19,23,27


■Dual Core (Arduino IDE+earlephilhower版の場合)
https://github.com/earlephilhower/arduino-pico

Core0用コードは、

void setup()
void loop()

でコーディング
Core1用コードは、

void setup1()
void loop1()

でコーディング
以上 ^^


■Software Reset
前回のメモでのコードでは動作しなかった。
別の方法をみつけたのでメモ。
(ハードウェアwatchdog timer機構を利用する方法)

extern "C" {
#include
};

void software_reset(){
watchdog_reboot(0,0,1);
watchdog_enable(1,false);
}


■Software Serial
RP2040では、PIOが8チャンネルあるので、これを利用している。

定義

SerialPIO NAME ( TXpin, RXpin, FIFOサイズ(未指定の場合32バイト) );
TXのみやRXのみの使い方もできる。
その場合は、使わない方の TXpin RXpinのところを、

SerialPIO::NOPIN

にする。

SofSoftwareSerial定義とRX,TXが逆なので注意。

標準のSoftwareSerialは、SerialPIOをwrapしている。


■EEPROM
EEPROMは実装されていないが、プラグラム用フラッシュ領域の最後の4KBくらいをEEPROMエミュレーション用で用意されている。
標準のEEPROMライブラリで利用できる。

■FileSystem
LittleFSやSD(FAT)など、Filesystem利用可能

■RTC
内蔵RTCあるけど、バックアップバッテリー機構がない。
起動時都度時刻設定すれば時計機能が利用できる。

■タイマー割り込み
https://www.arduino.cc/reference/en/libraries/rpi_pico_timerinterrupt/
ブログ一覧 | マイコンなど | パソコン/インターネット
Posted at 2022/07/28 10:50:18

イイね!0件



タグ

今、あなたにおすすめ

ブログ人気記事

違うところに目を向けて☺️
mimori431さん

愛車と出会って24年!
ヴェイルサイド フォーチューンさん

いつ降ってもおかしくない曇り空です!
kuta55さん

雨が恋しくなる。
闇狩さん

SA名古屋BAY
wakasagi29_さん

今夜 僕は、旅に出る (`・ω・´ ...
tompumpkinheadさん

この記事へのコメント

コメントはありません。

プロフィール

「本日無事デッキバン納車されました!」
何シテル?   03/01 19:11
NaOです。よろしくお願いします。 72年式です https://nao.soarer.org/ 活動拠点 富士宮→沼津→富士宮→沼津→富士→富...
みんカラ新規会員登録

ユーザー内検索

<< 2025/4 >>

  12345
6789101112
13141516171819
20212223242526
27282930   

リンク・クリップ

[ダイハツ ハイゼットデッキバン]マルヤマキャンバス ハイゼットデッキバン荷台シート 
カテゴリ:その他(カテゴリ未設定)
2025/04/13 23:53:46
助手席レールレバー 
カテゴリ:その他(カテゴリ未設定)
2025/03/14 12:17:30
URC3 カスタム(詳細) 
カテゴリ:その他(カテゴリ未設定)
2025/01/28 15:28:37

愛車一覧

トヨタ ソアラ 10号(SUPER LIMITED) (トヨタ ソアラ)
IoTソアラ 10台目のソアラ グレード  3.0GT SUPER LIMITED ...
ダイハツ ハイゼットデッキバン カーゴくん (ダイハツ ハイゼットデッキバン)
ファミリーカー&通勤快速 ハイゼットカーゴデッキバンG 純正5速 パワーウィンドウ キ ...
トヨタ ソアラ 13号 (トヨタ ソアラ)
13号です。 1JZ-GTE、5M/T(R154)換装済 @富士宮
フォルクスワーゲン ポロ フォルクスワーゲン ポロ
社用車 通勤、データセンター用 2011年式(2011-08) 2020-04-29 ...

過去のブログ

2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation