X



トップページ電気・電子
256コメント84KB

ゆるPIC

0001774ワット発電中さん
垢版 |
2022/09/01(木) 00:04:29.45ID:iW1AupLt
PICマイコンでなんか作ったりとか
ゆる~く遊んじゃおうってスレです
一応、他人をこき下ろすような発言は禁止
どうしてもって場合は、どうしてそう思うのかまで書くこと

すんません、ゆるAVRの1さんのコピペですm(_ _)m
PICなんてコピペばっかりなんだからええやろ
0078774ワット発電中さん
垢版 |
2022/10/22(土) 13:29:55.89ID:zPoxAHqn
>>76
それ全部Cで書けると思います。
今さらアセンブラって、何か意味あります? (ひろゆき)
0079774ワット発電中さん
垢版 |
2022/10/22(土) 14:02:46.03ID:K5DlG7ow
アセンブラ自体は意味ある。
「全部アセンブラて組め」はナンセンス。
0081774ワット発電中さん
垢版 |
2022/10/22(土) 18:17:19.69ID:zPoxAHqn
MCCでタイマ割込をセットして、出来上がった割込に書き込むだけで動くと思うけど。
アセンブラにしないと間に合わない処理なら、クロック上げるか、PICの品種を変えれば良い。
アセンブラの割込というのも確かに意味不明。
0082774ワット発電中さん
垢版 |
2022/10/22(土) 19:36:49.43ID:EanPHeqo
>>78
意味あります?って >>75様が Cがわかんないと仰っとるのだから
アセンブラがわかるのなら 無理してCで書くことにこそ 意味あります?
0083774ワット発電中さん
垢版 |
2022/10/22(土) 22:23:19.02ID:7iEdrsVN
>>75は何なら分かるんだろう。それは書いてないんだな。Basicだったりして。
0086774ワット発電中さん
垢版 |
2022/10/23(日) 15:49:13.39ID:WInVIwcF
>>75はタイマーの使い方がわからん、って言ってるぐらいだから、PICでほかの何かはできてる。
0088774ワット発電中さん
垢版 |
2022/10/23(日) 18:25:52.11ID:mrTPWvHF
>>87
ここは「ゆるPIC」スレ
「必須とか絶対」みたいな事は捨ててゆるく使えばいいと思うの\(^o^)/
つまりMCCで設定を済ませて、他人のソースをコピペして、よくわからないけど動いたからヨシ!
0089774ワット発電中さん
垢版 |
2022/10/23(日) 19:29:18.95ID:vEDHOy2V
>>87
そりゃ、Cからアセンブラに変換するからな。まあ、いきなりマシン語でもいいとは思うが。
0090774ワット発電中さん
垢版 |
2022/10/23(日) 20:25:26.07ID:SGjjkuyU
だまされるな
>>87は「Cを作る人」のことを言ってるんだぞ
「Cで作る人」じゃないぞ
0091774ワット発電中さん
垢版 |
2022/10/23(日) 21:12:49.80ID:IcjENw5P
ゆるいの必須
絶対ゆるゆる
0092774ワット発電中さん
垢版 |
2022/10/23(日) 21:13:05.06ID:vEDHOy2V
>>89 はCコンパイラを作る人のことのつもりだったんだが。
YACC の知識のほうが重要だな。
0093774ワット発電中さん
垢版 |
2022/10/23(日) 21:24:58.76ID:E0LEq7A8
割り込みと関数コールのスタックの使い方が違う場合はアセンブラを使うか割り込みに特化した関数コールが必要だろ。
x86でもinterrupt修飾子が用意されたしな。
0094774ワット発電中さん
垢版 |
2022/10/23(日) 21:26:36.82ID:Id/TJYpF
うんこがゆるいんです。
0096774ワット発電中さん
垢版 |
2022/10/23(日) 21:59:17.62ID:IcjENw5P
>>94
肛門「よし、通れ!(^p^)」
0098774ワット発電中さん
垢版 |
2022/10/24(月) 11:23:40.91ID:sHmgxjE0
C言語はC言語で作られたとかよく言ってたな
0099774ワット発電中さん
垢版 |
2022/10/24(月) 17:28:10.55ID:189X6Obl
cでcを作る方法
他の言語でcコンパラを作る
cでcコンパイラを書いてcソースをコンパイルする
cで作ったcの出来上がり

