X



トップページ電気・電子
1002コメント361KB
マイコンソフト 悩み事相談室 3 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0293774ワット発電中さん
垢版 |
2018/04/08(日) 08:29:26.93ID:bwKa9CB0
if(0){}ってのを見てなるほどといたく感心したことがある。
0294774ワット発電中さん
垢版 |
2018/04/09(月) 13:19:57.72ID:XeOsE7+A
do{ }while(0)やif(0){}でくくるのは
構文解析されるがそれはメリットデメリット両面ある
あまり入り組んだことせずに#if 0〜#endif 使った方が意図が明瞭でいいな
0296774ワット発電中さん
垢版 |
2018/04/15(日) 19:14:38.22ID:MekR2Y1x
どうやって?
0299774ワット発電中さん
垢版 |
2018/04/17(火) 00:19:08.24ID:CvZVTREd
今時、こういう事を言う人がいるかどうか分からないけど
/* */とか#if0でコメントアウトすると、元のコードとオブジェクトの出力が違うから
新たなバグ発生(というか、本当は元々あったバグの生じる現象が違うだけだが)
する可能性があるから、ダメだと言う人がいる

if (0) でも、コンパイラ&最適化設定によっては同じなんだけど
バカと議論しても時間のムダなんで、そうしろって言うんだったらそうするしかないよな
0300774ワット発電中さん
垢版 |
2018/04/17(火) 00:25:25.75ID:CvZVTREd
で、もう少し前向きの話をすると、if(0)とかするからコンパイラが最適化しちゃうんで
if(var1)としておいて、main()かどこかで var1=0; ってしておけば、今のところ
それに気づいて最適化するようなコンパイラはいないと思う
0302774ワット発電中さん
垢版 |
2018/04/18(水) 00:13:35.69ID:6bNqzrP5
マイコンじゃないけどVC++6.0で
 int i;
 …
 for (int i = 0; ; ) { }
とやるとiが二重定義エラーになるのを避けるためにファイルの先頭に
#define for if(0); else for
と書いてたのを思い出した。
0303774ワット発電中さん
垢版 |
2018/05/03(木) 09:55:43.78ID:IQPKW3n4
そういや組込みソフト屋のここの人達はエディタ何使ってる?
俺は秀丸で、職場の周りの人も秀丸ばかりw
0304774ワット発電中さん
垢版 |
2018/05/03(木) 10:27:10.69ID:MECi+Ckw
大昔はMIFES、windowsになって似た感覚で使えるの探して秀丸購入。
MIFESの値上がりに愛想つかしてそれっきり。
秀丸はユーザーの声を反映したバージョンアップがうまいと個人的に思う。
0306774ワット発電中さん
垢版 |
2018/05/03(木) 11:06:47.18ID:MECi+Ckw
ただバイナリモードはスターリングに慣れてるので使ったことないw
いいきっかけ貰った。使い心地試してみるよ。
0307774ワット発電中さん
垢版 |
2018/05/03(木) 11:16:53.93ID:b8Dqyp0+
秀丸今も儲かってんのかな
どっかの法人が定期的に買ってるとか?
0308774ワット発電中さん
垢版 |
2018/05/03(木) 12:52:16.40ID:GSfuJmNy
私はWZ。
DOS時代にMIFESからVZに移行して、以後、何となぁくの流れでWZに。
0310774ワット発電中さん
垢版 |
2018/05/03(木) 17:13:15.79ID:4N3JbdQu
各社のIDE。
0311774ワット発電中さん
垢版 |
2018/05/03(木) 17:17:51.87ID:6Z/whdr/
IDEエディタだと狭くない? カスタマイズもできないし
おせっかい機能は便利かウザいか人それぞれだが
自分は以前MIFES、今sakura
秀丸は何となく好きになれない
0312774ワット発電中さん
垢版 |
2018/05/03(木) 18:22:30.13ID:zEtko/35
>>311
昔、Sakuraエディタを好きで使ってたけど、内部Shift-JISだったせいで、
Unicode編集が必要になったときに離れてしまっていた。

Wikipedia を見たら、2011年に Unicode版が出てたのですね。

コーディングは各社IDEですけど、それ以外でテキストファイルを扱うことは多いので、
Sakuraエディタもチェックしてみよう。
0314774ワット発電中さん
垢版 |
2018/05/09(水) 03:33:04.30ID:Mqvqtskt
やっぱり秀丸でしょう
検索文字列のハイライトが、ずっと消えずに残っていてくれるのは、たまらない。
ただ、矩形カット&ペーストなど 矩形領域で編集出来ないのが残念。
MIFESは出来た(と記憶)
0316774ワット発電中さん
垢版 |
2018/05/09(水) 13:04:05.47ID:34DT3rc2
多くのIDEでそれができないから秀丸をサブエディタとして使っている俺
MIFES時代から矩形編集使いまくってた
0317774ワット発電中さん
垢版 |
2018/05/09(水) 13:07:09.31ID:34DT3rc2
秀丸自体にファンクションキーをMIFES風にする定義ファイル入ってるよ
0318774ワット発電中さん
垢版 |
2018/05/09(水) 16:42:17.16ID:Q6543x/b
そういえばWZエディタのキー入力定義ファイルをVZ風からWindows風に変えたら、
スムーズに操作できなくなってビックリしたことがあった。
テキスト入力中のキー操作なんてほぼ無意識のうちにやってるんだね。
0320774ワット発電中さん
垢版 |
2018/05/11(金) 08:04:56.70ID:VSwe3tE/
IDEっていえばなんらかのプログラミングの話だと思うのですが、
どんな場合に矩形編集が便利に使えるのですかね…。
0321774ワット発電中さん
垢版 |
2018/05/11(金) 08:33:28.15ID:3ky3hI4t
>>320
各行末にコメントを入れている場合、
コメント以外を選択したとき
コメント位置にタブを挿入したい時
0323774ワット発電中さん
垢版 |
2018/05/11(金) 09:34:46.52ID:M2eyGpHu
インデント揃えるために100行くらいまとめてタブ挿入するとか
改行入れたテーブルデータをブロックで抜き出すとか

ぱっと出てこないけど、使いこなしているが故に出来ないとストレスなんだよね。
0325774ワット発電中さん
垢版 |
2018/05/11(金) 11:57:41.72ID:M2eyGpHu
思い付きの一例だから突っ込まんでくれw
要望がそれなりにあるからこそ、そんな機能が有るんだろうくらいで。
0326774ワット発電中さん
垢版 |
2018/05/11(金) 12:53:16.56ID:fX9hsbm4
>>322
全ての行に意味のないコメントを書くヤツがいたなあ

普通にテーブルとかで複数行揃えてコメント書く場合はあるよな

複雑な編集だと秀丸を使ったり、
場合によってはエクセルとかツール作ったりとか
0329774ワット発電中さん
垢版 |
2018/05/12(土) 00:09:58.20ID:Q9/4XojQ
>>323
整形ツールあるよね。客先の指定で使ったり使わなかったりで、使わないことのほうが多いけど。
0330774ワット発電中さん
垢版 |
2018/05/12(土) 08:26:46.45ID:xlhPeIN/
めんどいからforの中とかifブロックの中で揃ってればいいや
0331774ワット発電中さん
垢版 |
2018/05/13(日) 23:25:05.55ID:1tvivIH3
>>322
普通は、どうやってコメントを入れるの?
0332774ワット発電中さん
垢版 |
2018/05/13(日) 23:45:47.23ID:/RPudDhE
>>331
ボッチでプログラム書いてるなら
プログラム コメント 書き方
とかでググってテキトーに決めればいい
チームでプログラム作ってるならそのチームのやり方に従え
0333774ワット発電中さん
垢版 |
2018/05/13(日) 23:52:56.81ID:XrEi2RTk
>>332
>>331はコメントの入れ方の一般論を尋ねているのではなかろ。

各行末にコメントを入れることについて「老害の典型」と言ってる>>322に実践している方法を尋ねているのではないか?
0336774ワット発電中さん
垢版 |
2018/05/14(月) 07:37:16.22ID:b+8NhGtK
>>335
「普通」を個人に対して尋ねているときは、「その個人が普通だと思っていること」を尋ねているだろね。
0337774ワット発電中さん
垢版 |
2018/05/14(月) 12:29:01.64ID:expV/O8g
納品するプログラムだと未だにステップ数換算とかあるから、コメントも1ステップ扱いされるんで、全行末にコメントあったりするねぇ。
そんな時は、矩形選択が便利やねぇ。

それにしても、納品先はどう考えてるのやら…
0338774ワット発電中さん
垢版 |
2018/05/14(月) 13:14:03.45ID:fgvC1ExV
>>333
はい、その通りです。
言い方を変えると「じやあ、どんな入れ方が良いと言うんだ?」ということです。
0339774ワット発電中さん
垢版 |
2018/05/14(月) 13:14:18.41ID:ulzN/HT2
欲しいのはコメントでもプログラムそのものでもねーよ
とか思ってたりしてw
0340774ワット発電中さん
垢版 |
2018/05/14(月) 13:14:58.65ID:fgvC1ExV
>>336
その通りです。それが聞きたいです
0341774ワット発電中さん
垢版 |
2018/05/14(月) 13:16:11.90ID:UUH2j46e
>>337
いまだにコメントまでお金を取る所があるのか
契約内容を見直した方が良いんじゃない?
0342774ワット発電中さん
垢版 |
2018/05/14(月) 21:22:16.68ID:Ra0M84o4
>>338, >>340
だからググれば色々出てくるだろ
自分がよいと思う奴を採用すればいい
俺のところのやり方がお前に合うかどうかは知らんし、下らんいちゃもんつけられても困るし
0343774ワット発電中さん
垢版 |
2018/05/14(月) 21:38:24.16ID:b+8NhGtK
>だからググれば色々出てくるだろ
>自分がよいと思う奴を採用すればいい

>>338>>340を読んでないな。
読めばそのレスが的外れなのはわかるだろう。

>>342ではなく、>>322のやり方を聞いているって書いてあるのに。
>>322がなんなりと書けば、それなりにいちゃもんが付く可能性もある。

そりゃそうだ。他人の流儀を「老害の典型」なんて批判するぐらいだ。
よほど立派な流儀でなければ、お前が言うか、って言われて当然だと>>342だって思うだろ?



しかし、こういうことは回避策もあるのにな…。
0345774ワット発電中さん
垢版 |
2018/05/14(月) 22:45:19.46ID:b+8NhGtK
よほど立派な流儀でなければ、お前が言うか、って言われて当然だと ID:Ra0M84o4 だって思うだろ?
0346774ワット発電中さん
垢版 |
2018/05/14(月) 22:55:12.88ID:ZczwyAlR
いちゃもん付けるだけで、自分の意見があるわけじゃなさそう。
追い詰めても、何も出まい。
0347774ワット発電中さん
垢版 |
2018/05/14(月) 23:04:51.04ID:CMBcLQHZ
老害はしつこい w
そんなアホレス返す前にググって自分に合うコメントの入れ方見つけりゃいいのに
0348774ワット発電中さん
垢版 |
2018/05/14(月) 23:26:21.58ID:fgvC1ExV
>>322
では、どのようなコメントの入れ方なら良いのでしょうか?
教えてください
0349774ワット発電中さん
垢版 |
2018/05/14(月) 23:26:55.83ID:eq1uHDpK
自ら、何も出せない事を肯定する書き込みしなくても良いのにね。
0351774ワット発電中さん
垢版 |
2018/05/15(火) 03:10:59.01ID:MIPA7bF0
>>350
>>322の手法を聞いているのに、ググってもでてこないでしょう。
>>322に回答して欲しいんだ
もしかして>>350=>>322なのか?
0352774ワット発電中さん
垢版 |
2018/05/15(火) 03:19:16.03ID:MIPA7bF0
>>350
ご紹介のページのソースは、ソースと同じ左右位置にコメントが書いてあるね。
しかもソースの間に。
その方法を推薦するの? 判読性が悪くない?
0353774ワット発電中さん
垢版 |
2018/05/15(火) 04:55:45.97ID:dV9m03Wo
>>352
> ソースと同じ左右位置
インデントと言う用語も知らんのかよ...
さすが老害 w
0355774ワット発電中さん
垢版 |
2018/05/15(火) 06:20:09.04ID:2jCX+aSk
>>353
インデントと左右の位置は、違うけどね。
0356774ワット発電中さん
垢版 |
2018/05/15(火) 06:39:48.61ID:pA8uJhOc
違うと言うならその意味を説明しないと君だけのオレオレ用語なんて誰にもわからんよ
0357774ワット発電中さん
垢版 |
2018/05/15(火) 06:54:56.88ID:RqH4XTfb
ケツの青いバカ造の得意な言葉:「老害」
「老害」で全てを片付ける、ってのは、見ていて精神の貧困さが感じられて痛々しいな。
0359774ワット発電中さん
垢版 |
2018/05/15(火) 07:02:43.00ID:t6znb0lp
>>350のリンク先はコメントに何を書くべきかを論じているのであって、記法についてはつっこんだ話は書いてないように見える。

ルールが定められているときはそれに従うとして、自分で自由に書ける場合の話。

行間に入れる書き方は、ソースコードとコメントを同じ流れで書き連ねるのにあたって、
思考がブツ切れにならないので好きだけど、こういう考えるプロセスそのものは個人によって異なるので、
一般論として「行間に記入する方が思考がブツ切れにならない」とは言えない。

それと、行間に入れる記法だと、行数がどんどん増えてしまう。
また、何年もたってから、ソースコードだけを読みたいときに、最初に書いたときの思考のプロセスとは裏腹に、コメントが読み取りの邪魔になることがある。

行末に入れる方がその点では良いはずなんだけど、どうも変数関数の名前が長くなりがちで、プログラム自体の1行の文字数も多くなっているものだから
横スクロールが苦痛になってしまう。


ところで、>>322はどんな書き方をしているのだろうね。
0361774ワット発電中さん
垢版 |
2018/05/15(火) 07:12:53.82ID:t6znb0lp
>>360
それはインデントって言葉を知らなかったか使わなかっただけのことじゃないの?
0362774ワット発電中さん
垢版 |
2018/05/15(火) 07:14:20.25ID:2jCX+aSk
>>359
ソースは、その形で流れや動作がわかるという面があるので、
その行間にコメントがあっては、流れや動作がわならない。
とかく変数名は長くなりがち。一行は100文字以下にしているけど
行末のコメントに工夫がいるね。
0364774ワット発電中さん
垢版 |
2018/05/15(火) 07:48:17.31ID:2jCX+aSk
行末でには書かない322は、どんな書き方しているのか、知りたい。

画面の左半分はソース、右半分はコメント、
と言うのが僕の書き方。
0365774ワット発電中さん
垢版 |
2018/05/15(火) 07:57:34.16ID:vIwwOLCz
各行末にコメント
だから全部の行に意味のないコメントを書いてるようなのを老害って言ってんだろ
意味のあるところに意味のあるコメントを書かないとな
行末はその行に関するコメントになるが
そういう小さな単位のコメントは規模が大きくなると邪魔になる
意味のあるものに絞らないと

まとまったブロックに対するコメントは行末には書かないよな
一行〜数行、コードのインデントで書いたり

関数ヘッダやファイルヘッダは普通は複数行で
インデント無し

時と場合によってそれぞれの適した書き方がある
0366774ワット発電中さん
垢版 |
2018/05/15(火) 08:35:57.13ID:pA8uJhOc
>>364
別にお前のコメントの書き方に興味はないしボッチ開発なら好きに書けばいい
ただ少しはオープンソースとかソースを公開してる製品のソースコードを見た方がいいぞ
そうすれば今時そんな書き方してる奴は少数派ってわかるはず
0368774ワット発電中さん
垢版 |
2018/05/15(火) 08:42:51.30ID:t6znb0lp
個人の流儀で良いというのであれば、多数派か少数派かで価値に対する色付けをするのはおかしいな。
0369774ワット発電中さん
垢版 |
2018/05/15(火) 08:57:22.44ID:2jCX+aSk
>>366
そうですか。
では、大多数は、どのような書き方をしているのでしょうか?
ぜひ教えて下さい。
0371774ワット発電中さん
垢版 |
2018/05/15(火) 12:23:22.23ID:pA8uJhOc
>>367
そう言うのを俺に言われても困るよ
>>355に聞いてくれ
まあガン無視してるからあんたの想像が合ってるかもね
0372774ワット発電中さん
垢版 |
2018/05/15(火) 12:30:37.23ID:pA8uJhOc
>>368
別に価値があるとかないとかを言ってる訳じゃないよ

>>321 > 行末にコメントを入れている場合
みたいなのは昔よく見たって話で、例えばアセンブラ言語なら今でも(全ての行には入れないけど)行コメントはアリだろうとは思う
また、自分一人しか使ってないスタイルでもそいつが便利に使ってるなら(少なくともそいつにとっては)価値がある
0373774ワット発電中さん
垢版 |
2018/05/15(火) 12:32:52.19ID:pA8uJhOc
調べるヒントを書いてあるのにも関わらず自分で調べようともしない>>369みたいなのも老害の特徴だな
0374774ワット発電中さん
垢版 |
2018/05/15(火) 20:04:47.43ID:Yxph82ei
なんか話が違わくね?
毎行末にコメント入れるようなスタイルと
要所で行末にコメント入れるスタイルの話が混ざってる気がする。

前者は明らかに時代遅れってかおかしいけど
後者は普通にやってるけど。

もちろんブロックごとのコメントも入れるけどねー
0375774ワット発電中さん
垢版 |
2018/05/15(火) 20:29:08.65ID:vIwwOLCz
「各行末にコメントを入れている場合、」

要所ではないよな

