X



トップページ電気・電子
1002コメント361KB
マイコンソフト 悩み事相談室 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2017/06/19(月) 02:24:24.69ID:mEcw5Uka
.
  ∧ ∧    
  ( ´・ω・) < コンフィグって何? 昆布なら知ってる。  ボラチルって何? ボラは魚だよ。
  ( ∪ ∪   ,.-、     ,.-、   ,.-、     ,.-、
  と__)__)  (,,■)   (,,■)  (,,■)   (,,■)
         PIC    AVR  H8    ARM

  学校でC言語を習ったことがあるので「楽勝でしょ」って、マイコンを始めたけど、
  わからないことだらけ。誰か教えて!

  PCとは別世界の、マイコンのソフト。難しいよね。

  ツールの使い方、ツールの設定、マイコン特有のC言語の書き方、
  「デバッグモードにプログラミングモード。何?」 Eclips, Emacs って何?
  VBAしか知らないよぉ、という人まで、
  各社マイコンに関するマイコンソフト相談室です。

  質問者は、「初心者質問スレ」の>>1を見て、分かり易く質問を書いてね。
  回答者は、威張らない、バカにしない、言葉使い注意で、親切に教えてあげてね。

  あっ、そうそう。 
  ハードウェアに関する質問は、それぞれのマイコンのスレに、達人がいるから。

  過去スレ
    1 2014/09/11〜
    2 2016/07/31〜 http://rio2016.2ch.net/test/read.cgi/denki/1469905691/l50

  では、質問、ドゾ〜
0575774ワット発電中さん
垢版 |
2018/05/30(水) 02:40:35.03ID:FLuh3HLo
『割り込み』はデフォで使えるとは思うが、『多重割り込み』はデフォで禁止になってないの?
勝手に有効にされたら困るぞ、普通は。
0579774ワット発電中さん
垢版 |
2018/05/30(水) 07:02:15.83ID:qkHY0C7Y
タスクに絡まない多重(レベル)割込みはやればいいと思うが、ISRの多重実行はスイッチャが
複雑になってスタックも余分に要るからたいへんですよ。
0581774ワット発電中さん
垢版 |
2018/05/30(水) 07:27:41.05ID:DpJHhFVV
割り込み処理中に、さらに割り込みを許可させるには、改めて割り込み許可命令を実行しないといけないんじゃないの?
それとも、逆に割り込み中断命令を実行しないと割り込みかけたい放題なのが今のCPUのトレンドなの?

なんか、よくわからなくなってきた。
俺のまわりの環境が特殊だったのかな…
0583774ワット発電中さん
垢版 |
2018/05/30(水) 08:11:10.17ID:DpJHhFVV
>>582
俺が気になったのは、割り込み処理が始まったら
・大事な処理を行った後に割り込み許可命令
なのか、それとも割り込み処理が始まったら、
・割り込み禁止命令、大事な処理、割り込み許可命令
この順番でやるの、どちらなんだろ?と、思ったのよ。

割り込み禁止時間が短い方が良いのはわかるが、それは仕様次第じゃね?
0584774ワット発電中さん
垢版 |
2018/05/30(水) 08:49:00.67ID:FSpphdtk
マルチレベル割込みと単純な多重割込みを混同しないようにね
0585774ワット発電中さん
垢版 |
2018/05/30(水) 10:46:44.25ID:d99xBaSE
>>583
割り込み有効がデフォ
割り込み禁止が必要なら期間は最短で

これが常識的な設計ポリシー

ISRの先頭で禁止なら真っ先に有効にする
これが普通の考え方
0586774ワット発電中さん
垢版 |
2018/05/30(水) 11:57:20.06ID:JJosT66s
多重とかスタックとか
そのせいで四苦八苦してるくせに
その頭しかない連投バカ

そうしなくても十分使えるシンプルな処理でよいし
それが主流でPLC製品が普及してる
0587774ワット発電中さん
垢版 |
2018/05/30(水) 12:00:42.51ID:JJosT66s
で、その多重バカの作ったインタプリタで
機械を数10台動かせば、動きがちぐはぐで反応遅くて他所の機械の終了待ちしてるさまが
想像できる
0588774ワット発電中さん
垢版 |
2018/05/30(水) 12:23:29.61ID:X264as7d
最初に学んだ所の手法を世の中の常識と思っちゃってそれ以外は邪道としか考えられないんでしょうね…
反面教師だな…
0589774ワット発電中さん
垢版 |
2018/05/30(水) 13:04:22.49ID:2ok9bXAA
>>585
いくら割込み禁止区間を都合よく短くしても
重要な割込み来てる瞬間にぶち当たった時に
間抜けになりさがる
0591774ワット発電中さん
垢版 |
2018/05/30(水) 13:08:31.09ID:d99xBaSE
インタプリタ?
誰と勘違いしてるんだ?