さらにできたcで自分自身のソースをコンパイルすると
自分自身で書いたcができるというのはオマケ
0100774ワット発電中さん
垢版 |
2022/10/24(月) 18:40:32.56ID:ntVcfCmW
マシンコードを実行するCPUではなくて、たとえばVTL系言語などの文字列を取り込んで
直接に実行、処理するCPUとかあれば面白いな
マシンコードに翻訳するアセンブラもコンパイラも不要になる
0101774ワット発電中さん
垢版 |
2022/10/24(月) 18:40:53.30ID:ntVcfCmW
マシンコードを実行するCPUではなくて、たとえばVTL系言語などの文字列を取り込んで
直接に実行、処理するCPUとかあれば面白いな
マシンコードに翻訳するアセンブラもコンパイラも不要になる
0102774ワット発電中さん
垢版 |
2022/10/24(月) 19:21:13.69ID:189X6Obl
>>101
JAVAバイトコードを直接実行するCPUとか一時話題になってたけど
流行んなかったね
0104774ワット発電中さん
垢版 |
2022/10/25(火) 06:44:14.16ID:js/yhmGG
>>102
ARMの大半に付いてるから空気化しただけ。
0106774ワット発電中さん
垢版 |
2022/10/25(火) 10:31:31.50ID:ms+zkGQ+
>>101
それらの言語のインタプリタをC++で書いて
System-C化して、高位合成でRTLに変換して
FPGAにでも書き込んでやればOK。
0107774ワット発電中さん
垢版 |
2022/10/26(水) 08:32:33.43ID:PsDO+9VY
なんか画期的なコンピュータが出現しないかな
アホみたいにプログラをシコシコ書かなければいけないノイマン型はもう飽きた
0108774ワット発電中さん
垢版 |
2022/10/26(水) 08:51:38.85ID:8WMyETrh
そうか、ノイマン型がお嫌いか。