テーブル的なものなら別に時代遅れでもない
構造体や変数宣言やenumでもまあ普通
普通のコード部分なら時代遅れ
0376774ワット発電中さん
垢版 |
2018/05/15(火) 20:54:45.77ID:esmdpv6D
各行末にコメントを入れるってアセンブラのソースじゃないの?
0377774ワット発電中さん
垢版 |
2018/05/15(火) 21:14:27.01ID:+MkS1jH7
ちょっとズレた話だが、むかーし、クライアントから機械語でプログラムを書いてくれって依頼があったのを思いだした。
で、コメントを細かく入れてくれって言われたよ。
ハンドアセンブルした機械語のダンプに、どうやってコメント入れろと…

クライアントのスキルも色々とあるんだよ、きっと。
0382774ワット発電中さん
垢版 |
2018/05/18(金) 19:12:51.36ID:n03tp6pI
今はマイコン=組み込みですかね
ArduinoとかmbedとかPICみたいな
OS使わないやつ(RTOS除)
0383774ワット発電中さん
垢版 |
2018/05/20(日) 16:32:25.47ID:l2oF53zA
マイコンを使った機械制御はリアルタイム性が要求されることが多い。
私はエントリレベルのATtiny2313でさえディスパッチャを自作して並列処理にするときがある。
ポーリングに比べるとプログラムがスッキリ、クッキリ、ハッキリする(場合が多い)。
0385774ワット発電中さん
垢版 |
2018/05/21(月) 09:35:29.22ID:+YPLsCwK
ユニークで個性的な確実稼げるガイダンス
暇な人は見てみるといいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

W57NZ
0386774ワット発電中さん
垢版 |
2018/05/22(火) 23:36:04.19ID:hMg1SYbW
ディスパッチャ って何?
0387774ワット発電中さん
垢版 |
2018/05/23(水) 00:52:48.77ID:qOV6/zPY
タスクスイッチャ 
普通にできあいのRTOS使えばいいと思うけど
0388774ワット発電中さん
垢版 |
2018/05/23(水) 02:57:04.64ID:Lptvn80d
素人はLED1個に対してスレッド1個作るとかアホな事をするからなあ

規模が小さければ通常処理&割り込みが良いよ
OSなんかのせて無駄にオーバーヘッド増やさなくても
Windows規模ですら3.1までは協調型マルチスレッドだった位だし
0390774ワット発電中さん
垢版 |
2018/05/23(水) 07:09:49.02ID:qOV6/zPY
L地下にOSとかバカジャネーノと言ってるんでしょ。
PCですら、プリエンプティブじゃなかったくらい大げさだということ
0391774ワット発電中さん
垢版 |
2018/05/23(水) 07:13:53.84ID:IdYpVhHO
私がtiny2313のtimer0_CompA用に作ったタスクディスパッチャは13命令でオーバーヘッドは2.5uS(クロック8MHz時)、
セットアップ(タイマ起動やスタックのセットなど)は25命令程度。
もちろんいっぱい制約や注意すべき点があるが、それでもシングルタスクとは大違い。
…と書いたけど、いつでも役に立つというわけではないし、私もシングルタスクで処理する方が多い。
0392774ワット発電中さん
垢版 |
2018/05/23(水) 07:33:27.88ID:Lptvn80d
どんなに軽くてもタスク切り替えに数十命令
割り込みだけの方がはるかに速い
リアルタイム性が重要なら割り込み以外はあり得ない
特に極小規模マイコンの場合は

また、OSを作るなら
ディスパッチャだけあってもしょうがない

優先順位付きタスクスケジューラー
イベント
セマフォ
スリープ

最低でもこれらの機能が無いと使い物にならない

信頼性や実績や互換性を考えると
世の中に既にあるOSを使うのが普通

OSごっこして一人で遊ぶだけなら問題ないが
何度も書かれるとこちらも意見を言いたくなる
0393774ワット発電中さん
垢版 |
2018/05/23(水) 08:02:14.18ID:8MjknG+c
>>390
この手のマイコン用のRTOSの話にWindows3.1持ってくるのがバカだって話なんだが
OSならなんでも一緒だとでも思ってるのか?
あと>>392とか勘違いしてるけどリアルタイムって応答が早けりゃいいんじゃなくて応答の最悪値を保証することが重要
0394774ワット発電中さん
垢版 |
2018/05/23(水) 08:32:57.79ID:Lptvn80d
Windows3.1を出したのは>>390の言う通り
まさか日本語がそこまで不自由とは思わなかった

普通応答性能って言えば最悪値がまず使われる
平均ももちろん使うことはあるが
0395774ワット発電中さん
垢版 |
2018/05/23(水) 08:35:32.91ID:0vaDRIyS
>>392が勘違いをしているのではなくて、
>>392はできるだけ速い応答を望むのなら、という観点が大きくて
>>393はOSに応答のカツカツの速さとは別の価値を見出した上で、最悪値を保証できれば、という話。

一方は速さ、一方は別の価値。求めるものが違うのに、同じ価値観で話をしたら合わない。
0396774ワット発電中さん
垢版 |
2018/05/23(水) 09:55:09.74ID:CU+Nb+FY
>>383はリアルタイム性を強調した上で自作OSもどきを使うと言ってるんだが
1行目と2行目以降は別の話題だと?

まあこの人は何かにつけて自作ディスパッチャの話題を書きたがるので
本当に別の話題の可能性も無いことは無いけど
0397774ワット発電中さん
垢版 |
2018/05/23(水) 13:27:50.96ID:gIJJY+tA
「リアルタイム性」と「速さ」をごちゃ混ぜにして論じない方がよろしいかと・・・
0398774ワット発電中さん
垢版 |
2018/05/23(水) 15:16:00.59ID:IdYpVhHO
>>392 >ディスパッチャだけあってもしょうがない
例えば、アセンブラを必要としているが入手できない場合(Cにする、は無しで)
 A:そのCPUの使用を諦める
 B:最低限の機能を持ったアセンブラを自作する
どっちにする?
私だったらBで、大急ぎで下記の機能を持ったプログラムを作る。
 数値(実行番地も含む)にラベル(文字列)を割り当てられる。
 特定の文字列(ニーモニック)を16進数にコード変換できる。
そしたら下記のような文字列のアセンブルが可能になる
 Mask .equ $FF
     LDI R16,Mask
     jump L1
 L1  .equ $
macroやif、リロケータブルが必要なら、後で時間がある時に追加、変更すればいい。

条件成立判断の多い複雑なプログラムなら、
タスクを分離できるディスパッチャだけでも十分に役に立ちます。
役に立たないというなら、作っているプログラムが簡単か、
CPUを使いこなせていないせいだと思う。(失礼!)

>何度も書かれるとこちらも意見を言いたくなる
あのネ、それはネ、仲間が一人も居なくて寂しいんですぅ、天涯孤独なんですぅw
ほとんどのCPUに適用できるし、とても簡単なのでどなたかやってみませんか?
小さなワンチップCPUを動かす楽しさが増えると思うんだけどな。
0399774ワット発電中さん
垢版 |
2018/05/23(水) 15:30:45.65ID:IdYpVhHO
そもそも小さなAVRにフル機能のマルチタスクなんか実装できるわけがない。
0400774ワット発電中さん
垢版 |
2018/05/23(水) 16:18:23.39ID:gIJJY+tA
時分割マルチタスクとかRTOSとか
大昔の8ビットマイコンですら普通にやってたんですが・・・
0401399
垢版 |
2018/05/23(水) 16:37:47.15ID:IdYpVhHO
(スマヌ、送信してしまった)
で、A:諦めるか、B:小さなものを作るか、の選択になる。
私はB:を選んで活用している、という事です。

>>400
そうなんですよね、何で今はやらないんだろ?
0402774ワット発電中さん
垢版 |
2018/05/23(水) 17:11:05.85ID:gIJJY+tA
マイコンが遅いからこそ、そんな工夫が必要だったんじゃないですかね?
今は「間に合わんなら速いマイコン持ってこよう」って力技感覚ですし、
それに答え得るARMなんてありますし。
0403774ワット発電中さん
垢版 |
2018/05/23(水) 18:04:15.38ID:FZndx9Aw
Z80で500体のごちゃキャラゲームやれてるくらいだし
500個の並列処理も余裕ってことだ
0404774ワット発電中さん
垢版 |
2018/05/23(水) 18:40:24.18ID:0vaDRIyS
どっちがマイコンを使いこなしているか、みたいな話になったらつまらないですね。
「マイコンを使いこなす」いうこと自体が普遍的な価値観じゃないですよね?

高速割り込みが必要な処理を実装することと、RTOSを載せることは別のベクトルだし。

>>398
昔はマイコンそのものが楽しくて仕方がなくてBだったなあ。今はAだ。
もし、昔ほどのマイコン好きのまま今に至っていたら、あなたとは別の愛し方をしてたと思う。
0407774ワット発電中さん
垢版 |
2018/05/23(水) 19:43:01.31ID:Lptvn80d
アセンブラが無いのにディスパッチャだけ作れるってのもよくわからん
0409774ワット発電中さん
垢版 |
2018/05/23(水) 19:58:04.68ID:1ZHAlSQs
>>403
それクロック1GHzのパチンコ専用品だったりしませんかw
0410774ワット発電中さん
垢版 |
2018/05/23(水) 20:21:37.66ID:VDeJSuEE
車輪の再発明が趣味だというのも勝手だけどな
切れるナイフが安価に売ってるのに
黒曜石ナイフが趣味だという人も居るし
蓼食う虫も好きずき
0411774ワット発電中さん
垢版 |
2018/05/23(水) 20:34:23.29ID:QyNij58K
>>395
できるだけ早い応答とか実務ではほとんど意味ない
ハードリアルタイムとか知らないの?
0413774ワット発電中さん
垢版 |
2018/05/23(水) 20:39:44.29ID:QyNij58K
>>399
フル機能が何を指してるのか知らんけどこの手のマイコン向けRTOSってフットプリント数KBとかだよ?
ディスパッチャーとか言ってるけど次に実行するタスク決めて環境切り替えるだけ、そんなにでかくないよ
0414774ワット発電中さん
垢版 |
2018/05/23(水) 20:44:37.61ID:QyNij58K
>>412
ごめん、何を言いたいのかさっぱりわからん
とにかくレスしたいだけならそれでいいんだけど
0415774ワット発電中さん
垢版 |
2018/05/23(水) 20:45:40.34ID:Vyvh/XCW
今の8bit CPUの規模なら、
許容遅延が厳しい要因の数など知れてる
だからそれを割り込みにすればいい

マルチタスクよりもずっと遅延の最大値を見積るのが簡単

もっと大きな規模であれば
今なら普通は既製のOSを使う
いちいちOSから開発するようなスローな時代じゃないので
0416774ワット発電中さん
垢版 |
2018/05/23(水) 20:47:40.58ID:Vyvh/XCW
既製品よりとにかく軽くコンパクトに作れる技術があるというなら
こんなスレじゃなくて組み込み用OSのスレを立てて語れば良いと思うよ
0417774ワット発電中さん
垢版 |
2018/05/23(水) 20:51:51.14ID:Vyvh/XCW
>>414
>>383の文章から、
リアルタイム性のためにリアルタイムOSもどきを使う
という主張だと思ったわけだ

それに対して、
リアルタイム性を追及するならOSレスの方が良い
という主張をしたわけ
0419774ワット発電中さん
垢版 |
2018/05/23(水) 22:31:55.17ID:0vaDRIyS
「リアルタイム性」という言葉を「すばやい応答」と思う人と、
「リアルタイムOS」という文脈での「リアルタイム」を想定して話す人だと食い違う。

>>396はリアルタイム性を前者で解釈しているから>>383が矛盾したことを言ってるように見えてるのだと思う。
このことは>>397も指摘しているよね。
0421774ワット発電中さん
垢版 |
2018/05/24(木) 00:14:29.35ID:FDYifnoY
>>419
> 「リアルタイム性」という言葉を「すばやい応答」と思う人
コンピューター関連の用語としては間違い
せめてWikipediaぐらいは読んでから出直してこい
https://ja.m.wikipedia.org/wiki/リアルタイムシステム
0422774ワット発電中さん
垢版 |
2018/05/24(木) 06:04:03.44ID:YbkoUkq7
>>418
PICスレでそんな事をいう人がいたから実際測ってみたけどそうでもなかったよ
その時測ったのはPICの8bit, 16bit, 32bitだけだけど
クロック数で数えて同じくらい
実際の時間はクロックが速いほど速い
0423774ワット発電中さん
垢版 |
2018/05/24(木) 06:18:00.10ID:YbkoUkq7
>>421
OSのリアルタイム性と言えば
応答性能を指標にするのが普通なわけだけど
割り込みであったりタスク切り替えだったり
キーを押した時の反応であったり

機械制御のリアルタイム性は
そういう応答性能と処理時間で決まる
処理時間はOSを何にしようが関係ないので
項目的には応答性能以外語る事は無いと思うのだが

それとも1個のタスクで複数の処理を行うといった
ソフトの基本的な作りを知らないとか?
これはマルチタスクだろうが知っておかないとダメだぞ
LEDの単なる点滅でタスクを作ることになる
0424774ワット発電中さん
垢版 |
2018/05/24(木) 06:38:06.27ID:geGMyYRT
>>423
だからリンク先読んでこいよ...
お前、ハードリアルタイムの意味もわかってないだろ
0425774ワット発電中さん
垢版 |
2018/05/24(木) 06:51:28.73ID:YbkoUkq7
普通のリアルタイムの分類が書いてあるだけだが

人の書き込みを否定するだけじゃなくて
具体的に>>383の「リアルタイム性」の内容を書けば良いのでは?
>>383がどういう意味で使っているかを知っているなら
0426774ワット発電中さん
垢版 |
2018/05/24(木) 07:12:28.00ID:ozqIikV/
>>423
>OSのリアルタイム性と言えば
>応答性能を指標にするのが普通なわけだけど
様々な要素の中でそういうことも含まれてくるかもしれないけどそれが指標というのはおかしいと思う。

「リアルタイム性」という言葉を、「リアルタイムOS」の「リアルタイム」から離れて辞書的に解釈しているような気がする。
たとえばマスメディアが「リアルタイムに情報をおとどけします」といえば「即座にニュースが届けられる」と思う人が多い。
>>423は「リアルタイム」をこれと同じように解釈しているのではないだろか。

http://www.m-system.co.jp/mstoday/plan/mame/b_network/0702/index.html
「リアルタイムというと応答速度が速いことと誤解される場合が多いですが、」


>>423に質問なんだけど、
「リアルタイム」という言葉をどちらの意味で使っていますか?
・即時応答すること
・「リアルタイムOS」の概念の中での「リアルタイム」
0428774ワット発電中さん
垢版 |
2018/05/24(木) 07:25:10.16ID:ozqIikV/
>>427
えーっと、こんなことを言いたくないですが、日本語はわかりますか?

どちらの意味で使ってますか?という質問に答えるなら、どちらかを選ぶものだと思います。
日本語がわかっているのに、そのような答え方をしないのは、その答え方をすると都合が悪いとお考えになったからですかね。
0429774ワット発電中さん
垢版 |
2018/05/24(木) 07:27:57.77ID:YbkoUkq7
マイコンの役割は
ADCやポートや通信やタイマーなどのトリガーに対し
規定時間以内に適切な内容にして
DAC、ポート、通信などの形でアウトプットする事
0430774ワット発電中さん
垢版 |
2018/05/24(木) 07:34:01.75ID:ozqIikV/
>>429
マイコンで実現するシステムに求められるさまざまな要素のひとつではありますけど、全てではないですね。
0433774ワット発電中さん
垢版 |
2018/05/24(木) 07:41:35.29ID:ozqIikV/
ID:YbkoUkq7さん。
「リアルタイム性とは即時応答すること」と解釈している、と書かれても不都合はないような気がします。

業務の中でリアルタイムOSを議論しているときに、その解釈で話に混ざったらまずいですけど。
0434774ワット発電中さん
垢版 |
2018/05/24(木) 07:43:25.20ID:YbkoUkq7
>>425には答えないのですかね?
あなたなりの解釈
あなたのリアルタイム機械制御のイメージ
処理の具体例

そもそもあなたはリアルタイム機械制御をマイコンでやったことがありますか?
0435774ワット発電中さん
垢版 |
2018/05/24(木) 07:47:33.68ID:YbkoUkq7
あなたの
「リアルタイムOS」の概念の中での「リアルタイム」
を解説していただいてもいいですが

一般的なリアルタイムOSのリアルタイム性能とは違うようなので
0436774ワット発電中さん
垢版 |
2018/05/24(木) 07:48:30.28ID:ozqIikV/
>>432
>小規模マイコンを使ったリアルタイム機械制御

そもそも、これが微妙な表現だと思うのです。
「機械の制御」という言葉と並んで「リアルタイム」という言葉がでてきたら、
システムをやっている人は「リアルタイムOS」の線での解釈での「リアルタイム」を前提にしてしまいます。

でも>>432ではできるだけ早く応答する、の意味ですよね。
0439774ワット発電中さん
垢版 |
2018/05/24(木) 07:56:38.80ID:YbkoUkq7
「特定のイベントに対して、一定時間内に定められた処理を行う」
>>429の内容そのままですね
0440774ワット発電中さん
垢版 |
2018/05/24(木) 07:57:47.36ID:ozqIikV/
>>438
すみません。たしかに行き過ぎた解釈です。
0441774ワット発電中さん
垢版 |
2018/05/24(木) 08:00:23.16ID:ozqIikV/
であれば>>383に書かれていることに矛盾はないってことになりますね。
戻ってきた。
0442774ワット発電中さん
垢版 |
2018/05/24(木) 08:17:01.13ID:geGMyYRT
>>425
機械制御 リアルタイム
って書いてあればこのスレ見てる奴の大半はハードリアルタイムなんだろうなって想定する
そもそも>>383はポーリングでも書けるけどディスパッチャーを使った方がプログラムがスッキリすると書いてて、応答速度の話はしてない
無駄に速度を追い求めるのは素人のやること
0444774ワット発電中さん
垢版 |
2018/05/24(木) 09:03:17.63ID:aBjWPUa7
無駄に自作ディスパッチャとか無駄にアセンブラとかは趣味の世界の話で
今時の業務だとやらんな