シングルタスク+多重割り込み
小規模マイコンではかなりの率だと思うよ
普通に自動コード生成しても普通はそういうコードが吐かれるし
知らないうちに使ってたりするんじゃないの?

ホビーな人は世の中の常識とは異なる設計が普通だと思ってる人が多くて面白いね

超小規模マイコンでもマルチタスクOSが普通と思ってる人
標準で使える多重割り込みを使わない人
割り込み自体全く使わない人
LED 1個でタスクを作る人
割り込み禁止に抵抗が無い人
アセンブラで書くのが偉いと思ってる人
自作のOSもどきを自慢する人
PLCの常識を押し付ける人
0592774ワット発電中さん
垢版 |
2018/05/30(水) 13:09:28.99ID:2ok9bXAA
マイコンに割込み禁止命令がわざわざあるのは
多重割込みのためではなく、自己の割込みを防ぐためだ

自己の割込みなら堂々と禁止にしてよいが
自己割込みさせない前提で設計するのがスジ

多重割込みかけておいて他所の割込み禁止とか
何様だよ?ってくらいアホ
0596774ワット発電中さん
垢版 |
2018/05/30(水) 15:00:43.14ID:ja6cZ4t5
>>592
>マイコンに割込み禁止命令がわざわざあるのは
>多重割込みのためではなく、自己の割込みを防ぐためだ

の「自己の割込みを防ぐため」の正確な意味がよく分らないけど、
ディスパッチャを動かしているときに、
 今ハード・ディスパッチ割込みされたら困るから、
 割込み禁止命令を実行してハード・ディスパッチ割込みを禁止する。
はよく使う。
もちろん、
 今ディスパッチ割込みして欲しいから、ソフト・ディスパッチ割込みを実行する。
もよく使う。

いやぁそれにしてもこのスレの打って変わった進行速度はスゴイ!
0597774ワット発電中さん
垢版 |
2018/05/30(水) 17:38:24.86ID:HdWp3tBc
あらあら
ゲームなどでフレーム落ちって
どういう時に発生するか、理屈わかってないバカがいるんだね
割込み処理中に同じ割込み(自己)をさせないから、フレーム落ちになってエラーにならずに処理進むってのに
0598774ワット発電中さん
垢版 |
2018/05/30(水) 17:43:42.91ID:HdWp3tBc
まぁこの馬鹿>>595がゲーム作れば
割込み処理の後半全部終わる前に、次フレーム始めちゃって
データがしっちゃかめっちゃか
アホなデータ参照して処理して、問題抱えてるのにいつまでも気付けない無能
0599774ワット発電中さん
垢版 |
2018/05/30(水) 17:51:01.98ID:HdWp3tBc
思い出したw
某DMMゲーで、戦闘5倍速とか、クソスペックPCでプレイすると
敵のターンがパスされまくりで超難度も糞も関係なく勝てちゃうって奴
結局直す術知らんから、ターン制限とか明後日の方向で調整してるとか
ほんと、バカがプログラム組むとろくでもないものになる

バカには触らせたくないから去ってほしいわな
0600774ワット発電中さん
垢版 |
2018/05/30(水) 17:51:15.53ID:DpJHhFVV
>>598
ゲームではそうだろうけど、たとえば自動倉庫のコントローラなら割り込みは取りこぼしちゃならんし、たとえ処理落ちしてもスタック全部処理せにゃならんだろう。
それにゲームの画面処理と違って、自動倉庫なら多重に割り込むのも一過性で終わるから、データ参照先をレジスタとかで賄えば、スタックが許す限りは問題抱えないんじゃね?

マイコンの使い方にも色々なシチュエーションがあるのに、『これじゃなきゃダメ!』という硬い意見が混じってる気がするわ。
0601774ワット発電中さん
垢版 |
2018/05/30(水) 18:10:44.37ID:S5C1oC7d
>>598
小規模マイコンの話で突然フレーム落ち?
いみわからん

