No.1ベストアンサー
- 回答日時:
>arduinoって同時にプログラム実行できないんでしょうか。
できません。
ちなみにマルチコアなどでない限りPCでも同時に実行できるのは1つの命令が基本です。
# 最近はマルチコアも普通になってきていますが。
>例えばシリアル通信中にLチカをして通信状態確認するとか。
処理を細切れにして実行するようにスケッチを作成すれば可能です。
シリアルの受信バッファにデータがあったら1文字(1Byte)読み込んで配列に格納。なかったら次の処理へ。
時間を取得して、前回のLED点灯(または消灯)から一定時間過ぎていたらLEDを消灯(または点灯)。
シリアルからの受信データがある程度貯まったら内容判定して必要な処理を実行、
というかんじでループ中に細切れに処理していきます。
# シリアル送信も1ループ中に1文字(1Byte)だけ送信。とか。
No.3
- 回答日時:
回答が難しいですね…。
マルチコアでないので、本当に同時に、任意のプログラムを実行することは、できません。
ただし、
本当に同時に実行していなくても、数ミリ秒程度の間隔で別のプログラムを順に実行すれば人間の目には同時に見えます。
これはPCでも行っていることです。あまりArduinoでこれ(時分割マルチタスク)を行うのは一般的ではないですが、やってできないことはないでしょう。
もうひとつ、プログラムを実行するのはマイコンの中のCPUですが、マイコンにはCPU部の他に周辺機能(ペリフェラル)があります。
マイコンによってできる機能は違いますが、大抵のマイコンではシリアル通信をするとかPWMでLEDを点滅させるとかの作業がプログラムの実行と同時にできます。
No.2
- 回答日時:
arduinoのCPUは、マルチコアではないので並列処理はできません。
代わりによくあるパターンとしては、受信割り込み、タイマー割り込みなどの割り込みを使います。
割り込み処理中はメインスレッドは停止していますが、
メインスレッドからみると自分が行っている処理とは無関係に処理が進んだように見えます。
割り込み処理は、並列実行と同じような問題(2つの処理が同じ変数にアクセスする場合に
何も考えずに作るとデッドロックするなど)が発生しますが、それらに気をつけるとよいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
COM1(RS232C)とUSB仮想COMポー...
-
arduino
-
任天堂64の64 CPUの仕...
-
KBとMB
-
【有効数字について】 授業で、...
-
文字の容量(サイズ)についての...
-
KBのMB違いって
-
byteの語源
-
VBAで時間の型と計算方法教えて...
-
1Mbpsって毎秒何キロバイト?
-
改行削除の便利な方法について
-
新聞1ページは何バイトですか?...
-
GB と Gbの違いの意味
-
有効数字の計算
-
(*^_^*) キロバイトと字数の...
-
一括で、「改行」を外す方法は?
-
bpsとは一体何でしょうか?
-
ワードの改行について
-
アルファベット30文字は何バイ...
-
EXCEL 文字列分割について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでのコントロール操作
-
プログラム言語FortranとCの違...
-
組み込みCプログラムで実数型
-
命令網羅率の計算問題です
-
CPU、Z80からステート数から...
-
COM1(RS232C)とUSB仮想COMポー...
-
+=と÷=の処理速度の謎を教え...
-
MIPS と クロック周波数の換算方法
-
私は
-
アセンブリ言語で。
-
arduino
-
H8Sで割り込み発生時の飛び先ア...
-
x86系のCPUとは?
-
なぜ、i++なのか?(ものすごく...
-
CPUのHTについて教えてください。
-
処理時間の計算 PICアセンブラ
-
シーケンスプログラムについて...
-
応用情報技術者試験問題の解き...
-
VB.net2010 割り込みの共通化
-
PICマイコンのプログラムについ...
おすすめ情報