移植性も問題点の発見のしやすさや性能の見積り性も劣る
超小規模マイコンではデメリットの方が多い

OSが必要であれば、
当然ちゃんとした機能や信頼性や性能や実績が必要
IDEで扱えることも判断の材料
まともな判断をするなら自作が候補に上がることは無い
0445774ワット発電中さん
垢版 |
2018/05/24(木) 09:16:51.37ID:XM1MTmuP
ははは
機械に特化したPLCだって
一見リアルタイムでマルチタスクやってるように見えるが
中身は普通のマイコンだぜ
入力と出力のタイミングだって、スキャンされてストックしたデータを使ってるだけだし

リアルタイム入力のために専用のハードをつけて対応したりしてるだけだ
そういう場合にはスキャン途中であっても割込みで現在値に置き換わる

大筋で大したことをしていない
0446774ワット発電中さん
垢版 |
2018/05/24(木) 09:18:05.88ID:aBjWPUa7
否定的なことだけだと良くないな

具体的に
コードがきれいになったとか
工数が減ったとか
性能が上がったとか
使用リソースが減ったとか
そういう例を上げてくれれば良いのだよ

>>398みたいなまずあり得ない例じゃなくて
0447774ワット発電中さん
垢版 |
2018/05/24(木) 11:43:25.94ID:f26meJZN
(RT)OSの役割は基本的には標準化(隠蔽)だからな
工数が減ってコードは綺麗になるかもしれないなが
性能は落ちて使用リソースは増える(こともある)
それでもデメリット < メリットなら使う意味がある
RTOS使わずスクラッチでカリカリ書けば性能上がって
使用リソースは減るかもしれないが、保守性は下がるだろう
小さいシステムではそうせざるを得ないときもあるだろうし
早い話、
好きな風にやればいいと思うよ
0449774ワット発電中さん
垢版 |
2018/05/24(木) 21:05:02.82ID:6daz5OqU
ま、皆様方には色々と御意見や御批判もお有りでしょうがw
tiny2313のような小さなMCUをマルチタスクで動かしますと、
新たな世界=プログラミングって楽しいな、MCUって楽しいな=が
開けるものと信じておりますです、ハイ。
ディスパッチャはとても短くて、ほとんどのCPUに移植できます。
難しいお考えはひとまず置いといて、まだの方は是非お試しを。

>>383 以降の貴重な御意見の数々、誠に誠に有り難うございました。
皆様方のなお一層のご繁栄を願っております。
0450774ワット発電中さん
垢版 |
2018/05/24(木) 22:32:04.51ID:V3brbhUY
今はもう旬じゃないけど、ITRONもどきの小さいマルチタスク作って使っていたわ。
多重割込みのタスクスイッチをやめちゃえばすごく簡単になるんだよね。

タイムスライスでゆっくりやるタスクと、高速応答部分を分けて、とにかく最小時間で
割込みを返せば多重割込みしなくてもOKな場合がほとんど。
0452774ワット発電中さん
垢版 |
2018/05/25(金) 07:56:50.82ID:yovj+JmJ
多重割り込みを許可するタスクスイッチ、を端折ったかな?
0454774ワット発電中さん
垢版 |
2018/05/25(金) 13:01:53.60ID:l4yYU7n0
多重割り込みの各ISRをタスクと名付けて
それの切り替わりをタスクスイッチと言ってるのかな?

リアルタイムOSを使うと多重割り込みを使わなくて良いように書いてる人がいるけど
そんな事は無いよな

主張がいまいちよくわからん
0455774ワット発電中さん
垢版 |
2018/05/25(金) 17:13:18.76ID:4zlzuoaR
>>450 >タイムスライスでゆっくりやるタスクと、高速応答部分を分けて、
そだねー、タイムスライスでも割り込み処理は必須だよね
たとえばUART関連処理を別タスクに分離しても、よほど低速通信でない限り
UART受信割り込みを使わざるを得ない場合がほとんど
タイムスライスの主な目的はタスク分離だよね
もっともI/O処理ならDMAが最強だと思う
DMA付きCPUをもっと増やしてくれー
0456774ワット発電中さん
垢版 |
2018/05/25(金) 18:12:12.55ID:G1P4cbzs
8bitCPUにOSとかDMAとか
なんだかなあ

UARTの受信なんか普通に割り込みで使えるように出来てるんだから素直にそうすれば良い
キューに1バイトコピーするだけなら非常に軽いんだから
少なくともタスクスイッチなんかするよりも
0457774ワット発電中さん
垢版 |
2018/05/25(金) 18:17:17.76ID:G1P4cbzs
DMAなんか
ちょっと高機能なのだと普通に8bitCPUよりも多くのトランジスタを使う
マイコンの規模に見合ったペリフェラルにしないとね

UARTだとまずはFIFO
これだけで割り込み回数も減らせるし
割り込みの遅延スペックも緩く出来る
16bitクラスのマイコンのUARTだと大抵はFIFOがある
0458774ワット発電中さん
垢版 |
2018/05/25(金) 19:30:41.97ID:QCYMOSbt
ISRはタスクじゃなかったか。 ISR実行中は他のISRを一律全部抑止してタスクスイッチャを
簡単にするの意。
最近ごぶさたなのでいいかげんな物言いしてもうたかも
0460774ワット発電中さん
垢版 |
2018/05/25(金) 20:29:09.86ID:G1P4cbzs
RAMが128バイトじゃ
マルチタスクにしたらタスク1個あたりのスタックは少なくて、
割り込み分のスタック分を各タスクから引いたらほとんど残らないのでは?
0461774ワット発電中さん
垢版 |
2018/05/25(金) 20:58:36.31ID:QCYMOSbt
30年近く前使ってたマイコンがRAMが512バイトだったかな。
これくらいあると結構いける。
GUI付で作った奴は62256載せてた記憶。
0462774ワット発電中さん
垢版 |
2018/05/25(金) 21:02:06.20ID:QCYMOSbt
タスク化すると、流れの中で「待ち」を気軽に記述できるので、ループをたくさん書けるのが楽。
キー入力待ち、トリガー信号待ち、シリアル受信待ち、xx待ちをバラバラに別ループで記述
0463774ワット発電中さん
垢版 |
2018/05/25(金) 21:47:05.32ID:c74/vayJ
1品物だと、富豪でやっつけちゃった方が楽に早く仕上がる
0464774ワット発電中さん
垢版 |
2018/05/26(土) 01:59:47.60ID:9yqD9o4q
>>462
そうやって
LED 1個キー1個でタスクを作るような間抜けなコードが出来るわけだな
0465774ワット発電中さん
垢版 |
2018/05/26(土) 04:04:13.17ID:mUBT08FZ
解は無数にあるんだから一概に間抜けなコードとか言えないだろ。
与えられたリソースを使って仕様を十分に満たしていればとりあえず
ケチを付けられる理由はない。
「俺のコードは美しいぜ」とか「移植性が」なんて所詮自己満足の世界。
0467774ワット発電中さん
垢版 |
2018/05/26(土) 06:07:50.02ID:9yqD9o4q
>>465
移植性とか美しいとか言ってるって事は
なにが問題点かわからないってことだな
0468774ワット発電中さん
垢版 |
2018/05/26(土) 07:55:36.97ID:QWSfPn5l
ポーリングで並行処理を行うようなプログラムを組んだことある奴ってあまりいないんだな
>>445>>463ぐらいか
そう言う経験がないと>>383の言ってることは理解しづらいかもな
0472774ワット発電中さん
垢版 |
2018/05/26(土) 11:39:56.40ID:z/ZFkuRj
マルチタスクいいよ楽だよと書いといてなんだけど、最近はとんと使ってない。
次々来る新規CPUにいちいち作ってらんないし、出来合いのを入れるのも
それはそれで面倒だしで使わなくなってしまった。
メインループ一個で、順番にポーリングしていくのばかり
0473774ワット発電中さん
垢版 |
2018/05/26(土) 11:40:21.23ID:R+Wahqwp
>>462
並列処理をやった事のない奴に、簡単なプログラムしか書けない奴に
いくら並列処理のメリットを説いてもムダだよ
シングルタスクのポーリングだらけのグチャグチャプログラムを死ぬまで書いてろ
たとえ小さなAVRであってもマルチタスクで書きたいって気持ちはよく分る
0474774ワット発電中さん
垢版 |
2018/05/26(土) 11:50:04.99ID:R+Wahqwp
>>472
使いにくさとのトレードオフになるけど、シンプルなものにすればいい
どちらにするかは人それぞれ、適用するプログラムそれぞれで
もちろん使わないという選択肢もある
0475774ワット発電中さん
垢版 |
2018/05/26(土) 11:50:57.38ID:INwDZKqM
>>473
> たとえ小さなAVRであってもマルチタスクで書きたいって気持ちはよく分る
ソフトからスタックがさわれないPIC厨には無縁
0476774ワット発電中さん
垢版 |
2018/05/26(土) 12:15:48.48ID:R+Wahqwp
>>475
たしかPIC18はOKでしょ?
でも >もちろん使わないという選択肢もある です
どんなCPUを使うかもあなたの自由ですよ

雑談になるけど
昔、シーケンサ(PLC)のプログラムを書いていた人とPCの事務処理プログラムを書いていた人に
機械制御の簡単なプログラム(もちろんシングルタスク)を書いてもらった事がある

PLCあがりは条件が成立しなければすぐにそのチェックルーチンから抜けてくるような
リアルタイム処理風に書いていたが
PCあがりはクセになっているのか、何回か注意したのに
ローカルの条件成立ループ待ちをしてしまう

PLC上がりの人に、リアルタイム処理になってますねと言ったら
「え、今までこうやってましたし、これが普通だと思っていました」
と言われて、そうだよなと納得した
0477774ワット発電中さん
垢版 |
2018/05/26(土) 12:55:52.78ID:58rgUmJC
>>476
> PCあがりはクセになっているのか、何回か注意したのに
> ローカルの条件成立ループ待ちをしてしまう

windows3.1あがりならそんなことしないのだが。
0479774ワット発電中さん
垢版 |
2018/05/26(土) 13:13:04.96ID:Fw0QanH2
>>473
普通CPUて色々な処理を行うのが普通なわけで
1つの仕事しかしない方が珍しいかと

私自身の経験を言うと
RAMが数十バイトの8bitマイコンの世界から
8コアSoCまで業務で扱うし
PCやLinux上のプログラムも扱う

RAMが128バイトレベルのマイコンで
せいぜいUART通信、キー、LED、リモコン、簡単なフィードバック制御くらいな簡単な処理
わざわざ複雑にしなくても
RAM/ROM/CPUパワーも余分にいるし
0480774ワット発電中さん
垢版 |
2018/05/26(土) 13:16:13.86ID:Fw0QanH2
RAM128バイトで何個のタスクにわけるつもり?
どう考えても>>479みたいな処理は無理だろ
0481774ワット発電中さん
垢版 |
2018/05/26(土) 15:13:57.33ID:QWSfPn5l
>>472
> メインループ一個で、順番にポーリングしていくのばかり
ないわー、テレビのリモコンみたいに単機能で基本ひとつのことしかしないようなやつならまだしも
0482774ワット発電中さん
垢版 |
2018/05/26(土) 15:20:37.64ID:z/ZFkuRj
>>481
平行とか並列と言ったってしょせんシングルコアなんだから順番にやるしかないでしょに。
俺が対象にしてるのはシリアルやいくつかの接点入力、SPI、I2C、A/D、
OUTはモーターONOFF、PWM、たまに音声出力、そういうものなんだけど、
ループはなるべく一個でやる。
タイミングはタイマー割込みで正確に取るぞ。
0483774ワット発電中さん
垢版 |
2018/05/26(土) 15:21:25.99ID:QWSfPn5l
>>478
その辺がどの辺を指してるのかよくわからんけど、マルチタスク/マルチスレッドをサポートしてる環境は普通にあるでしょ
>>383とかが言ってるのはもっと小規模な奴のこと
0484774ワット発電中さん
垢版 |
2018/05/26(土) 15:22:55.15ID:z/ZFkuRj
もちろんタイマー以外の割り込みも使えるものは使って、バッファに取り込んでから
ループ中でポーリング
0485774ワット発電中さん
垢版 |
2018/05/26(土) 15:24:55.08ID:QWSfPn5l
>>482
別に好きにやればいいと思うが、今時面倒なことをよくやるよな
って感じ
0486774ワット発電中さん
垢版 |
2018/05/26(土) 15:25:04.48ID:6x6DIeL4
>>472
自分もマルチタスクのフレームワーク作ってるけど、個人の研究用だな。
同じマイコン使ってても、仕事では使わない。なんか問題起きると厄介だし。
0487774ワット発電中さん
垢版 |
2018/05/26(土) 17:42:18.39ID:yD+r73y7
マルチコアシングルタスクの実装を見たときの衝撃を皆に分けてあげたい。
0488774ワット発電中さん
垢版 |
2018/05/27(日) 00:08:56.72ID:3u1KFoiq
>>481
良くある普通のシングルタスク処理
タイムクリティカルな処理は割り込みでやる

超小規模であればシングルタスクとシングル割り込みで十分
もうちょっと大きくなるとシングルタスクと多重割り込みで良い
多重割り込みとマルチタスクはもっと規模が大きい時に使う

そもそも
プライオリティもイベントもセマフォも無いプリエンプティブなマルチタスクなんてどうやって使うんだ?
それこそ各タスクでポーリングするしか無いのでは?
0490774ワット発電中さん
垢版 |
2018/05/27(日) 00:17:57.38ID:3u1KFoiq
非対称デュアルコアで、
サブコアはISRの形でしか動けないマイコンがあったような
今のGPUにちょっと似てるかも

あと、
マルチコア(8コア)のマイコン用OSなのに
各コア独立に動くってのもあったな

PCが普通だと思ってると色々と驚く
0491774ワット発電中さん
垢版 |
2018/05/27(日) 00:28:55.53ID:3u1KFoiq
>>476
ループ待ちは非常に短い時間なら普通にやる
最近多くのCPUに載ってるLL/SC命令なんかはループ前提だし
セマフォやミューテックスもループではないけど条件が整うまで待つ為の物

通信もブロッキングの方が圧倒的に楽に作れる場合が多い
0492774ワット発電中さん
垢版 |
2018/05/27(日) 00:38:54.89ID:3u1KFoiq
>>486
個人の研究用にOSを書くのは勉強にもなるしオススメなんだけど

>>383の場合は「簡単だし楽だからみんなも作れ」としつこく書いた前科がある
機能がほとんどないOSもどきを作っただけで
0494774ワット発電中さん
垢版 |
2018/05/27(日) 07:05:37.66ID:oLi36BJG
>>488
> プライオリティもイベントもセマフォも無い
なに勝手に妄想してディスってるんだよ...
タスクスイッチ作るならプライオリティはともかく待ち合わせ機能を実装するのは当たり前、でないとほぼ意味ないし

>>492
> 機能がほとんどないOSもどきを作っただけで
OSってなんかよくわからんけどすごく難しいもんだって思ってないか? w
ちょうど>>493があげてる本の著者が書いてるWebがあるからこれでも読んどけ
ソースも公開してくれてる
http://monoist.atmarkit.co.jp/mn/spv/1107/25/news004.html
0495774ワット発電中さん
垢版 |
2018/05/27(日) 07:07:23.24ID:JUf54n7p
欲しいものが無ければ諦めるか、自作するかの選択で
諦める人と自作する人がいるって簡単な話だよ

自作する人は役に立つから自作するって言ってる
自作した事が無い人がそんなもの役に立たないなどととやかく言ってもしょうが無い
0496774ワット発電中さん
垢版 |
2018/05/27(日) 08:57:42.59ID:LsSqWT5D
>>495
>欲しいものが無ければ諦めるか、自作するかの選択で
>諦める人と自作する人がいるって簡単な話だよ

そんなことは役に立たないだろう、金銭的にペイしない、って周りから批判的に言われるようなことを
グダグダやっている人の存在を許す組織と、許さない組織があります。
変則的な事態に強いのは前者だと思います。
0497774ワット発電中さん
垢版 |
2018/05/27(日) 09:09:42.98ID:EfXBy/Em
タスクリスト、イベントリスト、セマフォリスト、メールリスト
こんくらいあればだいたい間に合うよね。
チェーンリストじゃなくて配列にして、ヒープはめんどいからやらないことにすれば
実装は簡単か
0498774ワット発電中さん
垢版 |
2018/05/27(日) 10:03:37.80ID:KqVZSnzq
どこから組織的な話になるんだろう?
前提がおかしすぎる
0499774ワット発電中さん
垢版 |
2018/05/27(日) 10:38:00.54ID:LsSqWT5D
>>498
すみません。端折ってしまいました。

>欲しいものが無ければ諦めるか、自作するかの選択で
>諦める人と自作する人がいるって簡単な話だよ

後者みたいなことをする人が存在できる組織は変則的な事態に対応する力があるって話です。
あたりまえながら、俺の見聞きした範囲ですが。