シングルコアの普通のマイコンは
同じ優先度の割り込みが多重にかからないようになってるよ
割り込みがかかるのは処理中の割り込みより優先度が高いものだけ
0602774ワット発電中さん
垢版 |
2018/05/30(水) 18:19:21.13ID:S5C1oC7d
普通のシングルコアのマイコンの多重割り込みといえば
最大でも各優先度1個ずつだけしか処理中にならない
優先順位を同じにすればシングル割り込みだし
優先度を3個だけにすれば最大でも同時に3個しか処理中にならない

PCのゲームプログラム?
普通ISRをユーザーが直接コーディングなんか出来ないぞ
何の環境の話?
0605774ワット発電中さん
垢版 |
2018/05/30(水) 19:14:19.91ID:ouXYLWFy
ひとを貶すために、広義と狭義を恣意的にふりまわすのって良くない。
>>604
コールバックで実行される内容まで含んで、割り込み発生からリターンまでをISRと呼ぶ
習慣の人たちがいることはわかってるよね?

自分が断固としてその流儀の定義を否定する、ということとは別だよ。
0606774ワット発電中さん
垢版 |
2018/05/30(水) 20:46:02.61ID:G+mPw1KW
>>606
広義を含めISR内じゃないぞ
少なくともWindowsやLinuxでは
そんなのをアプリに解放するわけがない
ちょっと行儀の悪いアプリがいただけでアウトだ
ちょっとは勉強してから書きなさい
0607774ワット発電中さん
垢版 |
2018/05/30(水) 20:49:20.06ID:qkHY0C7Y
取りこぼしてはいけない割り込みは、ISRが処理中でも禁止しないのは当然。
でもそれをISRとして実装するなら面倒だ。
タスクに絡まない処理として実装すべし

たとえばシリアル通信をタイマで波形作ってやるような場合、次のデータを
バッファから取り出してタイマのレジスタに書き出すとかはタスクに関係ない形で
遅れなく応答する形で書く。クリチカルセクションとか使わずに、メモリをいじるときだけ
(タスクのほうも)DI、EIで済ます。
0610774ワット発電中さん
垢版 |
2018/05/30(水) 21:21:30.84ID:+g0oOPMP
ふつーは要求フラグ立ったまま保留されるよね
禁止されていたら。
で、解除したら割り込みされる。
禁止時に同じのが多重に入ったら一つ抜けるが
意図していないなら(そんな例は知らんが)それは多分バグだ
尤も、保留用のフラグなんてない石もあるのかもしれないが
それなら自前でやるまでだが
0611774ワット発電中さん
垢版 |
2018/05/30(水) 21:34:02.07ID:S5C1oC7d
ああ、>>589の意味がわかった

割り込みが保留にならずに
割り込みがすっぽぬけると思ってたのか

普通割り込み禁止期間といえば割り込みが保留される期間だと思うが
0612774ワット発電中さん
垢版 |
2018/05/30(水) 21:52:22.77ID:gTr82FOQ
>>611
そりゃあスタンバイ制御回路でも実装しない限り、割り込みフラグは1bitしかねーんだから、同じ割り込みが何回発生されても1回しか認識できねーだろ。
0613774ワット発電中さん
垢版 |
2018/05/30(水) 22:33:45.92ID:JjBf2kjT
>>582
ベクターが少なくて多機能だと、割り込み要因の判別に処理時間取られてしまう。
0614774ワット発電中さん
垢版 |
2018/05/30(水) 22:36:16.69ID:mTVkSxYD
こいつらレベル割り込みとかエッジ割り込みとか知らんのか?
0615774ワット発電中さん
垢版 |
2018/05/30(水) 22:37:36.75ID:Hvny4Dq6
やはり割込み保留を許容するほどのろまな用途なんだね
バカが作る制御は気楽でいいよな
だから不評なんだよ
自分で言っといて、ここで愚痴言ったって好評に変わるわけないじゃん
不評な物はどこの世界でも不評なんだよ
0617774ワット発電中さん
垢版 |
2018/05/30(水) 22:47:30.40ID:Hvny4Dq6
わはは
イベントドリブンなループを並べといて割込みで開始してんの?

平和な世界だねぇ
0620774ワット発電中さん
垢版 |
2018/05/30(水) 23:44:14.88ID:S5C1oC7d
シングルタスク、シングル割り込み
シングルタスク、多重割り込み
シングルコア、マルチタスク
マルチコア

環境の前提がごちゃまぜになってきた
前提を書いてから語ろうよ
0621774ワット発電中さん
垢版 |
2018/05/30(水) 23:50:54.78ID:S5C1oC7d
>>617はアンカーミスか

シングルタスク、多重割り込みの環境だと、
最低プライオリティ割り込みなんかかなりスローな処理だったりするぞ

