chrmlinux03 が 2023年12月01日16時06分21秒 に編集
初版
タイトルの変更
RP2040のsetup1/loop1が素敵なので SPRESENSE にも実装してみたよっ
タグの変更
SPRESENSE
Arduino
multicore
Library
メイン画像の変更
記事種類の変更
セットアップや使用方法
ライセンスの変更
(MIT) The MIT License
本文の変更
# はじめに お久しぶりです リナちゃん@chrmlinux03 です SPRESENSE っていうマイコンが数年前から賑わっているんですけど MultiCore とかの表記がちょっと面倒、さらにtheSD/theAudioとかが MainCore でしか動かないのね まぁ一個のデバイスを複数のCPUで使うには色々問題が.... でも RP2040の表記方法は楽ですから ここは MultiThread で逃げましょう 音楽を鳴らしながら動画が表示出来ちゃうかも # RP2040の実行例 ![rp2040 sample](https://camo.elchika.com/c9db3538acf1b7c61d1e83c93d90bc1d849e3bee/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f64393435326530642d343737382d346539322d386333372d653831383764623761366334/) ++悲しい事に Arduino IDE ボードマネージャー > Rasberry Pi RP2040 Board > Rasberry Pi Pico を選択しないとこの機能は使え無い++ # うーん SPRESENSEで使えるライブラリがあったらなぁ んぢゃこれ SPRESENSE にも同じような記述方法があれば Lチカとか楽になりそ いや劇的に楽になるでそ # 前提条件 とにかく MainCore だけでささっと書けるけるようなマルチスレッド # 実装開始 実験的に 2つの TasK を動かしてみる ++ライブラリは、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。ライブラリと呼ぶときは、それ単体ではプログラムとして動作させることはできない、つまり実行ファイルではない場合がある。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言える。 wikipedia++ # 完成形 ```c++:1st.ino #include <tinyCore.hpp> static tinyCore tc; void setup(void) { Serial.begin( 115200 ); while(!Serial); tc.begin(); // thread0 で実行したい初期化を記述 } void loop(void) { // thread0 で実行したい内容を記述 delay(1); } void setupN(void) { // thread1 で実行したい初期化を記述 } void loopN(void) { // thread1 で実行したい内容を記述 delay(1); } ``` ++**導入方法** [github tinyCore](https://github.com/chrmlinux/tinyCore) もしくは ライブラリーマネージャーから 'tinyCore' で検索 ※現在は反映されてません💦++ # 動作例 ![キャプションを入力できます](https://camo.elchika.com/701e6d96442e6b9b6f81f649858a93a12b2e5710/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f31666536313037352d663664662d343434642d613765362d656436313231663533646634/)![キャプションを入力できます](https://camo.elchika.com/e0473a5ec0100d215269f9e11d8a46010fddfcbd/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f62303665663639622d376237662d343130362d623733392d326535396137666661343264/) Arduino IDE を使い SPRESENSEでLチカをなさっている方々 さらに上のスーパLチカを目指して 是非こちらをお使いくださいませっ よろしくお願い申し上げます