自作OSは業務に使わない・使えない、という結論と
自作OSを作る行為が業務の役に立つ・立たないということとは別だし、
そこを混ぜて話をしたらお互いに接点も見いだせないと思うのです。
0500774ワット発電中さん
垢版 |
2018/05/27(日) 11:05:07.78ID:KqVZSnzq
だれも組織的にやろうなんて話題は出してないから混ざりようもないでしょ。
まあ時分割くらい昔から業務でも使われてるんだけどね。
0502774ワット発電中さん
垢版 |
2018/05/27(日) 11:22:32.02ID:KqVZSnzq
やばい、変な奴に関わってしまった・・・・
0503774ワット発電中さん
垢版 |
2018/05/27(日) 12:39:10.53ID:f1NziepZ
>>496
個人のスキルアップなら業務外にやってね
あと製品に搭載するとか言い出さないように
0504774ワット発電中さん
垢版 |
2018/05/27(日) 12:43:50.84ID:f1NziepZ
>>502
少なくとも業務の話は出てたはずだし>>499の主張の意味もわかる

それぞれの3回の書き込みだけみれはきみの方が変なヤツ
0505774ワット発電中さん
垢版 |
2018/05/27(日) 13:25:00.78ID:LsSqWT5D
>あと製品に搭載するとか言い出さないように
それをうまく抑える常識派 (というと、とても語弊がありますが) がいないと組織が成り立たないですね。


昔いたところに、日がな役に立たなさそうな実験とか設計とかしてる人が何人かいて、
トップの人も普通にプロジェウトに組み込まれた俺も同僚も、あいつらそれでいいんだと考えていました。

小さい組織じゃそんな余裕はないですが。
0507774ワット発電中さん
垢版 |
2018/05/27(日) 14:30:53.32ID:qVsObTfb
言った言わないの話は、森友と日大で良いよ。

俺は今まで会社と無関係な勉強や実験を散々したが、
しばらくすると、業務でその知識を使う場面が生じ、仕事に使う羽目になる経験を沢山してる。
電子工作だろうと、株取引だろうと、園芸だろうと、
自分で考え苦労して工夫した事は応用が効く。
0508774ワット発電中さん
垢版 |
2018/05/27(日) 14:55:27.71ID:Ab5finJd
業務中に勉強しちゃダメ
業務外で習得したスキルは業務で使っちゃダメ
なんだろ?
0510774ワット発電中さん
垢版 |
2018/05/27(日) 15:28:13.24ID:LsSqWT5D
>業務中に勉強しちゃダメ
>業務外で習得したスキルは業務で使っちゃダメ
そんなこと言う人いるかな?
0511774ワット発電中さん
垢版 |
2018/05/27(日) 16:43:44.06ID:JUf54n7p
人と同じ事をやっているだけでは人より先に進むことは出来ない
誰もがやれる事をやっていたら納期と価格の勝負になってしまう

……なんてこんな所で書いてもしょうがないか
0512774ワット発電中さん
垢版 |
2018/05/27(日) 17:37:44.65ID:LsSqWT5D
>>511
プリミティブなことを追体験することや、既存のものを自分で作ることを、
「車輪の再発明」「先に進む行為ではなく後ろ向けに進む行為」と考える人もいる、
ということでしょね。

どんどん進歩してる世の中だし、その時間を新しいことを取り入れることにむけるべき、
という考え方もわかります。

幅の広い電子やITというジャンルの中だと、小さい組織も個人もできることは限られてて
「仮想の他の人」にできることを、一通り自分もできるようにすること自体ほぼ不可能です。
それゆえに、急き立てられるようなプレッシャーの中で好む好まざるにかかわらず
ブラックボックスを受け入れつつ新しいことを取り込んでいこうとしている人からすれば、
原理的な部分に取り組むのはかったるいことに見えても仕方がありません。

もしそれが組織なら、誰かが新しいことをやって、誰かが足元のことを固めていく、というような
差配を上の人がすればいいのですが。

あと、自分が向いてる方向が正しいことを認識するために、他の人も同じ方向を向くべき、って
考え方になるとぎくしゃくします。
自分が向くべきでないと考える方向に他の人が向いていても、自分の正しさと他の人の正しさは
両立することが少なくないのにね。

5chのような場所で、ほか人のやり方が間違っている、と感情的になってしまうのはヘンな話です。
たぶん、組織や個人の中で同じような議論や葛藤があって、それがここで出てしまうのだと思います。
0513774ワット発電中さん
垢版 |
2018/05/27(日) 19:33:13.70ID:X/cUURup
そんなつまらないこと外注しろとか、
オフショア開発で安くしろとか言ってたら、
何も作れなくなっていたと言うオチ。

様々な車輪の再発明をしてると、
ロケットとか宇宙船を発明するようになってくんだ。
0514774ワット発電中さん
垢版 |
2018/05/27(日) 22:40:09.26ID:LsSqWT5D
>とか言ってたら、

ここに来ている人の多くは言われてる立場だったりして。
言われてる立場だからこそ、そこからフリーでいられる人が疎ましいのかも。
0515774ワット発電中さん
垢版 |
2018/05/27(日) 22:42:58.35ID:f1NziepZ
>>508
業務中に勉強することも当然あるが、
業務で勉強する以上は勉強の効率や成果が期待される
普通はもっと業務に直結する効率の良い学習をする

下っ端であれば無許可でやるのもまずい
普通は業務で使わないコードを書いていたら
遊んでいると思われる

暇で仕事がない期間にこっそりやるのがせいぜい
0516774ワット発電中さん
垢版 |
2018/05/27(日) 22:45:58.84ID:f1NziepZ
別にOSを自分で作ること自体を私は否定していないし、
個人的には非常に楽しいと思う

他人に強制する
OSを作った事がない人を見下す
こんなヤツが問題だってこと
0517774ワット発電中さん
垢版 |
2018/05/27(日) 22:51:58.63ID:f1NziepZ
自作OSに限らずマルチタスクやマルチスレッドは罠がたくさんある
ベテランエンジニアでもミスすることもある

業務でも趣味でも、
使うときは以下のような項目を学んでおいた方が良い

同期、排他制御、イベントドリブン、様々なロック現象、アトミック処理、マルチコアの注意点、アウトオブオーダーの注意点
0518774ワット発電中さん
垢版 |
2018/05/27(日) 22:55:31.10ID:oLi36BJG
>>516
> 他人に強制する

> 個人のスキルアップなら業務外にやってね
> あと製品に搭載するとか言い出さないように
とか強制してる奴が何を言ってるんだか w
0520774ワット発電中さん
垢版 |
2018/05/27(日) 23:05:38.02ID:LsSqWT5D
>>518
>>516は「他人に強制すること」を問題だと言ってるのではないでしょね。
「他人に自分が作ったOSを使うことを強制すること」を問題だと言ってるのだと思いますよ
0521774ワット発電中さん
垢版 |
2018/05/27(日) 23:11:42.10ID:f1NziepZ
当然その通り
わざわざ書かないとわからなかった?
それは失礼
0522774ワット発電中さん
垢版 |
2018/05/27(日) 23:16:59.29ID:oLi36BJG
>>520
で?

対象はなんであれ匿名掲示板で他人に強制するなんて意味ないって嘲笑してるんだが
ってところまで説明しないとダメなの?
0524774ワット発電中さん
垢版 |
2018/05/27(日) 23:24:51.25ID:LsSqWT5D
>ってところまで説明しないとダメなの?
そうでしょね。>>520が誤解だと言うぐらいなら、ですけど。
0526774ワット発電中さん
垢版 |
2018/05/27(日) 23:31:39.33ID:LsSqWT5D
>>525
つきあいが長くてだいたい考える傾向がわかっている相手とのSNSでのメッセージ交換とか
対面していて顔色、身振り手振り、声色を把握できる相手とのコミュニケートと
一緒してちゃ駄目だと思います。
文字と説明を尽くしましょうよ。
0527774ワット発電中さん
垢版 |
2018/05/27(日) 23:41:46.53ID:oLi36BJG
>>526
別に全員にわかってもらおうとは思ってないのでわからないならそのままでいいよ
0528774ワット発電中さん
垢版 |
2018/05/27(日) 23:55:27.86ID:LsSqWT5D
>>527
リアルな会話なら、>>527を聞けば「いじけてヘソを曲げてるな、かまってあげないと」と気遣うものです。
「そんな、キミ、まちなよ」とか言って、ハンカチを差し出したりするところです。
そういう気遣いがほしいですか?

書かれたそのままではなく、書かれていないことまで理解を求める人なので忖度してみました。
それとも今回はそのまま理解してよろしいですか? 俺が同じことを言うときはそのまま理解して欲しいですけど。
0530774ワット発電中さん
垢版 |
2018/05/28(月) 01:53:19.48ID:XS50FlBO
昔、とあるニッチ製品メーカーの機械制御はリレーシーケンスだった。
ある日、一人のマニアがマイコン制御化した。
会社は成長し、製品に対するニーズは高まり、より多くの機能・性能が求められた。
多重割り込み程度ではバグだらけでデバッグも難しく、市販OSもニッチ商品故に手が出せなかった。
社で定期購読させてもらっていた専門誌やフリーランスからのアドバイスなどを手掛かりに
自作マルチタスクを標準化し、人員を増し、手分けしてソフトを作れる環境を構築した。
自社製品・他社委託品を生み出しながら、8bit、16bitを経て、今では32bitマイコンで
ライセンスフリーなRTOSを標準とするようにまでなった。

その技術者が定年するときに苦労をねぎらうと、
「趣味を好き勝手にやらせてもらって楽しかった」と笑っていた。
0534774ワット発電中さん
垢版 |
2018/05/28(月) 07:59:25.48ID:0ax8cIwi
volatile って、なんと発音すれば良いでしょうか?
ボラティル?
0535774ワット発電中さん
垢版 |
2018/05/28(月) 10:14:32.88ID:CWi0fqH4
>>530
たかが機械制御にマルチタスク?
頭悪すぎ

あんなのは単に定期割込みですべての内部リレーの
変数を更新掛けてやってるだけで
メインループ1個だけのシングルタスクだ
オブジェクト処理に近いことをやってる

そのループが高速だから、マルチタスクのようにふるまって
多数の機械が同時に動いてるだけ

多重割込みとかバグとか、その時点でアホ丸出し
0536774ワット発電中さん
垢版 |
2018/05/28(月) 10:21:17.98ID:gIccmME5
マイコンがやっているのがリレー制御だけだと思っているのか
こいつは
頭悪すぎ アホ丸出し
0537774ワット発電中さん
垢版 |
2018/05/28(月) 10:35:06.20ID:ouyDTTQm
>>535
最新の機械に頼らず生きろよ
たかが電話機にマイコン積むなんてアホ丸出しって言ってるのと変わらんのだから
0538774ワット発電中さん
垢版 |
2018/05/28(月) 10:54:53.36ID:cY1ONF8U
>>534
普通はボラタイルだろう。
名詞形はボラティリティ。金融系でよく使う言葉

意味は変わりやすいとか、変わりやすさとか。
0539774ワット発電中さん
垢版 |
2018/05/28(月) 11:41:00.12ID://+u1+aM
機械制御って
単にスイッチを切り替えるだけの簡単な物から
ロボット制御みたいな非常に大規模な物まで

まあ普通は単にスイッチを切り替えるだけの簡単な物は機械制御とは言わないような気もするが
0542774ワット発電中さん
垢版 |
2018/05/28(月) 17:01:08.73ID:eWe1x/rz
嗚呼、マイコンエンジニアがもう定年退職するような時代になったんやねぇ・・・

むかしはマルチタスクとかマルチスレッドとかとは言わずにリアルタイムモニタっていったよねぇ・・・
0543774ワット発電中さん
垢版 |
2018/05/28(月) 18:11:50.17ID:Jh+jbLNK
>>535
機械制御の手段をを固定化して考えていないか?
あんたが書いていることはPLCの動作そのものだな。
PLCは1スキャンで必要なI/O全てを1点づつ処理するので
あくまでも<スキャンタイム内>でリアルタイム処理になっている。

CPUを使ってPLCと同じスキャン制御させたとしても、
確かにあんたの言う通り、これをマルチタスク処理とは言わない。
でも >>530 はPLCと同じスキャン制御、とは書いてないぞ。

機械制御はスキャン制御だけではない。
私は昔、機械制御に特化した並列処理のインタープリタを書いたことがある。
PLCに慣れた人からは、使いにくいと悪評だったがw
でももう20年以上、全国の工場の何台もの機械で使われ続けている。
0544774ワット発電中さん
垢版 |
2018/05/28(月) 18:20:39.44ID:Jh+jbLNK
>>524
最近のニーチャン達は昔と違ってマルチタスクを自分で作れないんじゃないか?
だから、落語の「饅頭怖い」と同じで、
そんなものは必要ない、役に立たないなどと言ってるのでは?
tiny2313用のディスパッチャなんて想像もつかないんだろうな。
落ちぶれていく日本が悲しいけど仕方が無い。
「老兵は死なずただ消え去るのみ」
0546774ワット発電中さん
垢版 |
2018/05/28(月) 18:23:54.78ID:DBKXdQh5
>>543
PLCはそれより歴史古いし
マイコンで機械制御で同じことも出来る

それなのにそうしないで
自己満な自称機械制御に特化した並列処理してるアホ
0547774ワット発電中さん
垢版 |
2018/05/28(月) 18:32:06.71ID:Jh+jbLNK
>>546
ウーム、意味不明で論評できないw
ちゃんと読んだ?
でも、もう時間切れで終わりだからね、残念!
0549774ワット発電中さん
垢版 |
2018/05/28(月) 18:38:25.98ID:DBKXdQh5
>>547
ぷっ
ではご自慢の並列処理で処理待ちしてる10個の処理
同時に5個の入力が入った後に残りの5個が5ms後に同時に入った場合に
出力はそれぞれ何ms後に出る?
0551774ワット発電中さん
垢版 |
2018/05/28(月) 20:10:13.84ID:EKNASekx
>>544
お得意の「見下す」ですか

RAM128バイトで色々なことをやる場合
マルチタスクなんかにRAMを割くのはアホだ
ってことがわからんのか

シングルタスクと多重割り込みでスタックを使い回す
非常に良くできた仕組み
0552774ワット発電中さん
垢版 |
2018/05/28(月) 20:24:23.30ID:EKNASekx
もっと規模の大きなCPUでまともなOSを作りなさい

最低限以下の機能がある物を

プライオリティ付きタスク
優先度継承ミューテックス
イベント
0554774ワット発電中さん
垢版 |
2018/05/29(火) 01:34:16.76ID:qg7v9HmC
LED 1個を点滅させる為のタスク

do {
led_on();
sleep(500);
led_off();
sleep(500);
} while (1);

贅沢〜 (アホ)
0557774ワット発電中さん
垢版 |
2018/05/29(火) 12:51:13.39ID:gNMMuWd8
ATtinyは多重割り込みが使えるので
RAM量とタイムクリティカル度で決めれば良い
0558774ワット発電中さん
垢版 |
2018/05/29(火) 13:06:18.41ID:2gMn6j0i
>>556>>488
アホの典型

入出力10点だろうが100点だろうが同じ作り方で出来るものを
規模の大小で作り方変える?
変えてもメリット無い

>>543のバカと同じ

入出力10点の機械10台のために、クソ恥ずかしい自作インタプリタ?
マイコンから見れば機械の台数に意味はない
どちらも入出力100点でしかない
わざわざ低速化、難読化してまさにアホの極み
0559774ワット発電中さん
垢版 |
2018/05/29(火) 13:45:19.42ID:H++DHjpU
何でこんなに荒れてんのよ
別に各自好きにすればエエやん
アホくさw
0561774ワット発電中さん
垢版 |
2018/05/29(火) 16:04:45.00ID:o6RJ7F6I
自作ディスパッチャが低速化難読化の極みと思うが
8bitは8bitに適した作りって物がある
0562774ワット発電中さん
垢版 |
2018/05/29(火) 16:06:53.06ID:o6RJ7F6I
じゃあ共通化の為に8bitにもWindowsやLinux APIが使えるようにしてくださいな (アホ)
0563774ワット発電中さん
垢版 |
2018/05/29(火) 16:24:53.99ID:dvDD5cRZ
>>559
自分と異なる意見は何が何でも否定しないと気が済まない、
言葉遣いが下品なアホが一人いるんだよ。
他のスレでもこのアホのせいでトゲトゲしい雰囲気になる。
偏執狂だと思う。
0564774ワット発電中さん
垢版 |
2018/05/29(火) 17:44:25.02ID:aGho2COM
マイコンの開発も敷居が下がったからなぁ
昔はそれである程度篩になったもんだが
0565774ワット発電中さん
垢版 |
2018/05/29(火) 17:47:12.76ID:o6RJ7F6I
仕事が上位にシフトしてるからね

下は機械がやればいい
機械がやることは今後増え続ける
0566774ワット発電中さん
垢版 |
2018/05/29(火) 19:56:30.66ID:YyNcACeO
>>558の考え方では
「入出力10点だろうが100点だろうが同じ作り方で出来る」という前提があって、
その前提であれば
「10点から100点程度の規模の大小で作り方変えることにメリットはない」
と、至極当たり前のことを言ってるに過ぎない。

なので、
>RAM 128バイトと32bit CPUのソフトが同じ作りになるわけがない
これは別の話ですね。

もっとも、RAM128バイトでできることだけを前提とするなら、
32bitでもたいして作りは違わないと思いますが。

対立する人をいてこますより、お互い、違う考え方の人から自分が知らない観点を
見出すようにすればいいのに。

接点をさがそうよ。
0570774ワット発電中さん
垢版 |
2018/05/29(火) 21:52:20.90ID:sug8e8ip
いくら大規模でも多重割込みはねーわ
割込みを多重に使う思想な時点で、頭悪い
だから多重で解決しようとする
単に頭が悪い
0571774ワット発電中さん
垢版 |
2018/05/29(火) 22:31:17.61ID:h2SyCqdp
多重割り込みが必要な時点で、保守性を考えたらマイコン分けるし、大規模ならミニコン系サーバを採用して冗長性とか、無停止保守とか確保したいよなー。
とか思った。