この辺はマルチタスクと大きく違う
0622774ワット発電中さん
垢版 |
2018/05/31(木) 06:53:28.85ID:QDY6X/5F
アンカー打ってないレスにアンカーミスって書いてる。ややこしい。

>>621自体がアンカーミス?
それとも、広義のmissなら、アンカーを打つべきところを打ってないケースもアンカーミスに含まれるかな?
0623774ワット発電中さん
垢版 |
2018/05/31(木) 07:47:06.42ID:SU1TETSt
あれ、レス番号がズレて表示されてる
キャッシュをクリアしたらなおった
専ブラのバグか?

>>621>>615宛で、1行目は無視して
0624774ワット発電中さん
垢版 |
2018/05/31(木) 07:53:23.26ID:SU1TETSt
ID:S5C1oC7d
ID:G+mPw1KW

この2つ、ずっとアンカーが1個ずつずれてました

ワケわからん書き込みが多いとおもったら、
自分がワケわからん書き込みでした
0625774ワット発電中さん
垢版 |
2018/05/31(木) 08:02:26.69ID:t5+kUcxp
ずれてるのはアンカーだけじゃないだろ w
とりあえずちょっとROMっとけ
0626774ワット発電中さん
垢版 |
2018/05/31(木) 08:02:57.58ID:SU1TETSt
>>592より新しいレスへのアンカーが全て1個ズレてましたすみません

>>592の内容が2個書き込まれたのを見て
>>593 >>594を書いたんですが
>>592は2個書き込まれていませんでしたね
ここからズレたんでしょう
0627774ワット発電中さん
垢版 |
2018/05/31(木) 08:04:26.11ID:dh6C9Yop
流れ無視ですまんが、ボタンのダブルクリックの検出って
ボタン押し下げ毎の時間間隔を測っといて
Nミリ以上ならシングル、それ下回ったらダブルって判断が
一般的かな?
0628774ワット発電中さん
垢版 |
2018/05/31(木) 08:12:05.35ID:SU1TETSt
いみわからんのは>>619くらいだね
あとは意味がわかる

>>619>>617に対してのレス
ISRでイベントをセットするのは普通だと言った
>>617はISRからタスクを起動するのはどうやってるだ?謎
0630774ワット発電中さん
垢版 |
2018/05/31(木) 08:21:23.18ID:SU1TETSt
>>627
ON/OFF/ON

1個目のONがダブルクリックではない
1個目と2個目のONの間に特定のアクションが入らない
とかも条件になるかも
0631774ワット発電中さん
垢版 |
2018/05/31(木) 08:24:30.76ID:SU1TETSt
一般的なマウスならONで確定だけど
他のデバイスならOFFで確定ということもあるかも
0632774ワット発電中さん
垢版 |
2018/05/31(木) 09:59:36.20ID:eRP2eaWO
やはり頭悪い
ONで確定したらどうやってシングルとダブルを見分けるのだね?
得意の「遅延」使うのかね?
0636774ワット発電中さん
垢版 |
2018/05/31(木) 12:56:54.57ID:YmL6q5oY
>>633
場所でIDが変わるんだよ

自分が自演してるからって他の人もしてると思わないでね
0639774ワット発電中さん
垢版 |
2018/05/31(木) 18:08:04.78ID:l07/dnBR
プログラム実行中にハードウェア割込みの禁止・許可、ソフトウェア割込みをやるようになれば、
小さな8ビットMCUの初級者レベルを卒業、と言えるのではなかろうか?
中級者レベルの卒業は(   )かな。
0643774ワット発電中さん
垢版 |
2018/06/04(月) 18:27:28.18ID:wjFw3dA8
スクラッチで
ブートローダー、スタートアップコード、
一通りのペリフェラルの制御、
を書けること
0647774ワット発電中さん
垢版 |
2018/06/06(水) 16:06:46.00ID:369lEUh4
上級になると
・誰かに仕事を丸投げする能力
・困ってるときだけ助けて「あの人はすごい」と言わせる能力
・納期遅れになりそうな場合、それをほったらかしにして長期出張できる能力
が必要になる。
0650774ワット発電中さん
垢版 |
2018/06/06(水) 19:48:45.07ID:DUHLUlhX
・誰かに責任を丸投げする能力
・困ってるときに助けてもらって「あの人が悪い」と言う能力
・責任を追及されそうな場合、トカゲの尻尾切りにして長期在任できる能力
0651774ワット発電中さん
垢版 |
2018/06/07(木) 12:01:47.14ID:h9JwcQl5
それ公務員
0653774ワット発電中さん
垢版 |
2018/06/09(土) 11:07:05.86ID:fidyeRGM
>>651
そうなんですか?
民間でも多いですよ。>>650みたいな人。

