質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

1回答

1891閲覧

ESP32C3搭載基板でマルチタスク処理で再起動してしまう。

MaeharaKenji

総合スコア86

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2022/10/11 08:00

編集2022/10/12 00:13

前提

ESP32C3搭載基板でプログラミングをしています。

実現したいこと

ESP32C3に4つ程度ボタンを接続して、ボタンを押すとAWSクラウド宛に信号を送信したい。

発生している問題・エラーメッセージ

マルチタスクで動作させたところ、シングルタスクで動作させて正常だった”ボタン入力”で、ボタン入力をさせると、突然リセットがかかって再起動動作してしまいます。

シリアル出力表示しながら動作状況を見ていると、次のような出力がでていました。

ESP-ROM:esp32c3-api1-20210207 Build:Feb 7 2021 rst:0x3 (RTC_SW_SYS_RST),boot:0xb (SPI_FAST_FLASH_BOOT) Saved PC:0x40381d50 SPIWP:0xee mode:DIO, clock div:1 load:0x3fcd6100,len:0x438 load:0x403ce000,len:0x918 load:0x403d0000,len:0x24e4 entry 0x403ce000

このような不具合動作の解消方法を、ご教示の程よろしくお願い致します。

該当のソースコード

大まかに2つプログラムを作成してタスクを作成しました。

・ボタン入力
・AWSへの接続処理・接続監視

AWS接続に関するコーディングは下記のサイトを参考にしました。
ESP32をAWSに接続してみた(1) ハードウェアの製作

マルチタスクのやり方は下記のサイトを参考にしました。
ESP32でマルチコアを試す12行

C

1 xTaskCreatePinnedToCore(TASK_InputChecker, "TASK_InputChecker", 4096, NULL, 4, NULL, 0); 2 xTaskCreatePinnedToCore(TASK_AWSIotMqtt, "TASK_AWSIotMqtt", 4096, NULL, 3, NULL, 0);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2022/10/11 08:15 編集

どのボタンを押しても落ちますか?
MaeharaKenji

2022/10/11 08:54

どのボタンでも落ちる状態です。
thkana

2022/10/11 12:52

> マルチタスクのやり方は下記のサイトを参考にしました。 のリンク先にはマルチタスクの話は書かれていないような気がするのですが。 タスク内容のソースコードを示さずに一体どういう回答を期待しているのですか? とりあえずCore 0にタスクを割り当てているようですが、ちゃんと既存のタスクにも実行時間を配分しているのですか?
MaeharaKenji

2022/10/12 00:12

@thkana ご指摘いただきありがとうございます。マルチタスク参考サイトのリンク間違ってましたので修正しました。
guest

回答1

0

ベストアンサー

突然再起動する、というのは、どこかで暴走して、再起動になってしまう、ってことで、そのマルチタスク環境なるものの設定周りをしっかり確認してみよう。

特に、マルチタスク環境下のスタック容量が不足してたりすると、一発で暴走しますw

投稿2022/10/11 08:23

y_waiwai

総合スコア88163

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MaeharaKenji

2022/10/11 08:58

回答頂きありがとうございます。 マルチタスクのコード再確認してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問