いや、たしかに俺が新人の頃はメインメモリ512バイトでOSとか乗ってたけどさ、今は時代が違うと思うんだ。
0572774ワット発電中さん
垢版 |
2018/05/30(水) 00:39:02.63ID:S5C1oC7d
多重割り込みってそんな大袈裟なものじゃないぞ
今時のCPUなら普通に機能が付いてる
意識しなくても勝手に多重割り込みが有効になる環境の方が多いくらい
OS搭載とは全くレベルが違う話

機能が無いのは8bit PICとかごく一部だけ

2人連続で変な思い込み
不思議だね
0573774ワット発電中さん
垢版 |
2018/05/30(水) 00:57:30.46ID:S5C1oC7d
ARM : デフォルト有効
MIPS : 通常デフォルト有効 (コンパイラが有効にするコードを生成する)
RL78, RX, AVR : ISRの先頭で割り込み許可命令
PIC16 : ISR自体が1個のみ
0574774ワット発電中さん
垢版 |
2018/05/30(水) 01:02:53.03ID:S5C1oC7d
RAMが128バイトだとRAMをケチる為にわざわざシングルにすることが多いかもしれない
でもまあその程度
普通は有効に活用すると思う
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/
下位ビットを捨ててる例なんて巷にゴロゴロあるのに…。
他人からは何も学ばない人がいるようだね。
0676774ワット発電中さん
垢版 |
2018/06/11(月) 16:55:10.07ID:m3RX/gB9
それは処理量の削減とかデータ量の削減とかが目的であって
0678774ワット発電中さん
垢版 |
2018/06/11(月) 18:29:34.08ID:NHYKxr6Q
煽れば説明してもらえると思ってるんだろうけど
おれには通じないから

説明してほしければそれ相応の態度を示せ
0683774ワット発電中さん
垢版 |
2018/06/12(火) 13:58:38.82ID:MRvWypGX
溶接と微粒子を吹き付けるプラズマ溶射とは「似て非なるもの」ではあるまいか。
0685774ワット発電中さん
垢版 |
2018/06/12(火) 19:34:35.72ID:NziqVZHM
PDP-1は1バイトが6ビットの(今から見ると)変態だった
1バイト=8ビット以外のマシンは使ったことないけど
ああ、PICは変態だっけ?
0686774ワット発電中さん
垢版 |
2018/06/12(火) 19:55:28.50ID:nv8H7Otu
バイトはIEC80000-13で8bitと定義された
charが16bitな環境はちょっと前に使ってた
0687774ワット発電中さん
垢版 |
2018/06/13(水) 00:23:49.49ID:FXHIjmb0
基数が違っただけでで変態とはな…
専門時代16進数の問題で追試が大勢でたのを思い出したよ
0689774ワット発電中さん
垢版 |
2018/06/13(水) 00:52:04.81ID:OxlagjDO
charのサイズを基数とは普通言わないし
charのサイズをバイトとも(最近は)言わない
0693宇野壽倫(青戸6-23-21ハイツニュー青戸202号室)の告発
垢版 |
2018/06/14(木) 00:41:17.54ID:eswwJDoW
宇野壽倫(葛飾区青戸6)の告発
宇野壽倫「文句があったらいつでも俺にサリンをかけに来やがれっ!! そんな野郎は俺様がぶちのめしてやるぜっ!!
賞金をやるからいつでもかかって来いっ!! 待ってるぜっ!!」 (挑戦状)

■ 地下鉄サリン事件

     オウム真理教は当時「サリン」を作ることはできなかった。
     正確に言えば 「作る設備」を持っていなかった。
     神区一色村の設備で作れば 全員死んでいる。「ガラクタな設備」である。
     神区一色の設備を捜査したのが「警視庁」であるが さっさと「解体撤去」している。
     サリンは天皇権力から与えられた。
     正確に言えば オウム真理教に潜入した工作員が 「サリン」をオウムに与えた。
     オウム真理教には 多数の創価学会信者と公安警察が入り込んでいた。
     地下鉄サリン事件を起こせば オウムへの強制捜査が「遅れる」という策を授け「地下鉄サリン事件」を誘導したのは
     天皇公安警察と創価学会である。
     天皇は その体質上 大きな「事件」を欲している。
     オウム科学省のトップは 日本刀で殺された「村井」という人物だ。
     村井は「サリン」授受の経緯を知る人物なので 「日本刀」で殺された。

      http://d.hatena.ne.jp/kouhou999/20150224
0694774ワット発電中さん
垢版 |
2018/06/16(土) 15:08:56.82ID:x5fLUps9
C++ってどんな業界で使われてるの?
開発規模がでかい車載とか?
ドキュメントとかしっかりしてるんだろうな・・・
0695774ワット発電中さん
垢版 |
2018/06/16(土) 15:18:39.38ID:w7qthtOa
どんな業界でも使うだろう
CもC++も大して変わらんけど
Cのほうがコンパクトだし実行コードが想像しやすいから
好まれるかも
トラブった時の解析がC++は大変なのよ
抽象化とかされると
0696774ワット発電中さん
垢版 |
2018/06/16(土) 15:58:00.09ID:q9Hih0UI
C++のどの機能までを使うかによるんだろうけど、
案外気づかない部分でC++ならではの機能を使っているものだけどね。
0698774ワット発電中さん
垢版 |
2018/06/16(土) 17:00:03.58ID:x5fLUps9
//コメントってC99で正式にサポートされたから(それ以前にメーカー独自でサポートしてたけど)
C++の機能ではないですよ
0699774ワット発電中さん
垢版 |
2018/06/16(土) 17:06:20.44ID:HQH4XEIq
C++は細々と便利な機能がある
Cでも使えるのもあるけど互換性の問題があるので積極的には使わない
0705774ワット発電中さん
垢版 |
2018/06/16(土) 20:51:02.80ID:ObFPYqgV
S-JISに対応してないコンパイラは
C形式コメントでもダメだから
0706774ワット発電中さん
垢版 |
2018/06/16(土) 21:26:49.34ID:meypj0CV
>>695
おらの界隈は継承とか多重継承とかネームスペースとかバリバリやで。時々Cに戻りたくなるわ。
0712774ワット発電中さん
垢版 |
2018/06/17(日) 09:26:41.17ID:fLcN7Bpa
>>700
それ従来形式なら対応してない環境でもたまたま問題にならないケースが多いと言うだけのバッドノウハウだろ
今時そんなものに頼るのはバカでしかない
0716774ワット発電中さん
垢版 |
2018/06/17(日) 14:31:16.30ID:WKLsPwx2
Keilとか、最近のバージョンでも日本語コメントがまともに表示できない
PCで日本語表示するようになって30年以上経つけど、やっぱ全角はつかっちゃ
ダメですよ
0719774ワット発電中さん
垢版 |
2018/06/17(日) 17:13:03.11ID:kKbRLaYS
>>715
SJISだと2バイト目に\が来ることがあるから、その文字が最後になると次の行をつなげる処理が入っておかしいことになる
0720774ワット発電中さん
垢版 |
2018/06/18(月) 18:55:53.88ID:0LR8tTqU
コンパイラがエラー出すから
そうなったら悩めばいいよ
そうなるまで気にする必要はない
0721774ワット発電中さん
垢版 |
2018/06/18(月) 19:30:26.85ID:OsA+whIO
>>719
sjis使うのが悪いってのは置いといて、
//の前に2バイト文字が来るってどう言う使い方?

>>700 は間違ってる気がするけど?
0722774ワット発電中さん
垢版 |
2018/06/18(月) 20:40:27.39ID:DSANdQsz
//の前に2バイト文字が来るなんて話はどこにも無いような気がするんだが。
// 可能
とかでしょ
0723774ワット発電中さん
垢版 |
2018/06/18(月) 20:46:21.44ID:354EXwOM
S-JISに対応してない環境ではS-JISは使わない
CとかC++とか関係ない
0724774ワット発電中さん
垢版 |
2018/06/18(月) 21:00:55.94ID:MtsDoidi
>>721
>>722 の言うとおり、//コメントの行の最後が意図せず\になるってこと

行末\は次の行とつなげて処理されるからな
0725774ワット発電中さん
垢版 |
2018/06/18(月) 22:02:21.76ID:WfM3gsZa
>>724
なるほど。俺が勘違いしてた。
//の行が\で継続するのが悪いんだな。
//は何があっても一行にしとけばよかったのに。
0726774ワット発電中さん
垢版 |
2018/06/18(月) 22:14:48.85ID:DSANdQsz
それをすると利便性が失われる。
安易な解決ができないからいまだに引きずってるんだ。
0727774ワット発電中さん
垢版 |
2018/06/19(火) 01:11:27.96ID:f16iTL8s
コメントの最後にスペース付けるとか習慣にすれば防げるのかな
0728774ワット発電中さん
垢版 |
2018/06/19(火) 01:13:15.60ID:3FV23PIy
S-JISに対応してない環境でS-JISを使うなって
コメントじゃなくても化けるから
0729774ワット発電中さん
垢版 |
2018/06/19(火) 07:41:34.30ID:bIZja2AY
>>727
オレその習慣あるわw
もうそんな環境で書いてないからいらないんだがな
0730774ワット発電中さん
垢版 |
2018/06/19(火) 07:55:18.48ID:Ga9Lv2/s
スペースでひとつで行連結止められたら大問題なんだがな・・・・
0731774ワット発電中さん
垢版 |
2018/06/19(火) 08:11:14.53ID:Ga9Lv2/s
ってか、「能」の字でエラー出たって「ああそっか」で済む程度の問題じゃないの?
0734774ワット発電中さん
垢版 |
2018/06/19(火) 08:42:56.33ID:uW3MXQle
>>728
そういえば

「リテラル文字列の中で、2バイト目が\になる文字は、直後に\を付けておけ」

ってのもありました。
0736774ワット発電中さん
垢版 |
2018/06/19(火) 15:18:49.59ID:wo3hc+Pr
衛星、CS放送見るなら!こんな便利な機器(チューナー)があるんだ!
satch.tv/review/satella2review/?mref=445
0737774ワット発電中さん
垢版 |
2018/06/19(火) 22:29:56.23ID:VE9Y3BHq
SJISで、こんな感じのコード書かれたら死ぬ。

for (;;) {
// 脱出不可能
break;
}

SJIS使うのが悪いとはいえ、
// の継続行を作れる仕様がおかしい。
0739774ワット発電中さん
垢版 |
2018/06/19(火) 23:21:29.40ID:dcZzDqrd
簡単に解決する方法がないから、昔から話題になってるんだなぁ
0740774ワット発電中さん
垢版 |
2018/06/19(火) 23:32:18.75ID:Ga9Lv2/s
そう、そして運用次第でどうにでもなるので対策しないコンパイラが存在し続けているのかもしれない。
ちなみに>>734の方法もダメなものはダメ。
0741774ワット発電中さん
垢版 |
2018/06/19(火) 23:39:44.42ID:bygTKuvs
>>737
特殊な文字コードを優先して規格を作らないからね

// TEST(a);

TESTが複数行からなるマクロだったら
0742774ワット発電中さん
垢版 |
2018/06/19(火) 23:40:22.60ID:dfVbTzLm
英語圏の連中は全く困らないんだろうね 直そうという気が感じられない
0747774ワット発電中さん
垢版 |
2018/06/20(水) 06:55:31.44ID:TPKTOVBZ
>>740
>ちなみに>>734の方法もダメなものはダメ。
SJIS対応コンパイラに>>734の対策を施したソースを読ませて悩む、という話は割とありました。

今ならUTF-8が無難な選択ですかね。
0748774ワット発電中さん
垢版 |
2018/06/20(水) 07:47:17.98ID:EJDYKBxq
SJISしか対応してないコンパイラにUTF-8入れたらどうなるんだろ
0749774ワット発電中さん
垢版 |
2018/06/20(水) 08:10:24.32ID:TPKTOVBZ
UTF8の2バイト文字、3バイト文字の最終文字を、SJISの2バイト文字の1バイト目だと
認識したらまずいかも。


SJISしか対応してないコンパイラはないと思うけれど、
コンパイルオプションで、文字コードをSJIS指定して、UTF8を食わせたらまずいのでしょうね。
0751774ワット発電中さん
垢版 |
2018/06/20(水) 19:22:21.70ID:P1D4wSQr
>>741
コメントアウトはマクロ展開より先に行われるので

#define stasla */

/* stasla

上のようなコメントの終わり方は出来ないし、
次のコード書くと

#define slasta /*
int aho;

slasta */

aho定義は残らない。
0754774ワット発電中さん
垢版 |
2018/06/21(木) 09:53:16.23ID:/rxVLsjO
行末の概念はプリプロセッサにはある。
マクロ定義も一行
//コメントも一行
0755774ワット発電中さん
垢版 |
2018/06/22(金) 23:37:20.84ID:AtiLTxW+
お前さん、コメントの無いソースコード見なかったかい?
ノーコメント
0761774ワット発電中さん
垢版 |
2018/06/26(火) 18:13:49.09ID:bVcU6Sl6
やべぇ、『きぬ』に乗ったつもりが『りょうもう』だった…
0764774ワット発電中さん
垢版 |
2018/07/02(月) 09:22:38.99ID:KbBHqHxt
ワン!バターン!!

大丈夫、上の文字列には&#165;マーク入ってないよ。
0765774ワット発電中さん
垢版 |
2018/07/03(火) 22:04:34.55ID:TUeFXinq
S6B
0767774ワット発電中さん
垢版 |
2018/07/28(土) 15:18:53.47ID:g0x6Pvs9
16F1827を使って水平義を作ってるのですが、センサーとPICのAD変換、LEDで形は出来たものの、音を鳴らすのが良い方法が解らず苦労しています。
角度が大きい時はピッ、ピッとゆっくり鳴らし、水平に近づくとピピピと早く、水平でピーと連続音にしたいのですが、良い方法は無いでしょうか?
0768774ワット発電中さん
垢版 |
2018/07/28(土) 15:31:38.69ID:k0zc07oa
タイマーの使い方 ブザーをどう実現するか、とか。
書くと長いよ
0769774ワット発電中さん
垢版 |
2018/07/28(土) 15:38:32.49ID:yAJqwe9m
>>768
例えばタイマーで割り込ませてブザーの繋がっているポートを常に反転させる。
音を出すときだけ、TRISAで入出力設定を出力にする。出力にしている時間はもう一つのタイマーで制御して、ピッと言う音を出す。
このような方法で出来る物でしょうか?
0770774ワット発電中さん
垢版 |
2018/07/28(土) 15:47:36.20ID:s/7kX7Bj
(水平を零度として)角度のN倍サイクルは音を出さない、みたいなのはどうだい
0772774ワット発電中さん
垢版 |
2018/07/28(土) 18:17:24.09ID:DZoPV6FK
データ1個8bit使って常時インクリ
その7〜0bit目を参照すれば、すべてデューティ1:1の波形になる
センサー値を8bitにデコードし
その最上位bitを拾ってそれとand取れば
勝手にデータ量が多ければゆっくり、データ量が少なければ早く鳴る
0773774ワット発電中さん
垢版 |
2018/07/29(日) 17:00:01.94ID:HWTMcX55
>>772
なるほどシンプルなアルゴリズムで面白い。
+1の速度を変えれば音の高さも変えられる。
8段階に変えるための「その最上位bitを拾って」が少し手間かな。
あと、各音の周波数の増減が1オクターブに限定される点はどうなんだろ。
(私が誤解していなければの話しだけど)
0774774ワット発電中さん
垢版 |
2018/07/29(日) 18:22:23.41ID:rpuAJDvf
オクターブ?
音の高さを変えるほどの周波数でインクリすんのか?
ただのピピピの間隔だろw
全音符から64分音符とかの範囲で考えろw
0778774ワット発電中さん
垢版 |
2018/08/01(水) 12:42:08.67ID:9Jcmucqv
仕様を変えて低い連続音から高い連続音へPWMだとコードは短いけど、水平か分かりにくいか
0779774ワット発電中さん
垢版 |
2018/08/01(水) 14:33:34.03ID:uOG9t3YP
PWMで音演奏
エンベロープできて一人前
昔、PC88でやってたなぁ
0781774ワット発電中さん
垢版 |
2018/09/04(火) 02:39:53.83ID:ox1/+FVy
switch文の中の casesは、1段インデント付けますか? それともおなじ位置でしょうか?
0783774ワット発電中さん
垢版 |
2018/09/04(火) 05:50:27.71ID:QfRYG9MB
>>781
caseは、インデントします。
0784774ワット発電中さん
垢版 |
2018/09/04(火) 05:52:16.90ID:k296EaFx
{ } の中に入るごとにインデントを1段増やす
ラベルは1段減らす

これが基本
0786774ワット発電中さん
垢版 |
2018/09/04(火) 11:07:23.29ID:SS/Ebifx
スタイルは人それぞれ
だけど、ソース整形ツールがある
ルールをファイル定義しておいて一気に修正してくれるもの(Cuty)とか
コマンド指定するastyleとか。
astyle --style=1tbs -s4 -S -N -Y -M80 -p -j -k1 -U -H foo.c
人のソースが読みづらい時にも。
0788774ワット発電中さん
垢版 |
2018/09/05(水) 17:58:20.22ID:1mcNij4k
静電容量型の接触検出(STM32 のTSC,PICのmTouchなど)を使った方にお尋ねします。
アクリル板越しでも接触検出できますか?
0790774ワット発電中さん
垢版 |
2018/10/09(火) 00:08:49.19ID:HoMnW+bU
Windowsで使えるARM7TDMI向けのコードを吐けるclang/LLVMのビルド済みパッケージって無いのかな?
自分でビルドしようにもWindows環境向けの情報が少ないしそんな古いCPU向けの奴なんて見あたらない
lldがらみのチュートリアルも欲しいけど組み込み向け乗ってどこにあるのか・・・
0791774ワット発電中さん
垢版 |
2018/10/09(火) 01:59:48.12ID:ZC0sKGAP
>>788
方式によるけどね。
タッチセンサの検出方法って各社がそれぞれの方法を特許で押さえていて、
他社が真似できない。各社の原理を良く見た方がいいと思うよ。