公務員と民間の違いってあまりないよね。

(場合によっては他の人の足を引っ張ってでも)うまく立ち回らないと
職を失うリスクが高いのは民間かな。
0654774ワット発電中さん
垢版 |
2018/06/09(土) 12:36:02.62ID:dJl9Y+iH
大容量RAMとか高速ADCとか、尖がった性能のマイコンって無いのかなぁ
何十ピンもある高級チップって、お手軽電子工作には使いにくい。。。
0656774ワット発電中さん
垢版 |
2018/06/09(土) 15:13:56.78ID:fidyeRGM
>>654
何十ピンだったら、マイコンのピン数としては少ない方だと思う。

前に調べたことがある
PIC24FJ128GC010
12ビット 10Ms/s

STM32F303
32ピン版がある。少ピン。
12ビット 5Ms/s で2個のA/Dコンバータが載ってる。(マルチプレクサが2ch入力じゃないよ)
0658774ワット発電中さん
垢版 |
2018/06/10(日) 09:25:24.43ID:CEZaXKAR
16bitAD内蔵のPICもあったよね
マイコンからのノイズが気になって採用しないけど
0660774ワット発電中さん
垢版 |
2018/06/10(日) 16:28:00.02ID:orQClRz1
昔、12ビットの外付けADCをフィードバック制御に使った事があるけど、
結局、ノイズや精度を考慮して上位10ビット(最少5mV)で制御した。
CPU内蔵の16ビットADCなんて私には使いこなせそうに無いな。
0662774ワット発電中さん
垢版 |
2018/06/10(日) 16:45:34.43ID:yGhAkzQw
下位ビットなんてただの飾りdeth 工口いひとにわ(ry
0663774ワット発電中さん
垢版 |
2018/06/10(日) 22:37:17.46ID:orQClRz1
>>661
そうだよ、電源ラインやら信号ラインやらに色々ノイズ対策したうえで、2ビット捨てた……
制御相手はプラズマ溶射用のMax100KWの電源の電圧と電流。
0664774ワット発電中さん
垢版 |
2018/06/10(日) 22:42:30.20ID:I3CPwhv6
捨てる意味がよくわからん
例えノイズに埋もれてようが使った方が精度は良いはずなんだけど
0665774ワット発電中さん
垢版 |
2018/06/10(日) 23:30:40.69ID:N35kzB1t
普通は何回かのサンプルの平均をとるとか、移動平均を使うとかすると思うけど
目的を達すればいいわけで、他人がどうこう言うことではないかも
0666774ワット発電中さん
垢版 |
2018/06/10(日) 23:33:44.36ID:I3CPwhv6
他人に指示してるわけじゃなくて
単純にわからないと言ってるの
ノイズや精度を考慮してわざわざ2bit削る理由が
0667774ワット発電中さん
垢版 |
2018/06/11(月) 00:06:52.47ID:EosyWhSF
捨てるだけのほうが簡単だ(と思った)からじゃないの
制御系だと、測定値のサンプルだけだけ精度上げてもしょうがないから
0668774ワット発電中さん
垢版 |
2018/06/11(月) 01:09:38.70ID:+PmTiN/D
10bitだろうが12bitだろうが処理が1発なら
捨てる処理の方が無駄って事かな?
0670774ワット発電中さん
垢版 |
2018/06/11(月) 08:11:33.40ID:7ThQOG0a
例えばなんかの表示に使ってたらノイズで表示がチラチラ変わるのがウザいとか理由はいくらでもあると思う
0672774ワット発電中さん
垢版 |
2018/06/11(月) 08:56:58.34ID:m3RX/gB9
勢いでよく考えずに作り話を書いてしまった
ってとこだろう
0674774ワット発電中さん
垢版 |
2018/06/11(月) 12:55:46.18ID:m3RX/gB9
>>673
わざわざ理解してないことをアピールしなくてもいいんだよ
説明はしないから自分で考えてね
0675774ワット発電中さん
垢版 |
2018/06/11(月) 15:16:39.02ID:FE5E4or/
下位ビットを捨ててる例なんて巷にゴロゴロあるのに…。
他人からは何も学ばない人がいるようだね。
■ このスレッドは過去ログ倉庫に格納されています

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