そんな君に朗報だ! 僕らが大好こPICさんは
ハーバードアーキテクチャらしいぞ? しらんけど(^p^;
0110そういえば
垢版 |
2022/10/26(水) 11:23:34.86ID:8WMyETrh
算盤 いず ざ でぃじたる こんぴゅーてぃんぐ つーる。

計算尺 いず ざ あなろぐ こんぴゅーてぃんぐ つーる。

モーター駆動で円形計算尺をがしゃこんがしゃこん回す機械があれば
どういうあつかいなんやろな?しらんけど(^p^;
0113774ワット発電中さん
垢版 |
2022/10/26(水) 13:25:53.54ID:8WMyETrh
>>111 そうなのか?なら すてっぴんgもーたーで

>>112 ははは こやつめ ははは(^p^)

もし本気で仰ってるのならノイマン型の定義(の紹介)よろすこ
0115774ワット発電中さん
垢版 |
2022/10/26(水) 14:19:08.23ID:8WMyETrh
まじまじ(^p^)
0116774ワット発電中さん
垢版 |
2022/10/26(水) 20:37:16.83ID:TiR0bz7B
ノイマン型コンピュータとはいわゆるストアードプログラムコンピュータのこと。
どこかに記憶されたプログラムをバスを通じてCPUに読み込んで実行するやつ。
ハーバードアーキテクチャーのように命令用のバスとデータ用のバスが分かれているとかわかれていないとかは関係ないのじゃ

一方非ノイマン型とはその名の通りノイマン型じゃないやつを言う…ってオイ!
非ノイマン型の例としてはニューロコンピュータや量子コンピュータのようなものをいう…んだそうだ、どっちも知らんが

要するに「ハーバード型かそうでないか」と「ノイマン型か非ノイマン型か」は次元大介とは違うので一緒に語ってはいけない…そうだ
0117774ワット発電中さん
垢版 |
2022/10/26(水) 23:11:35.33ID:0y/RASyo
だいぶ前にどっかのスレで議論になってたけどノイマンというといろいろなとらえ方を
される可能性があるから最初からストアードプログラム方式といえば間違いないんじゃね
というような結論だったような
0118まじか(^p^;
垢版 |
2022/10/27(木) 09:21:08.19ID:tAi9Ox5N
なるほどつまり、PICをふくむはーばーどあーきてくちゃには
ノイマンボトルネックが無いんや!とおもってたけど、それは過大な評価で、
ノイマンのボトルネックを緩和抑制しているだけ、ってことか・・・ 勉強になりました(ぺこり
0119774ワット発電中さん
垢版 |
2022/10/27(木) 09:47:33.28ID:32sjI4XE
まずはノイマンボトルネックが何を意味しているかの定義が必要
0120774ワット発電中さん
垢版 |
2022/10/27(木) 10:17:38.03ID:tAi9Ox5N
それにはまず、
クラインの壺
ノイマンの壺
サクラダの壺
を見分ける必要があるな・・・ しらんけど(^p^;
0121774ワット発電中さん
垢版 |
2022/10/28(金) 08:14:26.33ID:5AHoLm6c
プログラムとデータのバスを分ければ命令の先読みができるので
特別な工夫無しで実行速度が2倍になる
AVRの1クロック1命令実行がそれ
0122774ワット発電中さん
垢版 |
2022/10/28(金) 15:16:20.84ID:oKmN2MoF
ググってみたら、そうだったのか。いまやPICだけじゃなくて
AVRやSTMにも採用されてたんやね、そっちはしらんかったわ;
0123774ワット発電中さん
垢版 |
2022/10/30(日) 09:23:57.72ID:QdsYx7Tk
「いまやPICだけじゃなくて」
AVRでさえPICの何年も後に作られたのに。。。
0124774ワット発電中さん
垢版 |
2022/11/06(日) 05:10:19.97ID:uMY28ObE
マルチタスクが動かないマイコンは<周辺Peripheral 入出力I/O 制御装置Controller>です。
システム制御装置ではありません。
そう思いませんか?
0125774ワット発電中さん
垢版 |
2022/11/06(日) 08:43:09.68ID:8AJMpV6w
[システム制御装置]かどうかは使い方で決まるのであってマルチタスクかどうかは関係ないから
0127774ワット発電中さん
垢版 |
2022/11/06(日) 12:09:33.02ID:euXSqigl
マルチタスクでは作業の種類(タスク)別に分離、独立してプログラムを書けばいいので
→プログラムが単純、明確になる。
→開発時間が短かくなり、バグが入り込む可能性が少なくなる
0128774ワット発電中さん
垢版 |
2022/11/06(日) 12:18:51.90ID:euXSqigl
ま、たで食う虫も好き好きで、
沢山の「割り込みとポーリングでスパゲティ状態」でもいいんだけどねw
0131774ワット発電中さん
垢版 |
2022/11/07(月) 10:30:17.74ID:IrrEGC6t
たかが割り込みでポーリングさせるだけのことで
スパゲッティ状態になるという頭って脳細胞があるのか?
0132774ワット発電中さん
垢版 |
2022/11/07(月) 10:35:25.49ID:XOhbJbjU
万年初心者のディスパッチャ君の相手をするだけ時間の無駄
0133774ワット発電中さん
垢版 |
2022/11/07(月) 15:00:46.96ID:sMxcZLvM
ぼくはナポリタンすこ(^p^)
PICと関係なくて悪いが、ラーメンスープでスパゲッティを
スープスパ的に喰うのも独特の歯ごたえで美味しいぞ!!
0134774ワット発電中さん
垢版 |
2022/11/07(月) 18:28:36.56ID:11kUInBY
>>131
そもそもプログラムが簡単なら流しソーメン状態なので、
どうやってもスパゲッティ状態にはなりませんネw
割り込みが沢山、ポーリングも沢山、という状況でないなら
マルチタスクにする必要はありません。
ところで
「割り込みとポーリング」はたまにやるけど、
「割り込みでポーリング」はあまりやらないな、割り込みの意味が無くなると思う、

>>133
我が家ではレンジでスパゲティをゆでられる台所用品を買ってから
食卓にスパゲティが登場する機械がものすごく増えた。
スパゲティは簡単にも複雑にも調理できるのが良い。
私が一番よく作るのは、ニンニク+ベーコン+唐辛子。
0135774ワット発電中さん
垢版 |
2022/11/07(月) 18:41:08.69ID:ZSwNk+TK
割り込みが沢山、ポーリングが沢山だろうが
スパゲティにはならんな

行儀が悪いのを承知でCPUパワーやリソースを節約
なんてのが昔はあったけど
今は特殊な場合だけ

割り込みをトリガーとしたポーリング
まあ普通にあるんじゃない

パスタならサイゼリヤ
安くてうまい
0136774ワット発電中さん
垢版 |
2022/11/07(月) 21:26:12.56ID:W8pkfzuv
前に書いたようにマルチタスクを使うメリットは十分にあると思うけど(>>127
なんでそんなにマルチタスクを嫌うんだろ?
天才プログラマには、私みたいな低レベルプログラマ向けの低レベル道具(マルチタスク)は要らない、
シングルタスクで十分って事なんだろうな、素晴らしい! 羨ましい! 私もそうなりたい!
ってことでそろそろ寝るかなw
お付き合い、ありがとうございました。
0137774ワット発電中さん
垢版 |
2022/11/07(月) 23:22:00.63ID:ZSwNk+TK
マルチタスクは以下のような欠点がある

余分なCPUパワーやリソースを使う
再現性の悪いバグが発生しやすい
プログラミングスキルが必要
デバッグしにくい
0139774ワット発電中さん
垢版 |
2022/11/07(月) 23:31:08.56ID:zaf7iWvY
>>136
OSを推している人がOS使っていない人に対してOSのメリットしか書かないなら議論にならない。

OSを使うことにメリットしかないなら、MCCが生成するコードはかならずOS込みになるか、
最低限OSを使うオプションがかならず入るはずなのは、誰もがわかる話。

採用されたり採用されないモノには、必ずデメリットがある。
推す人がデメリットを客観的資料を提示して説明しないのは、不誠実で、自分の意見で相手を
丸め込もうとしているのだと、まともな市民なら子供のときから教えこまれているはず。

「デメリットは自分で見つけろ、情弱は俺のカモだ」は、ふとんやマンション投資、鍋、化粧品などの悪質セールスの基本的態度。

OSを推している人はOS使っていない人に対してOSのデメリットを説明しないと。
0141774ワット発電中さん
垢版 |
2022/11/08(火) 06:57:36.43ID:NDQ+oXfd
MCUのソフト業界では
マルチタスクのタスクは
マルチタスクOSのタスクを指すわけだけど
0142774ワット発電中さん
垢版 |
2022/11/08(火) 08:15:24.50ID:rEN7P4Tg
>>140
>>127のメリットを享受するのにOSなしでできるのかな?

>>127>>136が言ってるのはマルチタスクであって、
「ふつうの英単語としてのタスク(仕事)」を「ふつうの英単語としてのマルチ(複数)」にこなす
という意味じゃないよね。

後者の意味なら、どんな組み方であっても、「LEDちかちかさせて、モーターをON/OFFさせたら、マルチなタスクだ」ってなりそう。

LEDをちかちかさせるだけのプログラムを書く(ほかはさしあたり知らんでも可)
モーターをON/OFFさせるだけのプログラムを書く(ほかはさしあたり知らんでも可)
これをひとつのマイコン上で動作させることができるのがマルチタスクの一面で、>>127に書かれているメリットだし。

その場合はOS(最小限タスクの切り替えをしてくれるもの)が前提になると思うんだが。
0143774ワット発電中さん
垢版 |
2022/11/08(火) 08:20:48.04ID:cXOnmTJ2
お早うございます、
リアルタイム処理が要求される機械制御でマルチタスクを使う意味は大いにあると思っているけど、
賛同者が一人もいないのは残念!
しつこいと言われそうだけど、例のタスク数2個のサンプル上げときます。
このtiny2313で書いたタスク切り替えのオーバーヘッドタイムは1ウS程度です。
誰かPICに詳しい人がPICで書いて実現してくれると、マンモスうれぴーw
https://pastebin.com/ZYFYsR3S
じゃ皆さん良い1日を!
0149774ワット発電中さん
垢版 |
2022/11/08(火) 09:05:44.10ID:tv4N72ol
>>137
彼の言うマルチタスクとはコンテキストスイッチもプリエンプションも同期も何も無い、ただのディスパッチ。
会話が成り立たないので諦めろ
0150774ワット発電中さん
垢版 |
2022/11/08(火) 09:07:28.60ID:+E6Lpa/7
>>143
機械制御で1万個の内部リレーを使ったプログラムは
タスク数1万個のマルチタスクかね?
あれも上から順に処理してるだけだけど?

ゲームで1万個のキャラ処理してるのと同じことしてるだけ
それしながら音楽鳴らしたり背景動かしたりやれてんだよね
音楽ってリアルタイム再生だけど、余裕でやれてるわな
0151774ワット発電中さん
垢版 |
2022/11/08(火) 09:13:21.29ID:CUrm+a9Q
もしここが PICの限界を究めんと欲すガチPICスレ であるのならば
そして マルチタスクをスタック深度やメモリ空間の限られたPIC8bit系で
いかに実現するか?という問題提起であるのならば面白い話題だろうとは思う。

しかし ゆるゆるお気楽にPICで遊ぼうぜ!というゆるPIC スレで
他のマイコン持ち出してマルチタスクの喧伝という言動に関しては
次のリアクションも致し方ないというものだろう・・・

       何    言    っ    て    ん    だ    こ    い    つ


                       / ̄ ̄ ̄ ̄\
                      /;;::       ::;ヽ        ,,ト、,, ,,ィ ,ィ
         ____ .         |;;:: ィ●ァ  ィ●ァ::;;|   _,,-;" '' ゛''" ゛';__
         /     \          |;;::        ::;;|   .ヽ/""゛゛''`';, ノr´)
      /   ⌒  ⌒ \      |;;::   c{ っ  ::;;|  .,;'゛/__   _ "iヽ;ミ
    /    (●)  (●) \       |;;::  __  ::;;;|  ,,'"|( d  /oノ ド゛ `ミ
     |   、" ゙)(__人__)"  ).    ヽ;;::  ー  ::;;/ r ";,| ▼    ド゛ `ミ
    \      。` ⌒゚:j´ ,/ j゙~~|    \;;::  ::;;/  (`ヽ';ヽ_人__ノ  /  ,,ミ゛、
 __/          \  |__|     .|;;::  ::;;|    ヽ、 '';,i⌒⌒  /   リ  ヽ、
 | | /   ,             \n||| | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|/` ィ'r`''''""´  ,,ミ゛    |
 | | /  ./   ∩∧__,∧ ♪ ( こ| |             |\♪  ∧__,∧∩  .i    |
 | | | ⌒ーn ヽ( ^ω^ )7 \ (⊆.| |             | | i`( ^ω^ )ノ  |   |
  ̄ \_、 ./`ヽJ   ,‐┘ ̄ .  | |             | ̄ └‐、   ィ^.、 ´   ノ ̄ ̄ ̄ ̄
        ´`ヽ、_  ノ 二二二lニ|_|___________|      ゝ  _,r`  ,/
 .    ♪ 彡  `) ).        |_|___________|       ( (´ ♪ ミ
0154774ワット発電中さん
垢版 |
2022/11/08(火) 12:34:09.24ID:uuqeZU8O
PICにマルチタスクOSを実装する事を考えるよりも
まずは小規模MCUの一般的なソフト構造を勉強するべきだと思うんだけどねえ

全く進歩がないディスパッチャ君
0155774ワット発電中さん
垢版 |
2022/11/08(火) 19:33:41.96ID:ZmZHDFJA
どうも、毎度お騒がせのディスパッチャ君です
「8ビットPICでもマルチタスクを実現してほしい、マルチタスクは役に立つし、
 サンプルを見れば分るように簡単に作れるから」
という私の提案は今回も見事に賛同者ゼロで、否定、批難、罵倒の嵐でしたねぇ、
残念・・・w

ところで
アセンブラにifやmacroが無くても、アブソリュートであっても、
「これはアセンブラです」と言えるための最低限の持つべき機能があると思う。
では同じように「これはマルチタスクです」と言える最低限の機能は何か?
寝る前にじっくりと考えてみたい。

追伸:今夜はピラフ、バターチキンカレー、コーンスープ
もう完成しているので、後は盛り付けるだけ
0156774ワット発電中さん
垢版 |
2022/11/08(火) 20:17:37.77ID:EUMJHSlM
タスク優先度
イベント(ISRからセット可)
ミューテックス
タイマー
マルチタスクに対応した標準ライブラリ
マルチタスクに対応したデバッガ

最低限このくらいはほしい
0157774ワット発電中さん
垢版 |
2022/11/09(水) 08:57:29.35ID:HyxBm58n
推奨推薦がメリットだけを並べるのは詐欺師と同じ。
現在の普及度を合理的に説明できるだけのデメリットを説明してないと信用できない。
0158774ワット発電中さん
垢版 |
2022/11/09(水) 09:16:19.03ID:M6J/RTyG
実際使われてないんだからデメリットの方が大きいと考えるのが自然
デメリットはたとえば>>137

ディスパッチャ君はせめて実用的な道具が揃ってから布教しなさい
ディスパッチャだけで布教は無理だよ
0159774ワット発電中さん
垢版 |
2022/11/09(水) 09:58:10.76ID:jOv7Sp+y
OS任せでマルチタスクやらせても
何msごとに必ず処理してくれるのかわからんし
それが音楽演奏だったらたった64分音符一つ抜けたり、引き延ばされたりしても致命的ミス

自分でポーリングするなら実行にいくら時間がかかるかまで考慮して実装できるが
OS任せでそこまできめ細やかに指定できないだろう?
ただ最大の優先度っつっても、100秒処理して1秒休みとかの意味で処理されても困るんだよ
0160774ワット発電中さん
垢版 |
2022/11/09(水) 10:01:58.40ID:M6J/RTyG
恥ずかしいからRTOSをもう少し勉強してから書き込みなさい
0161774ワット発電中さん
垢版 |
2022/11/09(水) 11:13:34.15ID:jOv7Sp+y
RTOSでなくマルチタスクOSの話だが?
両者はイコールでも何でもない
0162774ワット発電中さん
垢版 |
2022/11/09(水) 11:30:53.19ID:eLWEw87o
つってもなぁ・・・マルチタスクを喜ぶ用途がどういうものなのかぼくにはまだピンとこないけど
現状ダイレクトにアクセスしている入出力資源を
いちいちセマフォとか使って排他制御するの
面倒がふえるだけじゃねえん? しらんけど(^p^;
0165774ワット発電中さん
垢版 |
2022/11/09(水) 14:00:03.17ID:eLWEw87o
リアルタイムを謳わないなら別にコンテクスト切り替えなんて
三十秒に一回でも30分に一回でも 別にいいんじゃね?(はなほじ ^p^;
0167774ワット発電中さん
垢版 |
2022/11/09(水) 14:40:31.62ID:eLWEw87o
いくらここがゆるゆるガバガバのゆるPICスレだとはいえ、
タスクディスパッチ頻度が三十年に一度とかだと流石にどうかとは思う・・・しらんけど(^p^;
0168774ワット発電中さん
垢版 |
2022/11/09(水) 15:41:10.38ID:4mIITAIT
素朴な疑問で割り込みの途中に割り込みって掛かるの?
だとするとレジスタはSRAMにスタックみたいにして保存して割り込み復帰とかするの?
そうすると多重割り込みになるとRAMの少ない子とかつらくない?
0170774ワット発電中さん
垢版 |
2022/11/09(水) 15:51:55.64ID:eLWEw87o
>>168
石の設計による。
日立のみたいに割り込み自体にレベルがある石もある。

>>169
これから頑張って勉強するのでお勧めのエロ本教えてください(^p^;
0171774ワット発電中さん
垢版 |
2022/11/09(水) 15:53:09.33ID:wSvV6Nm7
>>168
「多重割り込み」で検索して
PIC16までは多重割り込み不可

8bit PICは普通のスタックがなく
割り込み時の動作も非常に特殊
0172774ワット発電中さん
垢版 |
2022/11/09(水) 15:57:57.31ID:ugqVgEB4
時分割スパゲッティを毎回書いてると
めんどくせえからOSでやってくれんかなって思うようになるな
0174774ワット発電中さん
垢版 |
2022/11/09(水) 16:06:26.98ID:wSvV6Nm7
>>172
流用性を考えないコードだから毎回書かなきゃならないんじゃ?
時分割スパゲッティてのも何だかわからんけど
0176774ワット発電中さん
垢版 |
2022/11/09(水) 16:22:39.20ID:3SGIE/Ga
windowsはマルチタスクOSだ
だがアプリ複数立ち上げてまともに動かない
レスを投稿する


ニューススポーツなんでも実況