mTouchみたいな弛張発振は特許にならないほどありきたりな方法で
簡単だけど、どうしてもセンサ部分が高インピーダンスになってくるので
耐ノイズ性や安定性の面では不利かな。

今まで見た中ではルネサスの第2世代方式が一番すぐれものだった。
https://www.renesas.com/jp/ja/solutions/key-technology/human-interface/touch-sensor-system2.html
https://www.youtube.com/watch?v=qIgsneAIg5A&;feature=youtu.be

動画みたいに、10mmのアクリル板でも木でもOK。
パネル面の上から水が垂らされてるような状態でも検出できてたし。
0792774ワット発電中さん
垢版 |
2018/10/25(木) 18:48:20.16ID:0niQHnwO
>>47
最初は、見やすさ優先で良いだろ。
無駄な処理有っても、ある程度は最適化かかるし。
0793774ワット発電中さん
垢版 |
2018/12/07(金) 13:19:53.10ID:E8KRG5bG
教えてください。
ノイズの多い環境でのシリアル通信は、通信上どんな工夫をして良いか考えています。

まず考えたのは、パリティを付加することですが、ノイズが2回来ると検出できない思います。
次に考えたのが、同じ文字を何回か送って、何度か一致したら、それは合格とすることです。
前者も後者も、確率の問題かなと思いました。
以上です。
0798774ワット発電中さん
垢版 |
2018/12/07(金) 19:53:24.09ID:tcnOibku
>>793
1文字中2回もノイズでやられてるってんなら物理層の対策の方が先だろう。
0799774ワット発電中さん
垢版 |
2018/12/08(土) 13:23:55.00ID:8yKCEIvF
>>793
1 速度を落として、ノイズフィルターをガッツリ入れる
2 誤り訂正符号追加する

好きな方を
0800774ワット発電中さん
垢版 |
2018/12/08(土) 13:24:40.27ID:cAAXHgLI
調歩同期だろ
スタートビットダメだったら文字丸ごとダメ
そんなに伝送路悪いのだったら
拡散符号にでもするかw
0803774ワット発電中さん
垢版 |
2018/12/08(土) 19:25:33.12ID:aDd7aQfL
>>802
宇宙通信の同期機構はもっとしっかりしているしデータの保護もリードソロモン符号で堅牢っすよ
0804774ワット発電中さん
垢版 |
2018/12/08(土) 19:55:15.61ID:B5nyN4gf
>>803
> データの保護もリードソロモン符号で堅牢っすよ
物理層って意味わかる? w
0805774ワット発電中さん
垢版 |
2018/12/08(土) 21:02:48.25ID:aDd7aQfL
マジレスすると宇宙通信の成立性は事前に証明した上で打ち上げるから
機器が故障したり予定外の軌道を飛んだりしない限りしないかぎり
物理層のエラーが多くて運用に支障をきたすなんて事はあり得ない
0806774ワット発電中さん
垢版 |
2018/12/08(土) 21:05:34.90ID:cNXYjkNa
生まれた子の性別を伝えたいなら
赤・青の狼煙爆破させればいいじゃん
0810803
垢版 |
2018/12/09(日) 00:24:20.42ID:U3oYEX5c
というかどのレベルで話せばいいわけ?w
1.一般人
2.高周波通信は判っている
3.人工衛星や探査機のシステムについて理解がある
0811774ワット発電中さん
垢版 |
2018/12/09(日) 00:53:03.59ID:RygVf826
>>809
>はやぶさ2ではX帯での通信機能も備え、天候が良ければKa帯、悪ければX帯を使うなど2種類の電波を使い分け、効率的に運用する。

らしいけど、何が3系統?
0812803
垢版 |
2018/12/09(日) 00:55:54.33ID:U3oYEX5c
というか>>804は一般人って感じじゃないんだが>>802,807だと素人丸出しだ
0813774ワット発電中さん
垢版 |
2018/12/09(日) 07:21:35.16ID:PuVTiZ+/
>>810
お前のレベルで話せばいいよ

>>811
ああ、はやぶさ2はKaバンドも使うんだったな、忘れてたわ
それ入れれば4系統か
ただ、物理層って周波数だけじゃ無いぞ
アンテナ4系統ある意味を考えなよ

>>812
はいはい、俺のことはどうでもいいからお前のレベルで話せよ
0814774ワット発電中さん
垢版 |
2018/12/09(日) 08:02:23.26ID:esAG7YGe
>>804
極近距離の有線ならともかく、
通信ではエラーが出る前提で設計しないと駄目だろ。
0816774ワット発電中さん
垢版 |
2018/12/09(日) 09:45:51.39ID:RygVf826
>>813
『オレは知ってるぜ」じゃなくて答えてくんない?本当はわかってないんだろ。
4系統って何だよ?
0817774ワット発電中さん
垢版 |
2018/12/09(日) 10:49:40.23ID:DhV8JNNX
そういえば、超低速通信でポチポチやってたりしたっけね。
0819803
垢版 |
2018/12/09(日) 14:25:01.47ID:U3oYEX5c
JAXAが日本語の資料を作っていたわ
ttp://sma.jaxa.jp/TechDoc/Docs/JAXA-JERG-2-400A.pdf
物理層は日本語の資料が作られているようだ。論理層以上はCCSDSの英語版しかないっぽい
多少なりとも通信の理解があれば眺めるだけでだいたい判ると思う

物理層の時点で誤り率が〜以下になる・・・みたいに設計されているんで通常の運用で同期が取れないほど
ビットが化けるなんて事はない
またCCSDSの資料によれば同期コードはBCHで符号化されているらしい。1〜2ビット化けたくらいではびくともしないだろう

はやぶさ2に関してはJAXAのはやぶさ2 Fact Sheetが良くまとまっている
搭載している通信系はXバンドとKaバンドの2種類
Xバンドはアンテナがローゲイン、ミドルゲイン、ハイゲインと3種類ある。Kaバンドはハイゲインのみ
運用はXバンド、観測データを下ろすのは速度を稼ぎやすいKaかXバンドかな

>>817
機上の自律化機能を使ってFM変調、地上のスペアナを使って復調って奴ですな
1ビットが8秒、実効ビットレートは0.0625bpsだったらしい
ソースは第9回宇宙科学シンポジウムのはやぶさセッションの発表とその講演集
以前はWebでpdfが公開されていたんだが残念ながら消滅したようだ

って組み込みである以外マイコン関係ねぇ・・・
0820774ワット発電中さん
垢版 |
2018/12/09(日) 21:12:45.62ID:VqQJmyS+
>>819
> またCCSDSの資料によれば同期コードはBCHで符号化されているらしい。1〜2ビット化けたくらいではびくともしないだろう
BCHの復号モードのSECの意味ぐらい理解してから書けよ
マジで恥ずかしいぞ w
0821774ワット発電中さん
垢版 |
2018/12/09(日) 22:24:19.88ID:U3oYEX5c
自分はエラー訂正符号に詳しい訳じゃないしBCH符号はRS符号より訂正能力が高いくらいの認識しかない
誤っているならそれで良いけど煽るんじゃなくソースを提示して論理的に説明してくれませんかね?
0822774ワット発電中さん
垢版 |
2018/12/09(日) 23:59:19.71ID:tY8DotOw
マイコンのシリアル通信だろ
UART介在してるのに同期も取れなくてエラー訂正もへったくれもない
同期からやるんだったら信号をADでサンプリングしてetcからの話になる
糸口が見つからなきゃ同期も取れないのだから相関取って最尤推定とか
本格的にやるならね
0823774ワット発電中さん
垢版 |
2018/12/10(月) 00:10:44.46ID:oFNtD0AX
あのー、ボイジャー並みに遠ざかってってますが。
0825774ワット発電中さん
垢版 |
2018/12/10(月) 12:35:31.12ID:xjNBppLr
>>821
だから自分が上げた資料ぐらい理解しろよ
SEC=Single Error Correction
の意味もわかってないのか?
0827774ワット発電中さん
垢版 |
2018/12/13(木) 23:42:29.74ID:cDKvgKfs
標準ライブラリのソース探してきて
それを使え
ツウはスタートアップから一通り自分でチェックするものだ
0829774ワット発電中さん
垢版 |
2019/04/26(金) 20:04:53.81ID:hAqKrhib
このマイコンを最低限動作させるのに必須の設定内容は?
たったこれだけの情報も明文化されておらずサンプルコードと格闘せざるを得ないマイコンは多い
ペリフェラルの初期化なんかも同様。マニュアルにレジスタ操作のフローチャートが記載されているマイコンは少ない
0831774ワット発電中さん
垢版 |
2019/04/28(日) 07:35:36.13ID:WNFCPDQI
初めてそのCPUに触れる人でも、読んで「理解すれば」プログラムを書けるように
マニュアルには必要な事項が記載されている。
また要所にアセンブラとCのプログラム例も記載されている(少なくともAVRのマニュアルには)

マニュアルを読んでもプログラムが書けないなら、
まだまだプログラミングの実力が足りないという事だから
マニュアルの内容に文句を言う前に本やネットで勉強した方が良い。

CPU製作会社のドキュメント製作部門の担当者が怒るぞw
0832774ワット発電中さん
垢版 |
2019/04/28(日) 09:04:21.30ID:idCsiR4O
むかつくのは昔ならハード屋の領分がすべてソフトでレジスタ設定しろって流れなことだよ。
今のハード屋なんて線つなげときゃ終わりじゃん。せいぜいアナログ回路くらい。
0834774ワット発電中さん
垢版 |
2019/04/28(日) 10:45:58.68ID:Ii0BtoEu
昨今の高機能なペリフェラルがいっぱい付いていてフレームワークの使用が前提のマイコンのマニュアルはそこまで書いてあるようには見えないな
ペリフェラルの機能上は出来るはずだがフレームワークでは出来ないようなことをしたい場合大体ソースコードとにらめっこになる

あと8bit世代ならROM数KB/RAM数百Bですむような内容なのにフレームワークだけでROM数十KB/RAM数KBとか
0835774ワット発電中さん
垢版 |
2019/04/28(日) 11:51:36.59ID:qbKH/uog
ペリフェラルはデータシートだけでは説明不足なのが多くてアプリケーションノートの
サンプルプログラムを読むしかないのが多い気がする
0836774ワット発電中さん
垢版 |
2019/04/29(月) 08:46:48.90ID:yXP2E57+
順番があったりタイミングがあったりするからねえ
つらつらとレジスタの説明があるだけじゃわからない
0838774ワット発電中さん
垢版 |
2019/04/29(月) 12:06:14.26ID:wyNMKCJp
糞なマニュアルしかない、ふざけたサンプルしかない、てのもあるからね
あたまいてーよ
0840774ワット発電中さん
垢版 |
2019/04/30(火) 07:57:09.73ID:AvOkeggL
斜め読みくらいしないと「この機能とこの機能は排他です」とか落とし穴ある。
0841774ワット発電中さん
垢版 |
2019/04/30(火) 09:22:44.74ID:McN+cc5c
>>840
斜め読みだと絶対見落とす。
RX621 の IO ポートの入力バッファを On にする設定は、まさか SPI の設定にまで効いてるとは思わずハマった。
0843774ワット発電中さん
垢版 |
2019/04/30(火) 11:15:54.04ID:fPfZiSt7
言ってることが現実に合わない。現実を知らないな。さてはニワカだろう。

という論法は必ずしも合ってないよな。

指導者の、励ましとか方法論とか教訓とかは、往々にして現実には合わないことが多いけれど、
それをもってその指導者がニワカだとは言えないよな。
0844774ワット発電中さん
垢版 |
2019/04/30(火) 12:37:26.17ID:sT4v0UuH
>>834
そのフレームワーク作成者は何を見て書いてるんだろうね。メーカー内部には懇切丁寧なマニュアルがあるのかな。
そのマニュアル開示すればみんな助かるし、cpu選定に有利だろうにね。

cpu開発者がコード書いてる?んな事ないだろうし。
0845774ワット発電中さん
垢版 |
2019/04/30(火) 12:44:21.34ID:wwZSXNB0
今はネットで検索してコピペのスピード時代だぞ
いちいちマニュアルなんて読んでられねぇよ
俺以外の誰か一人ががんばればいいんだよ
0846774ワット発電中さん
垢版 |
2019/04/30(火) 13:02:45.71ID:sT4v0UuH
>>845
ニワカとか罵倒してたのが居たが
本音はそれだよな。
0848774ワット発電中さん
垢版 |
2019/04/30(火) 14:26:17.06ID:vNCQfQfu
最低限の何が自分のコードに必要か何が不要がくらいは判らないとコピペプログラマーにもなれない。
0849774ワット発電中さん
垢版 |
2019/04/30(火) 15:47:13.42ID:eiFAvXO/
マルチタスキングする場合はコピペだけじゃうまくいかなくね?
0850774ワット発電中さん
垢版 |
2019/04/30(火) 18:32:29.86ID:fPfZiSt7
>>848
ソースで提供されているライブラリを組み込むときに、端から端まで理解して使うことも少ないかも。
結果的に自分が使っていないものとかも入っているだろうし、書いた人には恐らくわかっていることでも、
自分にとってはオマジナイであることも。
というか過去に自分のソースを組み込むときにも、すでにオマジナイ化している部分もあったりして。
0851774ワット発電中さん
垢版 |
2019/05/01(水) 16:44:57.52ID:6FN3I/Iy
仕事なら「time is money」だから、
コピペで工数(納期)が短くなるなら、コピペを採用するのは当然だと思う。

私はプログラミングが余暇の趣味なので、
「他人が書いたプログラムは出来るだけ採用しない」
という方針でやっている。(その分、楽しみが減るので)

この前、tiny2313用のI2Cマスター制御プログラムを、
(ターゲットは秋月のAQM0802A-FLW-GBWという液晶表示器)
マニュアルだけを見ながらアセンブラで書いたら何時間も掛かってしまった。
でも苦労した分、完成時の喜びも大きい。

自分で書いた後、メーカー発表のサンプルと比較する時もあるけど、
なぁるほどぉ、とすごく勉強になる。
0852774ワット発電中さん
垢版 |
2019/05/01(水) 16:50:48.34ID:6FN3I/Iy
>>849
小さなCPUでマルチタスクする時は、
個別案件ごとに細部を色々と工夫しなければいけないからでは?
0853774ワット発電中さん
垢版 |
2019/05/01(水) 20:34:26.34ID:N8bBUhJR
割り込みとポーリング時分割の考え方で何の問題もない
arduinoのスケッチと同じ
0854774ワット発電中さん
垢版 |
2019/05/03(金) 04:27:40.54ID:iWv/XVXO
プログラム以外も含んでしまうのですがディスクリートに相互容量方式のタッチセンサーを実装している資料ってありませんかね
アマチュアのタッチセンサーの作例は自己容量方式ばかりのようですし、アプリケーションマニュアルを見るとタッチセンサーペリフェラル付きの
マイコンとそれ用のライブラリが前提になっていたりして、センサーからどのように読み出すのかを書いている資料が見つかりません

簡単な自己容量方式ではなく手間のかかる相互容量方式にしたい理由は検出したい面積がかなり広いためです
0855774ワット発電中さん
垢版 |
2019/06/13(木) 08:06:38.94ID:NOoKO7FB
ここで良いのか分かりませんが、質問させてください。

その昔、コンピューターの読み取り装置として紙テープリーダーというのがあったと聞きました。
紙テープに穴が開いたり空いてなかったりで1と0を判別すると思うのですが、
8ビットで穴がパラレルで8個空いてるとすると、
リード信号はどこから得られるのでしょうか?
それとも回路の読み込み速度が 、テープが送られる速度より十分早いので、どれか1つの穴からの信号がくれば、もうリードしてしまうと言うことでしょうか
0857774ワット発電中さん
垢版 |
2019/06/14(金) 08:44:06.85ID:XeVWAJXF
>>856
ありがとうございました。
5bit 3bit の間にある小さい穴がそれですね。
ありがとうございました。

テープが途中で切れた時は、ラブアウトしたテープとともに、糊でつければ良いんですね。
頭いいと思いました。
0858774ワット発電中さん
垢版 |
2019/06/14(金) 13:57:01.61ID:MPBvl6hG
光学式の紙テープリーダーはそのスプロケット穴を基準に読み取ってるから
パンチ屑が取れてないとデータを読み飛ばすんだよ
0859774ワット発電中さん
垢版 |
2019/06/15(土) 20:06:06.71ID:8OEOj+DP
>>858
なるほど。
リード信号と同時に、紙テープの駆動用のギアが噛む穴なんですね。
穿孔するのは機械的に難しいですが、
リーダーなら光センサーで作れそうな気がします。
紙テープの駆動は手で引っ張るということで。
0860774ワット発電中さん
垢版 |
2019/06/17(月) 00:35:15.30ID:TV+z2tvj
ルネサスのマイコンを使おうとしたら、やめろと言われた。
入手性の問題らしい。自動車関係しか売る気ないんだって。
残念だわ。
0861774ワット発電中さん
垢版 |
2019/06/17(月) 07:27:39.82ID:yN1/xOpG
日本のメーカーは商社と手を組んで、
大手にはペコペコ頭を下げるけど、
中小企業にはフンゾリ返って偉そうな態度で接してくる。
いわんや趣味の電子工作においておや。
0862774ワット発電中さん
垢版 |
2019/06/17(月) 07:44:12.43ID:GCdz3gBw
ヒント:村田製作所
0863774ワット発電中さん
垢版 |
2019/06/19(水) 20:01:28.72ID:hOHwcmRU
>中小企業にはフンゾリ返って偉そうな態度で接してくる。
これ、むかつくね。

