ゆるPIC
PICマイコンでなんか作ったりとか
ゆる~く遊んじゃおうってスレです
一応、他人をこき下ろすような発言は禁止
どうしてもって場合は、どうしてそう思うのかまで書くこと
すんません、ゆるAVRの1さんのコピペですm(_ _)m
PICなんてコピペばっかりなんだからええやろ DIPの877は 雪だるまの眉に最適(^p^) ホールド感半端ねぇ(想像です) 窓付きPICってもうなくなったかな?
UV-EPROMの窓付きはまだ見かけるけど小さいDIPの窓付きってほとんどないよね
何年か前にどっかで投げ売りしてたから2~3個買ったけどどこにしまい込んだか・・・ >>7
Digikeyで、PIC16で検索してセラミックDIPパッケージで絞り込んだら写真がぞろぞろ出てくるね。
製造中止ばかりだけど。 >>6
大丈夫だよ。いつも遅れて出してたから
催促されるんだけど強制じゃないしね >>8
100均で炎が燃えてるようなランタンあるけどあれはかなりチープな光り方であんまり炎には見えなかったな
100均じゃないやつで結構リアルな光り方してるのがあるみたいだけどあれの点滅パターンとか考えたら? 点滅パターンはいろいろあって好みもあると思うけどオレ的にはこんな感じがリアルに見えていいかと
https://www.youtube.com/watch?v=kAZRRgKf1p8 順送り点滅Lチカはゆるいけど
複数LEDをそれぞれ制御するとゆるくなくなるな 直にLED制御というアプローチがPIC向き課題かもしれんが
光ファイバーの導光菅と 複数経路のを適宜 遮断制御というアプローチも面白そう。
フェイク炎という意味では、布を照らして送風して
布の変形で炎の揺らめきを再現という既製品を見たことがあるが アレも見事だった。PIC要素はなさそうでこのスレ的にはアレだが; >>8
ピックの足が、金メッキのは無いのかな・・・
最近ピカールにはまってて真鍮部品とか磨いて遊んでる
昔のコンセントとか真鍮の奴(偽金メッキの奴)、ホントピカピカになってわらう
ほんますごいな>ピカール (アクリサンデーのアクリル研磨剤でも代用可) 古いBNC端子のニッケル焼けも綺麗に白銀状態になる おもろー(^p^)!! ピカールはドロドロ状態だから、使用後ちゃんと拭き取れたかどうか、
凹凸隅っこに残っていないかどうかが心配。 秋月で売ってる静電容量性土壌水分センサを応用して
PICで拭き残り判定キットをだな・・・
しかし静電容量って土壌水分とどう関係するんだ?
土壌中で周囲が湿ると透磁率や誘電率が変わって
実効の電極さいずが大きくなって容量が増えるのかな;しらんけど
もしそうならピカールが残っても電極サイズ変わらんだろうから拭き残りは測れんか;ぐぎぎ PicKitが今みたいに純正/中華その他選び放題じゃなかった頃秋月でPicProgrammerのキットが出てた
オマケで付いてたのが16F84Aと12C509Aだった、16F84Aのほうはいいとして12C509Aってワンタイム1個だけオマケででどうしろと…って思った そのワンタイム品に珠玉の機能を込めて稼働させるのがその入門者用キットの卒業証書なんじゃね?しらんけど そのワンタイム品がもしも動かなかったら、
かわいそうにもう卒業できるチャンスは無い・・・ どうせ買い直すならワンタイム品じゃないのにすればいいのに
卒業証書だという意識だと 敢えてワンタイム品えらぶのかな・・・ ぴーっく ピック ピック PIC Camera
デジカメ 作った人おらんかな(^p^) ぼくがつかってたころは877ちゃんが人気だったかな。
日本語のマニュアル迄あって ありがてぇ ありがてぇ と思った記憶がある MPLABIDEはシミュレーターが実装されていて
焼く前にデバッグできたのが 当時としては とてもありがたかった
XIDEとか最近の競合製品の統合開発環境がどうなってるのか、
ぜんぜん知らんのよな(^p^; 勉強不足でサーセン PICで将棋の駒を作る。例えば歩。
敵陣に切り込み ときん に変わる。
成ると戻れない つまり ワンタイム品 > ときん に変わる。成ると戻れない
8ビットCPUが16ビットに変るようなもんだから
戻る必要も目的も意味も無いのでは? >>34
詰め将棋、全くやらないわけでは無いけど、
(昔、アマ2級か3級だな、と強い相手に評価された事があります)
成金が歩に戻りたい場合があるのは知りませんした! マイクロチップテクノロジィ社は8ビッPICとAVRのどちらに
より多くの開発予算を配分しているんだろ?
私はAVR愛好家なので、PICだったらイヤだな
コード24ビットや32ビットのAVRを発売してくれないかな
AVR特徴の1命令1クロック実行ではなくなってしまう可能性があるけど、
命令の種類がふえて「かゆいところに手が届くCPU」になると思う
誰かが希望していたEORI命令も10進演算命令もレジスタ複数組みの選択も
メモリアドレッシングの種類も追加されたら、
さらにはtinyにDMAまでもが追加されたら
私はマンモスウレピーぜぃ、少しぐらいの測定低下は特に赦すw そういう意味で言ってるんじゃないんだろうけどw
成ると詰まないとかもあるじゃない、ということは戻りたいもあるんじゃない? 歩が敵陣で一マス進んで金に変ると詰まないけど、歩のままだと詰む、ですか?
私の想像の範囲を越えています、勉強します >>38
詰まないというか・・・
詰将棋だと、コマが余っちゃいけないじゃない
成って即づめしちゃうと余っちゃうよ~ってときに
逃しといて、最後のコマで詰めるとかやらない? EROI命令についてkwsk(^p^) (せつこそれエロちゃう、EORIや!) そういえば、ホイチョイの大人入門とかいうHowTo本だったかな、
口を開くとバカだとバレる! だから、黙っておっぱいを揉め!というノウハウが記されていた。
そのようなお金を出さないと読めなかったような知恵を
ロハで授けて下さる>>41さま ありがてぇ ありがてぇ(^p^) 君もそうしろとは言わんけど、世の中の優秀なプログラマ諸兄の少なからぬお歴々は、
たとえCで組んでようが、それがコンパイルの末に機械コードに落とし込まれた際に
能率的な動作が可能かどうか?までをも視野に入れて 動作の段取りやら構成やらを
調和させてらっしゃるんじゃねぇかと思うず しらんけど(^p^; >>50
パフォーマンスを考えるべき所では考える
コード全体対して考えるべきコードの比率は少ない パフォーマンスが重要な部分は
細かい最適化の前にアルゴリズム、データ構造、... を徹底的に詰める
細かい最適化は一番最後
必要であればSIMD, Intrinsic, アセンブラ, 多スレッド, GPU ...を駆使する OSから作ってたアセンブラの天才たち
MS-DOSやN88-DISK BASICが10秒くらいかけて起動してたものを
1秒でタイトルと鐘の音鳴らして起動させてた
瞬時に読めるだけの少ないデータに収める圧縮技術と
フォーマット変えてドライブアクセスの効率化までやってた 98だと16色しか表示できないハードウェアだろうに
タイムシェアリング(意味違うw)して時系列の加法混色で
疑似256色表示させる人もいらっしゃたし昔は不自由な中にも輝きがありましたなぁ・・・ 小さな制御用CPUのプログラミングにCが使われるようになったのが堕落の始まりじゃないか?
アセンブラが最適だと思うけど(開発に時間がかかるとかメンテナンス性が悪いとかいう頭の悪い奴は放っといて)
せめてFORTHだったらもう少し制御対象の機械よりだったのに (BGM オリーブの首飾り)
ふしぎ! 棺桶にはカギがかけてあったのに!!(^p^) 人間って一度慣れ親しんだものからはなかなか離れられないよね
ぬるい風呂に入っているような感じかな
体が温まらないけど出るともっと寒そう、みたいなw 産まれてからこの方、ずっとかわいいおんなのことの良縁を求めまくっているのに
どうやらぼくは誰かさんからネグレクトされているようです(^p^; ぐぬぬ >>56
まぁ、ノートに手書きしたソースコードをハンドアセンブルして
トグルスイッチでパチパチしてプログラム書き込んでいた
時代からしたらアセンブラでさえ贅沢だって感じだけどさ
まっ、今はアセンブラが使える環境があればコンパイラも動くわけだし、
どうしても必要な時はインラインアセンブラという手もあるけど、
今や最適化が進んじゃって、1クロック入魂!しても実行時間も大差ないし
労多くして功少しって感じかな SIMD命令はまだまだアセンブラやIntrinsicが有利
PICとは関係無いけど DSP命令も
演算量が多いループは効果が大きい
そういう所以外は高級言語でいい >>66
機会があるならそういうのはちょっと(最長1日とか)触ると面白いかも。 原理的には拡張メモリと作動許容時間さえ確保できるなら(無限の記憶容量と、
待ち時間無限大でいつまででも待てるのなら)チューリングマシンで
どんなコンピュータもシミュレート可能らしいで? しらんけど(^p^; そこはすちゅみぅらすふぁいるじゃね? PICスレだけに(^p^) 国を救ったのに若くして自殺して可哀想な人だったね、鬼才アラン・チューリング
思い出した、学校の先生が「ナンドがあればナンデも出来る」と言ってたw タイマーの使い方わかんねーよ
そもそもCがわかんねー。・゚・(ノ∀`)・゚・。 アセンブラの割り込みでいいじゃん
割り込み有効にして、割り込み処理内で好きな変数をカウントアップだけしてりゃいいんだよ
メインでカウント値比較すればタイマーとして無限個使える >>76
それ全部Cで書けると思います。
今さらアセンブラって、何か意味あります? (ひろゆき) アセンブラ自体は意味ある。
「全部アセンブラて組め」はナンセンス。 MCCでタイマ割込をセットして、出来上がった割込に書き込むだけで動くと思うけど。
アセンブラにしないと間に合わない処理なら、クロック上げるか、PICの品種を変えれば良い。
アセンブラの割込というのも確かに意味不明。 >>78
意味あります?って >>75様が Cがわかんないと仰っとるのだから
アセンブラがわかるのなら 無理してCで書くことにこそ 意味あります? >>75は何なら分かるんだろう。それは書いてないんだな。Basicだったりして。 >>83
bash python powershell MicroPython 使えよ。マジで。
Raspberry Pi Pico いいよ。 >>75はタイマーの使い方がわからん、って言ってるぐらいだから、PICでほかの何かはできてる。 >>87
ここは「ゆるPIC」スレ
「必須とか絶対」みたいな事は捨ててゆるく使えばいいと思うの\(^o^)/
つまりMCCで設定を済ませて、他人のソースをコピペして、よくわからないけど動いたからヨシ! >>87
そりゃ、Cからアセンブラに変換するからな。まあ、いきなりマシン語でもいいとは思うが。 だまされるな
>>87は「Cを作る人」のことを言ってるんだぞ
「Cで作る人」じゃないぞ >>89 はCコンパイラを作る人のことのつもりだったんだが。
YACC の知識のほうが重要だな。 割り込みと関数コールのスタックの使い方が違う場合はアセンブラを使うか割り込みに特化した関数コールが必要だろ。
x86でもinterrupt修飾子が用意されたしな。 >>87
必須ではない
アセンブラを経由しないコンパイラなら
>>93
でっていう cでcを作る方法
他の言語でcコンパラを作る
cでcコンパイラを書いてcソースをコンパイルする
cで作ったcの出来上がり
さらにできたcで自分自身のソースをコンパイルすると
自分自身で書いたcができるというのはオマケ マシンコードを実行するCPUではなくて、たとえばVTL系言語などの文字列を取り込んで
直接に実行、処理するCPUとかあれば面白いな
マシンコードに翻訳するアセンブラもコンパイラも不要になる マシンコードを実行するCPUではなくて、たとえばVTL系言語などの文字列を取り込んで
直接に実行、処理するCPUとかあれば面白いな
マシンコードに翻訳するアセンブラもコンパイラも不要になる >>101
JAVAバイトコードを直接実行するCPUとか一時話題になってたけど
流行んなかったね >>102
ARMの大半に付いてるから空気化しただけ。 >>101
それらの言語のインタプリタをC++で書いて
System-C化して、高位合成でRTLに変換して
FPGAにでも書き込んでやればOK。 なんか画期的なコンピュータが出現しないかな
アホみたいにプログラをシコシコ書かなければいけないノイマン型はもう飽きた そうか、ノイマン型がお嫌いか。
そんな君に朗報だ! 僕らが大好こPICさんは
ハーバードアーキテクチャらしいぞ? しらんけど(^p^; 算盤 いず ざ でぃじたる こんぴゅーてぃんぐ つーる。
計算尺 いず ざ あなろぐ こんぴゅーてぃんぐ つーる。
モーター駆動で円形計算尺をがしゃこんがしゃこん回す機械があれば
どういうあつかいなんやろな?しらんけど(^p^; >>111 そうなのか?なら すてっぴんgもーたーで
>>112 ははは こやつめ ははは(^p^)
もし本気で仰ってるのならノイマン型の定義(の紹介)よろすこ >>113
「PIC は非ノイマン型コンピュータだ」と本気で言ってるの?マジ? ノイマン型コンピュータとはいわゆるストアードプログラムコンピュータのこと。
どこかに記憶されたプログラムをバスを通じてCPUに読み込んで実行するやつ。
ハーバードアーキテクチャーのように命令用のバスとデータ用のバスが分かれているとかわかれていないとかは関係ないのじゃ
一方非ノイマン型とはその名の通りノイマン型じゃないやつを言う…ってオイ!
非ノイマン型の例としてはニューロコンピュータや量子コンピュータのようなものをいう…んだそうだ、どっちも知らんが
要するに「ハーバード型かそうでないか」と「ノイマン型か非ノイマン型か」は次元大介とは違うので一緒に語ってはいけない…そうだ だいぶ前にどっかのスレで議論になってたけどノイマンというといろいろなとらえ方を
される可能性があるから最初からストアードプログラム方式といえば間違いないんじゃね
というような結論だったような なるほどつまり、PICをふくむはーばーどあーきてくちゃには
ノイマンボトルネックが無いんや!とおもってたけど、それは過大な評価で、
ノイマンのボトルネックを緩和抑制しているだけ、ってことか・・・ 勉強になりました(ぺこり まずはノイマンボトルネックが何を意味しているかの定義が必要 それにはまず、
クラインの壺
ノイマンの壺
サクラダの壺
を見分ける必要があるな・・・ しらんけど(^p^; プログラムとデータのバスを分ければ命令の先読みができるので
特別な工夫無しで実行速度が2倍になる
AVRの1クロック1命令実行がそれ ググってみたら、そうだったのか。いまやPICだけじゃなくて
AVRやSTMにも採用されてたんやね、そっちはしらんかったわ; 「いまやPICだけじゃなくて」
AVRでさえPICの何年も後に作られたのに。。。 マルチタスクが動かないマイコンは<周辺Peripheral 入出力I/O 制御装置Controller>です。
システム制御装置ではありません。
そう思いませんか? [システム制御装置]かどうかは使い方で決まるのであってマルチタスクかどうかは関係ないから マルチタスクでは作業の種類(タスク)別に分離、独立してプログラムを書けばいいので
→プログラムが単純、明確になる。
→開発時間が短かくなり、バグが入り込む可能性が少なくなる ま、たで食う虫も好き好きで、
沢山の「割り込みとポーリングでスパゲティ状態」でもいいんだけどねw >>124
PIC18以上ならFrenRTOS動く たかが割り込みでポーリングさせるだけのことで
スパゲッティ状態になるという頭って脳細胞があるのか? 万年初心者のディスパッチャ君の相手をするだけ時間の無駄 ぼくはナポリタンすこ(^p^)
PICと関係なくて悪いが、ラーメンスープでスパゲッティを
スープスパ的に喰うのも独特の歯ごたえで美味しいぞ!! >>131
そもそもプログラムが簡単なら流しソーメン状態なので、
どうやってもスパゲッティ状態にはなりませんネw
割り込みが沢山、ポーリングも沢山、という状況でないなら
マルチタスクにする必要はありません。
ところで
「割り込みとポーリング」はたまにやるけど、
「割り込みでポーリング」はあまりやらないな、割り込みの意味が無くなると思う、
>>133
我が家ではレンジでスパゲティをゆでられる台所用品を買ってから
食卓にスパゲティが登場する機械がものすごく増えた。
スパゲティは簡単にも複雑にも調理できるのが良い。
私が一番よく作るのは、ニンニク+ベーコン+唐辛子。 割り込みが沢山、ポーリングが沢山だろうが
スパゲティにはならんな
行儀が悪いのを承知でCPUパワーやリソースを節約
なんてのが昔はあったけど
今は特殊な場合だけ
割り込みをトリガーとしたポーリング
まあ普通にあるんじゃない
パスタならサイゼリヤ
安くてうまい 前に書いたようにマルチタスクを使うメリットは十分にあると思うけど(>>127)
なんでそんなにマルチタスクを嫌うんだろ?
天才プログラマには、私みたいな低レベルプログラマ向けの低レベル道具(マルチタスク)は要らない、
シングルタスクで十分って事なんだろうな、素晴らしい! 羨ましい! 私もそうなりたい!
ってことでそろそろ寝るかなw
お付き合い、ありがとうございました。 マルチタスクは以下のような欠点がある
余分なCPUパワーやリソースを使う
再現性の悪いバグが発生しやすい
プログラミングスキルが必要
デバッグしにくい >>136
OSを推している人がOS使っていない人に対してOSのメリットしか書かないなら議論にならない。
OSを使うことにメリットしかないなら、MCCが生成するコードはかならずOS込みになるか、
最低限OSを使うオプションがかならず入るはずなのは、誰もがわかる話。
採用されたり採用されないモノには、必ずデメリットがある。
推す人がデメリットを客観的資料を提示して説明しないのは、不誠実で、自分の意見で相手を
丸め込もうとしているのだと、まともな市民なら子供のときから教えこまれているはず。
「デメリットは自分で見つけろ、情弱は俺のカモだ」は、ふとんやマンション投資、鍋、化粧品などの悪質セールスの基本的態度。
OSを推している人はOS使っていない人に対してOSのデメリットを説明しないと。 MCUのソフト業界では
マルチタスクのタスクは
マルチタスクOSのタスクを指すわけだけど >>140
>>127のメリットを享受するのにOSなしでできるのかな?
>>127、>>136が言ってるのはマルチタスクであって、
「ふつうの英単語としてのタスク(仕事)」を「ふつうの英単語としてのマルチ(複数)」にこなす
という意味じゃないよね。
後者の意味なら、どんな組み方であっても、「LEDちかちかさせて、モーターをON/OFFさせたら、マルチなタスクだ」ってなりそう。
LEDをちかちかさせるだけのプログラムを書く(ほかはさしあたり知らんでも可)
モーターをON/OFFさせるだけのプログラムを書く(ほかはさしあたり知らんでも可)
これをひとつのマイコン上で動作させることができるのがマルチタスクの一面で、>>127に書かれているメリットだし。
その場合はOS(最小限タスクの切り替えをしてくれるもの)が前提になると思うんだが。 お早うございます、
リアルタイム処理が要求される機械制御でマルチタスクを使う意味は大いにあると思っているけど、
賛同者が一人もいないのは残念!
しつこいと言われそうだけど、例のタスク数2個のサンプル上げときます。
このtiny2313で書いたタスク切り替えのオーバーヘッドタイムは1ウS程度です。
誰かPICに詳しい人がPICで書いて実現してくれると、マンモスうれぴーw
https://pastebin.com/ZYFYsR3S
じゃ皆さん良い1日を! >>139で条件付で議論に賛同してるのにな。今は説明が足りない状態。 >>143
それは OS なのか、OS ではないのか?
143 の意見は? >>137
彼の言うマルチタスクとはコンテキストスイッチもプリエンプションも同期も何も無い、ただのディスパッチ。
会話が成り立たないので諦めろ >>143
機械制御で1万個の内部リレーを使ったプログラムは
タスク数1万個のマルチタスクかね?
あれも上から順に処理してるだけだけど?
ゲームで1万個のキャラ処理してるのと同じことしてるだけ
それしながら音楽鳴らしたり背景動かしたりやれてんだよね
音楽ってリアルタイム再生だけど、余裕でやれてるわな もしここが PICの限界を究めんと欲すガチPICスレ であるのならば
そして マルチタスクをスタック深度やメモリ空間の限られたPIC8bit系で
いかに実現するか?という問題提起であるのならば面白い話題だろうとは思う。
しかし ゆるゆるお気楽にPICで遊ぼうぜ!というゆるPIC スレで
他のマイコン持ち出してマルチタスクの喧伝という言動に関しては
次のリアクションも致し方ないというものだろう・・・
何 言 っ て ん だ こ い つ
/ ̄ ̄ ̄ ̄\
/;;:: ::;ヽ ,,ト、,, ,,ィ ,ィ
____ . |;;:: ィ●ァ ィ●ァ::;;| _,,-;" '' ゛''" ゛';__
/ \ |;;:: ::;;| .ヽ/""゛゛''`';, ノr´)
/ ⌒ ⌒ \ |;;:: c{ っ ::;;| .,;'゛/__ _ "iヽ;ミ
/ (●) (●) \ |;;:: __ ::;;;| ,,'"|( d /oノ ド゛ `ミ
| 、" ゙)(__人__)" ). ヽ;;:: ー ::;;/ r ";,| ▼ ド゛ `ミ
\ 。` ⌒゚:j´ ,/ j゙~~| \;;:: ::;;/ (`ヽ';ヽ_人__ノ / ,,ミ゛、
__/ \ |__| .|;;:: ::;;| ヽ、 '';,i⌒⌒ / リ ヽ、
| | / , \n||| | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|/` ィ'r`''''""´ ,,ミ゛ |
| | / ./ ∩∧__,∧ ♪ ( こ| | |\♪ ∧__,∧∩ .i |
| | | ⌒ーn ヽ( ^ω^ )7 \ (⊆.| | | | i`( ^ω^ )ノ | |
 ̄ \_、 ./`ヽJ ,‐┘ ̄ . | | | ̄ └‐、 ィ^.、 ´ ノ ̄ ̄ ̄ ̄
´`ヽ、_ ノ 二二二lニ|_|___________| ゝ _,r` ,/
. ♪ 彡 `) ). |_|___________| ( (´ ♪ ミ >>149
ディスパッチャ君の事は知ってます
>>137は特定の誰かに向けた書き込みではないです PICにマルチタスクOSを実装する事を考えるよりも
まずは小規模MCUの一般的なソフト構造を勉強するべきだと思うんだけどねえ
全く進歩がないディスパッチャ君 どうも、毎度お騒がせのディスパッチャ君です
「8ビットPICでもマルチタスクを実現してほしい、マルチタスクは役に立つし、
サンプルを見れば分るように簡単に作れるから」
という私の提案は今回も見事に賛同者ゼロで、否定、批難、罵倒の嵐でしたねぇ、
残念・・・w
ところで
アセンブラにifやmacroが無くても、アブソリュートであっても、
「これはアセンブラです」と言えるための最低限の持つべき機能があると思う。
では同じように「これはマルチタスクです」と言える最低限の機能は何か?
寝る前にじっくりと考えてみたい。
追伸:今夜はピラフ、バターチキンカレー、コーンスープ
もう完成しているので、後は盛り付けるだけ タスク優先度
イベント(ISRからセット可)
ミューテックス
タイマー
マルチタスクに対応した標準ライブラリ
マルチタスクに対応したデバッガ
最低限このくらいはほしい 推奨推薦がメリットだけを並べるのは詐欺師と同じ。
現在の普及度を合理的に説明できるだけのデメリットを説明してないと信用できない。 実際使われてないんだからデメリットの方が大きいと考えるのが自然
デメリットはたとえば>>137
ディスパッチャ君はせめて実用的な道具が揃ってから布教しなさい
ディスパッチャだけで布教は無理だよ OS任せでマルチタスクやらせても
何msごとに必ず処理してくれるのかわからんし
それが音楽演奏だったらたった64分音符一つ抜けたり、引き延ばされたりしても致命的ミス
自分でポーリングするなら実行にいくら時間がかかるかまで考慮して実装できるが
OS任せでそこまできめ細やかに指定できないだろう?
ただ最大の優先度っつっても、100秒処理して1秒休みとかの意味で処理されても困るんだよ 恥ずかしいからRTOSをもう少し勉強してから書き込みなさい RTOSでなくマルチタスクOSの話だが?
両者はイコールでも何でもない つってもなぁ・・・マルチタスクを喜ぶ用途がどういうものなのかぼくにはまだピンとこないけど
現状ダイレクトにアクセスしている入出力資源を
いちいちセマフォとか使って排他制御するの
面倒がふえるだけじゃねえん? しらんけど(^p^; >>161
だれもイコールなんて言ってない
いいからまずは勉強しろ リアルタイムを謳わないなら別にコンテクスト切り替えなんて
三十秒に一回でも30分に一回でも 別にいいんじゃね?(はなほじ ^p^; >>159
一つ音符が抜けて死ぬやつはいないだろ。 いくらここがゆるゆるガバガバのゆるPICスレだとはいえ、
タスクディスパッチ頻度が三十年に一度とかだと流石にどうかとは思う・・・しらんけど(^p^; 素朴な疑問で割り込みの途中に割り込みって掛かるの?
だとするとレジスタはSRAMにスタックみたいにして保存して割り込み復帰とかするの?
そうすると多重割り込みになるとRAMの少ない子とかつらくない? >>165
恥ずかしいからもうちょっと勉強してから書けって >>168
石の設計による。
日立のみたいに割り込み自体にレベルがある石もある。
>>169
これから頑張って勉強するのでお勧めのエロ本教えてください(^p^; >>168
「多重割り込み」で検索して
PIC16までは多重割り込み不可
8bit PICは普通のスタックがなく
割り込み時の動作も非常に特殊 時分割スパゲッティを毎回書いてると
めんどくせえからOSでやってくれんかなって思うようになるな >>170
お前の場合はまずシングルスレッドの勉強からだな >>172
流用性を考えないコードだから毎回書かなきゃならないんじゃ?
時分割スパゲッティてのも何だかわからんけど windowsはマルチタスクOSだ
だがアプリ複数立ち上げてまともに動かない >>168
pic12,16辺りの例で言うと
割込は割込発生時に割込許可プラグがfalseに自動変更される
なので割込中は割込されない
割込中でも割込許可プラグをtrueに変更すれば多重割込できるがコンテキストの自動保存の絡みとか色々考えないといけないと思う(多重割込は詳しくない…すまん) >>176
一個しか動かしてないつもりでも、配下で無数にプロセスが動いてるからw たとえば
LEDインジケーターやキー入力の処理はだいたい決まっている
マルチタスクだろうがシングルタスクだろうが
ほとんど同じコードが使える >>179
ちがわね~だろ
よく使うであろう処理を、まとめて、いちいち書かなくていいようにしたのがosじゃねえん? ディスパチン に続き まるちたすきゅん まで参戦
なにがこの子らを引き寄せるのか知らんが ほんま恐ろしいスレやで ゆるPIC スレ! ディスパッチ爺さんの辺りからゆるくなくなったじゃん、
巣(初心者スレ)にカエレ きっとH8とかZ80スレがないからなんだよ
ゆるく 難民うけいれてやろうぜ説 >>181
Windowsなどの巨大OSのカーネルに相当する部分が
MCUのOSだと考えて
PICのスレだからさ
ドライバは別
当然キー入力や画面描画の機能はない
というコンパクトなOSの話
巨大なOSと分ける意味でRTOSと呼ぶ事が多い
もちろん対の概念ではないが RTOSはサイズじゃなくてリアルタイム性を追求したos
巨大なRTOSは存在する >>186
カーネルと言えばいい?
コンパクトOSと言えばいい?
表現は任せる いずれにしろ
ディスパッチャ君はOSの勉強よりも
シングルスレッドをまともに書けるのが先だと思う
ほとんど全てがOS上のアプリでも必要な知識となる >>189
多くのドライバ、ミドル、アプリを含んだ巨大OS (WindowsやLinuxなど) をイメージしてる人がいるみたいだから >>170
いや、86で組んでたときに再入の話が出たからあーマイコンでもそういうのが有るのかなぁと思って。
>>171
まさに頂きたかったのはこのお言葉でした。スッキリしました
>>177
基本割り込み中は割り込み不可でなんですね。わかりやすい解説ありがとうございました ゆる話題から離れすぎた話題だな。詐欺師は弱い相手を探すから。 多重割り込みはわりと一般的だと思う
出来ないCPUの方が少数派 第126回国会 参議院 逓信委員会 第13号 平成5年6月4日 | テキスト表示 | 国会会議録検索システム シンプル表示
htt
ps://kokkai.ndl.go.jp/simple/detail?minId=112614816X01319930604&spkNum=7 セマフォアは良いぞ、マルチタスクじゃない場合はクリティカルパスが厄介だからな。 >177
スマホで書いたらフラグがプラグ(大人のおもちゃ)になってた 伝言ゲームで 聞き間違いした 大人なスマホンさん
どんだけエロい言葉で あたま(予測変換候補)がいっぱいなんやよ・・・
(ゾマホンさんじゃないよ、スマートホンだからスマホンさんなんやよ)
変な勘違いしないでよね!!(だれにいっている?) 物置のプラ箱を整理してたら懐かしや、ワンチップCPU使用第1号作品が出てきた
この16F84から私のワンチップCPUの長い歴史が始まった
プログラムの日付けを見たらナント1998年!この頃はまだ夢も希望もXXXもあった 私のワンチップCPU第1号作品
https://i.imgur.com/sAQ9umE.png
PCから電源5Vを貰い、RS32CまたはRS485でPCと通信。
DIとDOがそれぞれ2点で、PCからの指示で機械を制御し、状態をPCへ送る。
のハズだけど回路図が見つからないし、詳細は忘れた。
ワンショットの74HC123が乗ってるけど何やってんだろ?
プリント基板のアートワークも版下も自家製造。
そうそう固定金具が腹が立つほど高かったのを思い出したぞw 24年前。
この1号機で、さぁいよいよプログラミング始めるぞ、とPIC16F84を前にしたとき、
(何もやってないのに、このICはコンピュータとしての動作が保証されているんだ!)
と思ったら感動して涙がニジミそうになったのを覚えているw
それまでは、I/OやメモリがCPUとは別組み立て配線だったので、
COPUボードを製作して電源を初めて入れるときは、
(さぁ頼むからスンナリ動いてくれよ)と緊張した。 ゴメン
COPUボードを製作して → CPUボードを製作して やだやだこーぴーゆーボードじゃなきゃやだやだ(駄々っ子AA略 ワンチップCPU第2号作品
制御台数を4台に増やしたい、盤内に収納したい、その他の要望があって作った後継機。
でも結局は根本的な仕様変更があって大量のRAMが必要になり、
このPIC16F84シリーズのA社からの追加受註は無かった、期待してたのに・・・・。
https://i.imgur.com/EzYxLr2.jpg
他にB社から2つのセンサー間を通過した物体の移動速度を測る装置
C社から回転軸に取りつけたロータリエンコーダの出力を特殊なパルス列に変換する装置
を作ったがいずれも単品もの。(こちらは許可をもらってないので画像無し)
その後、PIC16F84から離れ、PIC18も使う事は無かったので、
私のPIC史は1年もたたずに終わりました、
以上、提供はゆるスレのレス数伸ばしにガンバっているDGでした 私が24年前にPIC16F84を始めたキッカケはトラ技の紹介記事。
記事を読みおえたらすぐに秋月に買いに走った。
その頃の私にはトラ技と秋月は生活必需品(?)だったなw
トラ技はホットガンで温めて広告を切りとって製本し直し、
秋葉原には週に1、2回通って、秋月以外にラジオデパートなどの店を回ってた、
秋月の当時の店長とは挨拶し会話していたので、覚えていてくれてると思う。
忘れてた、>>>199の「XXX」は住宅「ローン」、多い時で月30万近く払ってた。
読む人が適当な言葉を入れてもらえばと思ってXXXにしたけど、しょうも無かったな。
by 天上天下唯我独尊 D.G. 完済したのかよ!!!!!!!!!!!!! おつかれさん >>210
アリガト、ローン終わった時はホッとした。
1年に1回、毎月の返済とは別に1K万円まとめて返済してたら、
3回目に融資担当者から、「そんなに返済するな」と怒られたw
だけど初期は大半が利息の返済なんだよね、
可能なら早く返済したいと思うのが普通だよ。
銀行には株式会社の創業期の貧乏時代に冷たい仕打ちを受けたし、
色々と言いたい事はある。
PICには土地購入代金の1/2坪分くらいは負担して貰ったかな、PICアリガト 売り上げに貢献寄与してくれた、そんな恩あるPIC16F84から私が離れた理由だけど
*最も大きかったのは、Wレジスタ方式のアセンブラに最後まで慣れなかった事
プログラムを組んでいるとイライラしてくるw
*タスクディスパッチャが組めない事
それまで、どんなCPUでも出来るのが当たり前、と思っていたし、
実際、取り扱ってきた全てのCPUで出来ていたので、とても驚いた。
独身時代に私のアパートに一人で遊びに来たネーチャンがやらせてくれなくて、
後でその理由を知って驚いた時よりももっと驚いたw
スミマセン、独演会みたいになっているのでこれで終わりにします。 ディスパッチャ翁は経営者様で御座ったか・・・今後は言葉遣いに気を付けよう><; >>215
でも100円じゃまともに会社作れないよ
見せ金大量に用意しないと むかし制度の移行期間だかに特例で100円で会社起こせる!とかニュースになってたけど
300万円で会社起こせた有限会社も 今(となって)は昔・・・一人親方の個人事業主は兎も角
企業として法人を設立するには最低1000万円必要な時代だと思ってたけど違うん? 合同会社なら資本金1円、合名会社なら資本金要りませんよ。 資本金1円の会社なんて怖くて取引してもらえないから、絵に書いた餅だよ 資本金1円だと相手が潰れたときに1円までしか回収できないってことだから、ちと怖い
個人事業ってのは無限責任だからな、骨の髄まで絞りとれるから、まだまし 個人事業主で仕事を請けられるか?
某一部上場企業の研究部門から電話が掛かってきて
「おたくの製品の購入を検討している、会社案内パンフレットを送ってくれ」
と言われたので
「個人で細々とやっています、パンフレットなんてありません」
と返事したら3秒ほど無言だったw
結局、その会社の取引商社を通して納品する事になったのだが、
「売値は変りませんよ、商社手数料はそちらで負担してください」
と言って承諾してもらった >>222
大企業だと、支払い口座の関係も有るから、商社経由になりやすい。 タイマー2の次の3を使おうとmcc格闘中
よくわからんが
タイマー4選んだら2と同じに動いた
疲れたw 大会社と直接取引するの面倒すぎて、向こうもこっちもやる気が失せるので
既に取引のある商社なりを間にかますしかないのよね 秋月で買える一番しょぼいPICは10F200かな、ROM256W,RAM16B,I/O4
10F200のSOT-23-6が10個で600円だけど10F222のDIPのほうが安いんだな
10F200や222の応用は出尽くしたかな、少し買って遊んでみようか 手元にPIC10F322が1個あったから定番のナイトライダーやってみた
タクトスイッチでSleepも付けたけど10uAくらいまでしか下がらなかった1uA以下にしたかったら10LF322を使えってことなのか…くそぅ
https://i.imgur.com/uJnzMMi.mp4
使ったメモリはROM219W,RAM7Byte、10F200(SOT-23-6)がどっかにあったはずだから探し出して移植してみるか 10F322(Lの付かないほう)のスリープ時の消費電流は最新のデータシートでは変更になってる
https://i.imgur.com/s7zEqAT.png
俺が購入した時期は忘れたけど何年か前に秋月で購入してほったらかしにしてたやつだ
10uA位っていうことは古いデータシートの挙動にかなり近い
MPLAB IPEで見たらDevice Revisionが2だった、10F322が手持ちにある人はRevisionを見てみてほしいかも
https://i.imgur.com/oXLczZ4.png PIC10F320のPWMの設定でアドバイス欲しいです。
Fosc 8MHz、PR2 101として
タイマプリスケーラ1:1で理論値 約19.61kHzに対して実測値も同等
タイマプリスケーラ1:4で理論値 約4.90kHzに対して実測値も同等
タイマプリスケーラ1:64で理論値 約310Hzに対して実測値630Hz
FoscやPR2の値を変えてもプリスケーラ1:64だけは理論値通りのPWM周波数にならない
1:64を使う時には設定が必要でしょうか? >>231
データシート見る限り、間違えてその様な出力になる事は考えにくいので
プリスケーラ―の設定以外での原因を疑った方が良いと思う
PWM周波数の計測手段はどんな感じで行ってますか?
もしかしたら、1周期のパルスを2回分カウントしてるかもしれない
例えば周波数はそのままで、デューティ比を短い・長い・中間などでも同じ結果なのか
PWM -> LPF -> 計測機 のように、フィルターをいれてみるとか >>232
ありがとうございます
オシロで波長を計って周波数に変換しています。
ON Dutyは50%です。試しに30%設定にしても1:64での理論値との周波数乖離は解消しませんでした >>234
PIC10F320には1:16の設定は無いです
1:1 1:4 1:64の3つがデータシートに書かれています 手持ちに10F322があったからやってみた
1/64でhobo300kHzになった
この辺はいろいろあってデータシートのリビジョンやデバイスのリビジョンによってなんか違いがあるようだ
データシート日本語リビジョンA→プリスケーラは1/1、1/4、1/64の3通り
データシート英語版リビジョンE→プリスケーラは1/1、1/4、1/16、1/64の4通り
手持ちの10F322では1/16も確認できた
ただ手持ちのデバイスのリビジョンは古いようだ、パワーダウン時の消費電流が大きい
データシートリビジョンAでは10Fと10LFで消費電流にかなり差がある
データシートリビジョンEでは10Fと10LFではパワーダウン時の消費電流は同じくらいに小さい
デバイスのリビジョンはMPLAB X IPEで確認できる 敵をつくって分断をあおるのはトーヨータイヤのみ
後は-8%と-12%の私を呼びましたか? データーシートのリビジョンについては上記以外に
データシート英語版リビジョンA
データシート英語版リビジョンD
が見つかった
リビジョンDでは1/16の記述がありリビジョンAでは日本語版データシートと同様1/16の記述がない
デバイスのリビジョンについてはErrataに
パワーダウン時の消費電流の記述はある
Timer2プリスケーラについての記述やPWMに関する記述は見当たらなかった ロンバル王は出たいので
さすがにそれでストレス解消には謝罪しろ言うくせに
早く否定しなきゃまたこんな発言する選手よりずっとまともだよな 口汚い自称保守気取りがそこまで戦争しかけてくる輩やぞ。 ・立てられなかった?じゃあ今シーズンより問題は来ないような企画しか生まれん >>238
PIC10F320 Device Rev.0x4でした
PIC10F322 Device Rev.0x4に差し替えましたが1:64モードで理論値との不一致は320同様です。
回路はVDD,GNDの他に8pin(RA3/MCLR)端子にプルアップ10kΩを接続しています >>242
プリスケーラの設定はT2CONの下位2Bitだけど10にしても11にしても同じってこと? >>243
日本語DATAシートによると1:64は下位2bitが0b1xなんだけど0b10にすると理論値とは異なるPWM周波数になり、0b11にするとPWM出力しません 0b11ではPWM出力どころかHだったかLだったか固定出力のままでした あとは何か勘違いしていないか最小限のソースでやるくらいしかないかな 回路図とソースコードを添付したら添削して頂けますか?PC画面キャプチャだからpng形式だけど見れるかな? 一応データシートにある通りの設定手順でやってみて(18.1.9)
ソースを貼るなら tp://codepad.org/ か tps://pastebin.com/ がいいと思う
(荒らしが来てるからうまく張れるかな) ConfigでMCLREとPWRTEを両方OFFにしてるところがちょっと気になるかなちゃんとリセットがかかってないかも
mainの最後にwhile(1){}とか入れなくて大丈夫か?
念のため最初にTRIS=1にして設定の最後でTRIS=0にしてみるとか
PWM1DCLはとりあえず0で(うまく動いたら0以外で)
Prescalerもとりあえず0b11で
一応うまくいったソースは
tp://codepad.org/hab99ZYs Arduinoとかやってた人はわかってない人多いよな
>mainの最後にwhile(1){}とか入れなくて大丈夫か?
あってもなくてもコンパイルエラーが出ないから必要なのに入れないと何が起きるのかわからない人多そう
あと8MHzだから関係ないかもしれないけど
PWM1DCL = 0b10; は PWM1DCL = 0b10000000; じゃないかな?
データシートにPWMxDCL<7:6>ってあるから >>251
MPLAB XIDE V6.0.5,XC8の環境で頂いたソースを丸ごとコピーしましたがエラーで効果確認が進んでいません。
自分なりに考えてみます >>236
>>230を書いたのと同じ人かな
10F322でリモコンを作ったらsleepで11uAも流れてて悩んでいた。
データシートをながめていたらINTERNAL VOLTAGE REGULATOR(IVR)
というのがあって、デフォルトでsleep時にパワーセーブモードになら
ないらしいのでVREGCONレジスタのVREGPM1ビットを"1"にしてみたら
ガッツリ減って0.1uAになった。
今のところ影響は出ていないが、どんな違いがあるのか良く分からない。
普段MPLABを使っていないのでRevisionは分からないが秋月で去年在庫切れ後
復活したのを購入したので比較的新しいかも知れない。
今は12F1822がsleepで21.1uAも流れていて悩み中
こちらはIVRという項目もないし なんと!
デフォルトで短時間復帰モードが有効とな、しかも省電力スリープモードと低消費電力モードって名前が紛らわしい