安倍君の言う「サラリーマンの平均給与が上がった」とかいう話と似てる。
調査する対象が大企業ばっかり。中小企業は対象外なら、
そりゃ上がったと言えるかも知れない。
0864774ワット発電中さん
垢版 |
2019/06/19(水) 23:11:12.72ID:FTVmtGGe
>>863
あと、今のサラリーマンに、企業内にいる非正規の人がふくまれてなさそう。
0865774ワット発電中さん
垢版 |
2019/06/24(月) 11:55:47.57ID:ni5qNXrV
初心者質問です。やさしく教えてください。

3~5接点のロータリースイッチ5個ほど同時に使いたいのですが、他のスイッチとの兼ね合いでピン数節約の為アナログ入力を使おうかと思ってます。
可変抵抗器をイメージしてこんな回路で組んでます。
https://imgur.com/YfrGDLm
ロータリースイッチ一個につき一回路使い、アナログ入力範囲に応じてスイッチ位置を判定しようかと思うのですが、どんな問題が考えられるでしょうか?

ネット調べるとこんな回路が紹介されていたので私の回路では何か問題があるのかとおもうのですが。。。
https://synapse.kyoto/tips/ResDiv/page001.html
0866774ワット発電中さん
垢版 |
2019/06/24(月) 12:55:43.79ID:eH1MecZI
>>865
それで問題ないと思いますよ。
ただスイッチが遠いところにあるとするとあなたの回路では電源、グランド、アナログ入力
と配線が3本必要になるけど、リンクの回路ではグランドとアナログ入力の2本で済むという
違いはある。
あと、オープンになる可能性があるなら入力の電位を確定させる対策が必要かな。
0867774ワット発電中さん
垢版 |
2019/09/07(土) 08:10:13.96ID:ucWJqqxn
基本的な組込みの設計の仕方でメインでやらせること、タイマ割り込みでやらせることの切り分けが分かりません。処理内容は以下の通りです。arduinoUNOを使っています。
&#183;IOポート読出し(digital*7 adc*2)
&#183;IOポート状態による状態分岐
&#183;adc値ldfフィルタ、演算
&#183;IOポート出力
&#183;一定処理回数毎のEEPROM書き込み
&#183;エラー判定
&#183;エラー処理
&#183;LED表示
&#183;LCD表示
EEPROMとエラー処理をメインで、他はタイマ割込かなと思っているのですが。
また、割込周期の見積方がわかりません、1ms程度でできるものなのでしょうか?
0869774ワット発電中さん
垢版 |
2019/09/07(土) 16:59:33.69ID:C2iktJD4
確かに、難しいところがありますよね。

以下の3つに分けて考えましょう。
1. main()
2. タイマー割込
3. 関数

1. main()は、細かいことは書かないで「装置全体の動作の流れ」がわかるように書くと良いです。
     
2. タイマー割り込みは、いろいろできますが、多重割り込みになると面倒ですので、
   サッと抜けるような処理だけ書きましょう。
   時間は、1msで行けると思います。(PICは楽勝。アルデーノは知らない)

3. 関数
   main()で使用する関数の中身を書きましょう。

こんな感じです。

interrupt_timer....(){
  count++
}

void main(){
  st = 0;
  while(1){
    if( st==0 ){         // 0のとき
      init(); st=1;         // 初期化して、1へ

    } else if( st==1 ){      // 1のとき
      if( SW1==on ){         // SW1が押されたら
        LED1=on;  LED2=off;  LED2=off;  // LEDをセットして
        fprintf(xx, "Get1 \r\n");      // シリアルで送信して
        st = 2;               // 次へ

      } else if( SW2==on ){      // SW2が押されたら、
        LED1=off;  LED2=on;  LED2=off;  // LEDセットして
        Mootor_L( on );            // モーター回転on
        count = 0;              // 時間カウンタreset
        st = 3;                // 次へ
      }

    } else if( st==2 ){      // 2のとき
      if( count > 800 ){       // 800ms経ったら
        st = 3;             // 次へ
      }

    } else if( st==3 ){      // 3のとき
      if( SW_stop==on ){        // StopSWが押されたら
        fprintf(xx,"STOP....\r\n");    // シリアル送信して
        Mootor_L( off );          // モーター回転off
        st = 1;              // 1へ戻る
      }
    }
  }
}
0870774ワット発電中さん
垢版 |
2019/09/07(土) 18:27:03.29ID:+Zp6OwIH
arduino でやるって言ってるのに、なんでmain()とか書いてんだよ。
0871774ワット発電中さん
垢版 |
2019/09/07(土) 19:45:09.95ID:wSAtd1lR
ありがとうございます
IOだけタイマで同期させて監視しようかと思います
0872774ワット発電中さん
垢版 |
2019/09/07(土) 21:38:48.14ID:C2iktJD4
>>870
loop() と見てくれればいいじゃんか。
0875774ワット発電中さん
垢版 |
2019/09/10(火) 11:29:24.05ID:jkiE7wGb
>>867
全ての入力をタイマ割り込みで変数にセット
それから各種タイマーカウンターも全部インクリメント

他は全部メインで、変数とカウンターの値見て分岐と処理

メインで入力を直接見て処理を占有する手法は初心者しかやらん
0877774ワット発電中さん
垢版 |
2019/09/11(水) 05:45:15.64ID:ekdC/8qe
割込みは使えるようにしておいたほうがよいが、実務ではなるべく避けるのが身のため。
どうしても必要な時だけ使うのが吉。

カウンタしか使わないなら、そもそも割込み要らない。Arduinoだと裏でやってるかもだけど。
逆に、RTOS実装するなら、使うCPUの割り込みのすべてに精通要
0878774ワット発電中さん
垢版 |
2019/09/11(水) 06:42:50.15ID:AXMuX3Ht
この業界n十年いるが割り込みの必要ない実務案件に遭遇した事無いよ。
0879774ワット発電中さん
垢版 |
2019/09/11(水) 08:29:20.52ID:Lm2lwFoA
Arduinoで時間見ること限定で割り込みがいらないと言ってる人と
一般論として「カウンタしか使わないなら、そもそも割込み要らない」と言ってる人がいるような。

カウンタであっても割り込みを無理して避けるより、使うほうが簡単なことが多いような。
0880774ワット発電中さん
垢版 |
2019/09/11(水) 08:47:56.98ID:8tJxT/+x
>>875
頭いいですね。

>全ての入力をタイマ割り込みで変数にセット
この場合、チャタリングのフィルターは、どこでやりますか?
割り込み内部、メイン?
0881876
垢版 |
2019/09/11(水) 09:03:46.54ID:E3WYrMPa
言葉足らずみたいだったし書き足しておこうかな。

>>867の内容ならArduinoなんだし)millisでtick見てりゃ
(自分でわざわざ書き起こす)割り込み全く要らないなあ。
0882774ワット発電中さん
垢版 |
2019/09/11(水) 11:07:51.25ID:E3WYrMPa
今なにげに>>869のコード見てたら気づいた。ものすごい初歩的なバグが紛れてる。

>  if( count > 800 ){       // 800ms経ったら

768msくらいのタイミングで条件成立してしまうことがあるよ。
0883774ワット発電中さん
垢版 |
2019/09/11(水) 11:54:08.44ID:8tJxT/+x
>>882
まあ、説明の上での話ですからねぇ
0884774ワット発電中さん
垢版 |
2019/09/11(水) 12:05:46.60ID:E3WYrMPa
ちゃんと突っ込んどかないと、このレベルのゴミ情報をブログで拡散させちゃう人いるじゃない。
0886774ワット発電中さん
垢版 |
2019/09/11(水) 14:11:10.10ID:YLnLjOFP
>>880
そもそも割り込み中に、入力を変数にセットするんだから
割り込み処理前後でハード的なチャタリングあっても
onしたらon
offしたらoffのどちらかの処理を1回しかしないんだから
メインでその情報使って処理したって誤作動するようなものになりようがない
フィルタ掛かってるようなものだからな
0887774ワット発電中さん
垢版 |
2019/09/11(水) 15:29:42.45ID:E3WYrMPa
デジタル入力のチャタリング除去例

まずは、ある時間(start)から指定時間(pass)が経過しているか判断する関数。
時間単位はmsで、経過していればtrue、そうでなければfalseを返す。
uint8_t pass_chk(uint16_t start, uint16_t pass){
if (millis() - start < pass) return false;
return true;
}


チャタリング除去結果と監視時間用の変数を用意&初期化
uint8_t inbuf = 0xff;
uint16_t chatt_start = millis();


10ms毎にPINDをサンプリングして、4回一致したビットのみを更新。
最小30msのチャタリングフィルタとなる。
if (pass_chk(chatt_start, 10){
static uint8_t a = 0xff, b = 0xff, c = 0xff;
uint8_t d = PIND;

chatt_start += 10; // start更新
inbuf |= a & b & c & d; // 全OFF反映
inbuf &= a | b | c | d; // 全ON反映
a = b; b = c; c = d; // サンプルデータシフト
}

ほかの処理はinbufを入力と見なして動けばいい。
負論理に脳がついていけないならここで反転してもいい。
インターバルとサンプリング数は個人の好みでご自由に。
Arduinoじゃないならmillis()相当を自分で作るべし。
0888774ワット発電中さん
垢版 |
2019/09/11(水) 17:47:46.48ID:YLnLjOFP
>>887
頭悪い奴
そんな「遅延ありき糞処理関数」誰が使うんだね?

フラグをビット反転させる処理で
頭に、前回ビット反転させてから○ms経過した場合だけ受け付けるようにするだけでいい
○ms経過してりゃ入力した瞬間に処理が始まるし
チャタリング中には反転処理に進まない
0889774ワット発電中さん
垢版 |
2019/09/11(水) 18:58:35.15ID:ekdC/8qe
だからー スイッチ入力なんざ100msに一回読んでりゃあ、他になんもやることなんぞ無いわな。
0890774ワット発電中さん
垢版 |
2019/09/11(水) 20:32:42.31ID:VnGSm1rv
>>887は産業プログラマかな?
とても常識的な内容でチャタリング除去だけじゃなくて不完全入力のフィルタも兼ねてる。

>>888はノイズ試験ってやったことない?
0892774ワット発電中さん
垢版 |
2019/09/13(金) 09:51:51.78ID:LbHNHQQK
ポートを適切な間隔で2回以上読んで一致を取るのはデバウンスの基本だが、
それすら知らない人のいかに多いことか。
0893774ワット発電中さん
垢版 |
2019/09/13(金) 12:30:41.78ID:CHDRdPnA
2回の間隔は何msくらいが良いのでしょうか?
0.5secだとスイッチ応答が変な感じだし、
0.1sec暗いでしょうか?
0896774ワット発電中さん
垢版 |
2019/09/13(金) 15:35:45.41ID:LbHNHQQK
>>893
どれほどチャタリングが継続するスイッチなのかによるけど、
デフォは30〜50msくらいでいいと思う。
自動販売機が100〜200msくらいかな。チョンと押したくらいじゃ反応してくれんし。
0897774ワット発電中さん
垢版 |
2019/09/13(金) 16:00:09.30ID:/YLU92MB
>>895
オンディレイタイマーで済むことを
なんでわざわざ2回以上読んだり一致処理しなきゃならんの?
頭悪い
0898774ワット発電中さん
垢版 |
2019/09/13(金) 16:42:38.28ID:LbHNHQQK
え?1回だけなら意図した信号かインパルスノイズか判断つかないじゃない。
頭悪い・・・・
0899774ワット発電中さん
垢版 |
2019/09/13(金) 16:45:50.99ID:LbHNHQQK
あ、「チャタリング」しか考えてないからそういう思考になるのか。
「デバウンス」はそれ以外の要因も含んでるんだからそりゃ話がすれ違うわな。
0900774ワット発電中さん
垢版 |
2019/09/13(金) 18:09:02.02ID:F8JO73Ow
君のマイコンはスイッチ入力しか仕事がないんだろうけど、他の人のマイコンはもっと仕事がある
0901774ワット発電中さん
垢版 |
2019/09/13(金) 18:17:26.97ID:LbHNHQQK
そうそう、長く引き回したオープンコレクタ信号なんかは
チャタリングはないがノイズが乗ったりするからね。

いちいち個別のピンを2回読みなんて時間のかかることはやってられないし、
スキマ時間で全ピンのデバウンスやっとけばいい。
10msに1回程度のポーリングもできないなら割り込みでもいいさ。
0902774ワット発電中さん
垢版 |
2019/09/13(金) 18:25:45.37ID:WOU47j30
>>898
オンディレイタイマーすら知らんのか
どうりで2回入力して一致確認するようなアホ処理を思いつくわけだわw
0903774ワット発電中さん
垢版 |
2019/09/13(金) 18:36:05.58ID:LbHNHQQK
えーっと、ハードウェアによるオンディレーの事言ってるなら16キーには16個いるよね。1個いくら?
ソフトによるディレーならデバウンス処理の方が軽いよ。

あなたにとってはアホ処理なんだね。了解した。
そんなアホが世界に何人いるか検索してみても楽しいかもよ。
飲み会があるので名残惜しいけどネタに付き合うのは終わりだ。すまん。
0904774ワット発電中さん
垢版 |
2019/09/13(金) 18:53:20.93ID:F8JO73Ow
>>902
世界中のマイコン技術者はほぼほぼアホ、という事か
0906774ワット発電中さん
垢版 |
2019/09/13(金) 20:56:17.95ID:CHDRdPnA
>>905
良いこと言ってるんだけど、
   for(;;) {  を平気で使っているのが嫌い。
   while(1){ だろう。
0908774ワット発電中さん
垢版 |
2019/09/13(金) 21:42:02.79ID:kIpOKfV9
次のページも読めない奴ばかりかよ
ttp://elm-chan.org/docs/tec/te02.html
実用的に使うならこれが最低ライン。定期的なポーリングだけだとノイズを拾ったら誤動作確定
ノイズが多い環境なら2回一致でも危ないからもっと増やすことも検討せざるを得ない
誤動作の結果がクリティカルな場合はワンアクションで動作しないようにするとかの対策も考えないと
0909774ワット発電中さん
垢版 |
2019/09/13(金) 21:55:48.69ID:XvJk/a5N
ダメだな。
マジでノイズで誤動作防止するなら、ノイズがスレッショルド超えるような事態そのものを
起こさない回路にすべき。

二回読み一致したらオーケーとか、マジでやばいもんには危なすぎる。
0910774ワット発電中さん
垢版 |
2019/09/13(金) 22:14:42.35ID:onC5RHXw
でもお前ら趣味でも仕事でもそのレベルのもの作ったこと無いんだろ?
0912774ワット発電中さん
垢版 |
2019/09/14(土) 12:36:08.98ID:iOZgbbCD
昔モータドライバの組込みやってたときは1ms周期でポートレジスタ読んで10連続一致で確定としてた
EMG入力だけはエッジ割込一発確定
RX62Tとか出始めの頃のRenesasサンプルコードも似たような感じだった
まぁ1msはサーボループに同期させてるだけ
0913774ワット発電中さん
垢版 |
2019/09/14(土) 13:36:33.06ID:HcaMrVRA
>>906
コンパイラによるけど大抵のコンパイラはwhile(1)は警告を出すので俺も無限ループはfor(;;)を使う
0915774ワット発電中さん
垢版 |
2019/09/14(土) 15:14:38.59ID:w3OGL0sB
>>913
そうなんですか。勉強になりました。
慣れの問題だろうけど、
For(;;)は、読んでも何をしているのかサッパリわからない。
そこ行くと、while(1)は、英文の意味通り、よくわかる。
0917774ワット発電中さん
垢版 |
2019/09/14(土) 17:11:01.10ID:HcaMrVRA
>>915
> For(;;)は、読んでも何をしているのかサッパリわからない。
条件節を省略したら常に真とみなすことすら覚えられないならまあしょうがないんじゃねw
0920774ワット発電中さん
垢版 |
2019/09/14(土) 23:02:26.38ID:w3OGL0sB
for(;;)とwhile(1)だと、どちらが高速なのでしょうか。
0922774ワット発電中さん
垢版 |
2019/09/15(日) 06:24:13.39ID:Q8jr67DP
>条件節を省略したら常に真とみなす よりも
>終了条件が無いんだから、永久ループ。 のほうが、しっくり来るね。
0925774ワット発電中さん
垢版 |
2019/11/03(日) 04:39:03.75ID:UDAodOVq
小学生からプログラムの授業が設置されるんだって?
0927774ワット発電中さん
垢版 |
2019/11/04(月) 01:00:44.82ID:Lgeqvhfk
>>926
ありがとう。読んだ。

国語もおぼつかない小学生に、プログラムの勉強が必要か?
他の国に負けないように とか、そういう見栄なのでは?
0928774ワット発電中さん
垢版 |
2019/11/04(月) 07:44:05.08ID:Njo0DyOf
その国語教育がなっていない。

ほかの教科をふくめテストの設問で「次の中から適当なものを選べ」なんて書いている時点で国語に対する危機感が足りない。
いまなお文学的表現に偏りすぎで「情緒的で流麗で読みやすい作文」を「事実を解釈に幅なく表現する作文」より優先しすぎだし
読解でも「行間を読むこと」を「書いてあることから事実だけを抽出するここと」より優先しすぎ。
そんなものだから、感情的に偏った読み方をして、ほかの教科の教育だってうまくいってない。
テキストでもテストでも、教える側が「そう読むか!」と嘆くような解釈をするケースが少なくないのだそうだ。

プログラミング教育で「解釈に幅のない表現」の力がつけば良いと思うんだ。
0929774ワット発電中さん
垢版 |
2019/11/08(金) 18:33:58.78ID:4MMhuatx
グラフィックLCDに字描く時の定番ライブラリってあるのでしょうか?
0931774ワット発電中さん
垢版 |
2019/12/29(日) 14:41:22.39ID:lTp+lQJK
トーンデコーダを並べるのが大変なんで、マイコンでやってしまおうと思ってるんだけど
A/D変換した後何をすれば良いのかヒントはありませんか?
0933931
垢版 |
2019/12/30(月) 11:15:43.70ID:MnUwCfof
レスありがとう、色々調べてみます。
空線信号やDTMFならIC使った方が楽なんですけどね…
0934774ワット発電中さん
垢版 |
2019/12/30(月) 17:28:45.16ID:mMHREDze
トーンデコーダって書いてあるからDTMFのデコードだと思っていたわ。だから8回
特定の周波数にピークが立っているだけの判別で良ければ判別すべき回数分のDTFで良いけど
バックグラウンドについても何らかの判別を行う必要があるならFFTする必要があるかもしれませんね
0935774ワット発電中さん
垢版 |
2020/01/07(火) 02:59:34.56ID:Q/+Ngq0x
マイコンソフトやってて、馬鹿な俺をご披露

・#includeしているファイルを修正してるのに、ちっともバグが取れない。
  よく見たら、.BAK ファイルを修正していた。
・割り込みの中の変数をmainで見ようと、Global変数を取ったのに、
  ちっとも読めない。よく見たら、割込中でstaticで取っていた変数だった。
  Globalよりstaticのほうが強いのね。
・ソース中の定数を変えてるのに、まったく変化しない。よく見たら、コメントの数値を変えていた。
0936774ワット発電中さん
垢版 |
2020/01/07(火) 21:40:12.22ID:RVgv6xXx
>>935
1つめと3つめはアレだが、2つめはわかってよかったじゃん。
自分は、10進数の桁数揃えようとして頭に「0」追加したら、8進数になることを知らずにもんげー悩んだよ。
それと、昔は全角スペースが表示されなかったんで、何でコンパイルエラーになるのかわからなかったりとか。
0940774ワット発電中さん
垢版 |
2020/04/26(日) 14:31:19.85ID:rg9deATq
[ネットストーキングするために必要な物リスト]
◯ボールペン(ネットで調べた情報を書きとめるために)
◯ノート(ネットで調べた情報を書きとめるために)
◯老眼鏡(ネットで調べた情報を見るために)
◯足つぼマッサージ板(ネット検索で疲れた足をいたわるために)
◯マグカップ(お茶飲みながら作業するために)
全てダイソーで揃います
0941774ワット発電中さん
垢版 |
2020/06/06(土) 10:41:27.29ID:Efx3h2Xb
H8/3069FってIOポートのDDRをビット単位で操作できないのでしょうか?
0942774ワット発電中さん
垢版 |
2020/06/06(土) 17:14:58.68ID:NnOduWKW
H8の事もう全く覚えてないけど、
仮にDDRがWrite Onlyでも手が無い訳じゃない、
別に変数持ってビット演算してその結果をDDRに書け。
0943774ワット発電中さん
垢版 |
2020/06/08(月) 15:15:11.71ID:sjDxBvWh
>>941
言語が書いてないがC言語ならメーカー提供のI/Oレジスタ定義ファイルに
ビット単位のunionがあれば簡単にできるよね。
まあ>>942の通りアセンブラでもできるか。
0944774ワット発電中さん
垢版 |
2020/06/10(水) 02:40:46.36ID:OrUkCef7
>>941
構造体で書けば、1GPIOごとのI/O方向は、設定できる。
ただ、内部アクセス的には、8bit単位で書き込んでると思う。
0946774ワット発電中さん
垢版 |
2020/06/20(土) 04:31:19.00ID:QRJ9FOrR
符号付き14bit A/Dの変換値を、画面に表示するプログラムを考えました。
以下の通りなのですが、何か考え方が間違っているようでしたら
教えてください。

h_AD = get_14bit_AD();          // 14bitADの値を 16進で取り込む
f_AD = (float)h_AD;           // float値にする 0001→1.0 0000→0.0 ffff→-1.0
f_measure = (5.0/1.0) * (f_AD/8192,0); // 変換する +5.0V→ADに+1.0V入る。14bitADなので±13bit
printf( "AD=%fxx.xx\r\n", f_measure ); // 表示
0947774ワット発電中さん
垢版 |
2020/06/20(土) 06:42:21.07ID:0qf+RRTr
符号付き14bit ADCなんてあるんだ

> f_measure = (5.0/1.0) * (f_AD/8192,0);

f_AD*(5.0/1.0/8192.0);
に変形しよう
乗算1回になる

浮動小数点演算は変形で値が微妙に異なる事があるので
コンパイラが最適化しにくい
0948774ワット発電中さん
垢版 |
2020/06/20(土) 06:53:35.71ID:0qf+RRTr
f_AD*(5.0f/1.0f/8192.0f);
fを付けないとdoubleで計算してしまう

マイコンだとdoubleもfloatも同じ精度の物もあるけど
0949こまわりさん
垢版 |
2020/06/20(土) 07:53:18.31ID:+H7BWcSm
千石電商 田口と松田
0950774ワット発電中さん
垢版 |
2020/06/20(土) 10:42:06.71ID:ZY9EVHlQ
>>946
0xFFFF は 65535 だから float にキャストしても 65535.0 じゃない?

> printf( "AD=%fxx.xx\r\n",f_measure ); // 表示
AD=1.23456xx.x とかなりそう。
0951774ワット発電中さん
垢版 |
2020/06/20(土) 11:32:59.10ID:0qf+RRTr
わざわざ符号付きって書いてあるんだから
get_14bit_ADもh_ADも符号付きなんじゃないの?
0952774ワット発電中さん
垢版 |
2020/06/20(土) 12:30:14.54ID:8Xy2ANwK
実際にやってみて悩めばいいと思うけどな。
他人にあらかじめ見てもらって悪いところを全部直してもらう
なんてことやってたら一人でプログラム作れるようにならないし
楽しくないだろ。
0953774ワット発電中さん
垢版 |
2020/06/20(土) 17:31:58.51ID:dC5PpNll
だいじょうヴイ
楽しみ方は人それぞれだし
天下無敵のコピペがあるじゃないかw
0954774ワット発電中さん
垢版 |
2020/07/13(月) 14:20:45.64ID:lECv8bpZ
CPUを使った既製品ハード+コピペソフトの電子工作の素晴らしいところは、
「コンピュータを動かしている俺、何て頭が良いんだ」
と気持ちいい誤解を素人にさせてくれるところだなw
0956774ワット発電中さん
垢版 |
2020/07/17(金) 17:06:23.87ID:gMOW57ea
趣味の電子工作は気楽で良いよな
同僚が作ったバグのせいで取引先に呼び出されて
エライ人達5、6人に取り囲まれて
原因と対策を延べよ、なんて詰問されたりしないだろうし
0958774ワット発電中さん
垢版 |
2020/07/18(土) 02:46:08.10ID:ewX0Ltgh
>>956
>原因と対策を延べよ、なんて詰問されたりしないだろうし

原因なんて「検査の見落としでした」しかないでしょ?
どんなバグがあろうがなかろうが、出荷前検査で確認してあれば良い訳だから。

対策は「検査項目を増やし、検査員を1人追加します」

結局、多項目の検査を複数回、複数人でやる以外に対策は無いんだよね。
0961774ワット発電中さん
垢版 |
2020/07/18(土) 05:43:14.13ID:Xib9j1RJ
「検査の見落としでした」
「検査項目を増やし、検査員を1人追加します」

何も報告してないのと一緒
出直してこい
0962774ワット発電中さん
垢版 |
2020/07/18(土) 11:12:41.70ID:2hUsI3/u
ミスは絶対にゼロにはならないし、問い詰めること自体が意味が薄いことが多いんだよなあ。
Windowsのバグがあったから、っていちいちユーザーがマイクロソフトの上級エンジニアを呼び出して、
納得いくまで詰問するわけじゃないことぐらいわかってるのに、そのことは棚に上げて、詰問するんだしな。

詰問される側になったこともあるし、愚かなことに詰問する側もやったことがあるけど、作業環境の問題とか
わりとはっきりと対策できること以外は、たいていが担当者個人の資質に依存することだし。
かといって、継続的な製品なら、その人を担当から外すとか、その外注さんを変えてしまうとか、そうそう
できるものでもないしね。

チェック項目やチェック担当者、ハンコ欄を増やすのは割と最悪の納得だよな。

https://pbs.twimg.com/media/EA7jtfYVUAAe6Mb?format=jpg&;name=small
https://japanese.engadget.com/jp-2019-12-17-1-2-2019.html
0963774ワット発電中さん
垢版 |
2020/07/18(土) 14:02:17.03ID:ovBUVDRY
まぁ、実害(金銭的な損害)が発生すると、たいていの場合は目の色が変わってくるんだよね
会社によっては謝罪だけでは済まない場合もあるし
0964774ワット発電中さん
垢版 |
2020/07/20(月) 02:11:57.87ID:H52Hsx38
以前、こんなソースを見たことがある。
mainが、タイマー割込ごとに動作するという。

void main(){
  if( wrikomi==1 ){
    warikomi=0;
    処理を書く
  }
}
もうほとんどFPGAじゃないか?と思った。
分かりやすくて好きだけどね。
0966774ワット発電中さん
垢版 |
2020/07/20(月) 10:06:50.02ID:Wr9FlovS
これが変とか言われたら結構な割合で世の中の組込みコードは変という事になる。
0968774ワット発電中さん
垢版 |
2020/07/20(月) 10:27:12.30ID:IOJZVOxJ
すぐにmain()を抜けるんだね。

無限ループの中にif(warikomi == 1)が入ってるのはあると思うけど。
0969774ワット発電中さん
垢版 |
2020/07/20(月) 11:55:14.13ID:LKo/EUGt
>>964
> mainが、タイマー割込ごとに動作するという。
これは見たことないな
割り込みをフラグで拾ってメインルーチン側で処理すると言うのはそれなりに見るけど

> もうほとんどFPGAじゃないか?と思った。
これはよくわからん
0971774ワット発電中さん
垢版 |
2020/07/20(月) 12:27:13.99ID:IOJZVOxJ
>>965-966の見解も聞いてみたい。
0972965
垢版 |
2020/07/20(月) 13:05:24.97ID:uF/x6awb
単純にvoid loopの書き間違いだと思ってたよ。
だってソース通りなら基本的に即HALTやん。
0974774ワット発電中さん
垢版 |
2020/07/20(月) 19:02:07.18ID:PZ62PZrk
スタートアップコード自作ならmainの外でどんな動きにも出来る
0975774ワット発電中さん
垢版 |
2020/07/20(月) 19:43:39.60ID:Av23oRk0
>>969
> > もうほとんどFPGAじゃないか?と思った。
> これはよくわからん

always に似てると思ったんじゃない?
0977774ワット発電中さん
垢版 |
2020/09/06(日) 13:55:09.41ID:sUm50DKG
教えてください

switch文で質問があります

switch (制御式) {
case 値1: 文1
case 値2: 文2
default : 文3  break
}
通常は各case文の末尾にbreakをおきますが、
それがない場合は、どのような動きになるのでしょうか?
・値1の時は、文1 文2 文3 を実行する
・値2の時は、文2 文3 を実行する。
・値3の時は、文3を実行する。
という理解で、正しいでしょうか?
0981774ワット発電中さん
垢版 |
2020/09/06(日) 17:06:46.16ID:LpetLc21
>>978
ありがとうございます。
とても覚えやすくて、ありがたかったです。
ありがとうございました。

>>980
ありがとうございました
0982774ワット発電中さん
垢版 |
2020/09/10(木) 01:23:11.18ID:aH9j9E+G
教えてください。

マイコンで、AD変換→EEPROM記録を定周期で行っているとき、
電源が抜かれて0Vになった場合、記録中のデータ書き込み完了や破損を防止したいです。
そのめに考えたのは、
・大きな電解コンデンサで電源低下を持たせる
・電源電圧2V〜5Vのマイコン、EEPROMを選定し、5V→2Vの間で作業完了
上記の結果、少なくてもその回の書き込みを完了させてから落ちることを考えました。
しかし前者ではコンデンサが大きくなりそうで、スマートではないなぁと思っています。
そうしなくても、ソフトウェア的に何かテクニックがありますでしょうか?

これまでのデータが喪失しないこと、今回のデータは最悪喪失でもよいです。
0983774ワット発電中さん
垢版 |
2020/09/10(木) 07:20:15.80ID:XeaJq4Zn
>>982
書き込みは6ms位で終わるから、コンデンサで持たせる で良いと思う。
ページ単位なら同じ書き込み時間で32byteとか書ける。

データをバッファに溜めてるなら、電源低下をなるべく早く検出して、残ってるのをEEPROMに書き込み。
0985774ワット発電中さん
垢版 |
2020/09/10(木) 11:07:57.81ID:sDCn/NOK
そもそもプログラム中に給電が止まったときの影響範囲ってマニュアル等に書いてないの?
0986774ワット発電中さん
垢版 |
2020/09/10(木) 11:58:07.18ID:qojhqQmT
ソフト的には「一定電圧以下では書き込みを行わない」しかないっしょ。
書き込み時間の確保や低下検知後の動作はハードの問題。
少なくとも書き込み実行しちゃった後の時間を確保するためのコンデンサは必須だよ。
それが大きくなるか小さいので済むかもハードの問題。
0987774ワット発電中さん
垢版 |
2020/09/10(木) 22:54:09.75ID:rPepYd9A
>>982
・電気二重層コンデンサでバックアップしたら、マイコンとEEPROMぐらいなら秒オーダーでもつよ。(マイコンによりけりだけど)
・電源低下はm秒より短いサイクルで検出したいし、モーター、リレー、ディスプレイなどの電源はマイコンの電源から切り離せるようにしたい。
>>984の方法が確実では。Z80の時代からSRAMのバッテリバックアップはよくあった。
・今なら、書き込み時間の短いFRAMもあるし、なんなら、一部のMSP430みたいに、FRAMを搭載したマイコンもあるし。
0988774ワット発電中さん
垢版 |
2020/09/11(金) 01:13:39.62ID:T0xTS+AL
>>982です。
みなさん、どうもありがとうございました。
やはり、電圧が残っている間に、チャチャって済ます ですかね。

以下のように考えてみました。
1. 電源断をいち早く知る
2. 短時間に書くようにプログラムを工夫する。
3. 記憶媒体を見直す。

1. 電源断をいち早く知る
   電源RESET ICかコンパレータICを使用して、4.0Vを↓したら、外部割込をかける。
   (NMIは使ったこと無い)

2. 短時間に書くようにプログラムを工夫する。
   ・マイコン内部のRAMにBufferするのをやめて、毎回毎回書き込む。
   ・バースト書き込みはやめて、1byteずつ毎回、Address, R/W, Dataで書き込む

3. 記憶媒体を見直す。
   ・EEPROM→FRAM 使ったこと無いんですが、パラレルバスのICでしょうか。
    ワンチップマイコンなので、外バスが出ていなくて、要検討です。
      SPIのFRAMがあれば、書き込み時間を検討してみます。

4. 次点
   ・電源の改善に、空気二重層を付ける→入手難のようですね。Panasonic?
     書き込みが完了したら、空気キャパシタを遮断するようなスイッチ必要検討。
     マイコンがスリープすれば良いか。

屋外で使用したいので、電解コンデンサの容量減少も考えないと。

みなさん、いろいろと、どうもありがとうございました。
0989774ワット発電中さん
垢版 |
2020/09/11(金) 01:15:36.44ID:RWDJuBLh
EEP-ROMで足りるもの(アクセス速度や回数制限が問題にならない)を
FARMやバックアップ付きSRAMに変える意味はほとんどない。
データ書き込みプロセスを始めたら、終わるまで止まっちゃならんのはすべて同じ。
0990774ワット発電中さん
垢版 |
2020/09/11(金) 05:50:08.30ID:cJDnlvMz
>>989
> データ書き込みプロセスを始めたら、終わるまで止まっちゃならんのはすべて同じ。
そこは同じだけど速度が全然違うだろw
0994774ワット発電中さん
垢版 |
2020/09/11(金) 08:16:26.96ID:lDgZNUds
速けりゃ電圧維持時間ゼロでもいいのか?
ちゃんと設計せにゃならんだろ?
> 終わるまで止まっちゃならんのはすべて同じ。
0995774ワット発電中さん
垢版 |
2020/09/11(金) 08:28:26.57ID:ME3mJTrC
薄れ逝く意識 弱り逝く体力で遺されたダイニングメッセージ
判別でけんかったり 内容がデタラメだったり

そんな記憶値 簡単に信じたらあかんで
0996774ワット発電中さん
垢版 |
2020/09/11(金) 08:46:33.56ID:zztadHYn
抽斗は多い方がいい。
自分の流儀にあわないものでも好き嫌いなしに抽斗に入れておけば役に立つことがある。
0997774ワット発電中さん
垢版 |
2020/09/11(金) 08:47:53.89ID:zztadHYn
あ、多い方がいいのは抽斗の中身だね。

(カモシカのような脚ってどんな脚?)
0998774ワット発電中さん
垢版 |
2020/09/11(金) 09:24:20.67ID:U9Qk669V
>>994
SRAMとかに随時書き込んでるなら電圧維持時間ゼロでもいいだろ。
書き込みシーケンス途中で落ちるのが悪いんだから。
0999774ワット発電中さん
垢版 |
2020/09/11(金) 09:30:49.01ID:cJDnlvMz
>>998
いいわけ無いだろ
書き込みの瞬間に電源落ちてアドレス不安定になったらどこに書くかもわからんし
シーケンスの意味がわかってないなら黙っとけ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1180日 7時間 14分 26秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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