制御系なら俺に聞いてもいいぜ(10)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
まったり逝きましょう。
ハード寄りの話も大歓迎です。
道具話も楽しくやれるならやってくらさい。
この世界は処理系依存はあたりまえだから、処理系明記するのを忘れないでね!

過去ログ
制御系なら俺に聞いてもいいぜ(9)
http://pc11.2ch.net/test/read.cgi/tech/1158622810/l50
制御系なら俺に聞いてもいいぜ(8)
http://pc8.2ch.net/test/read.cgi/tech/1125994426/
制御系なら俺に聞いてもいいぜ(7)
http://pc8.2ch.net/test/read.cgi/tech/1109102528/
制御系なら俺に聞いてもいいぜ(6)
http://pc8.2ch.net/test/read.cgi/tech/1099574832/
制御系なら俺に聞いてもいいぜ(5)
http://pc8.2ch.net/test/read.cgi/tech/1079102543/
制御系なら俺に聞いてもいいぞ(4)
http://pc5.2ch.net/test/read.cgi/tech/1068869894/ (行方不明)
制御系なら俺に聞いてもいいぞ(3)
http://pc2.2ch.net/tech/kako/1059/10594/1059488975.html
制御系なら俺に聞いてもいいぞ(2)
http://pc2.2ch.net/tech/kako/1038/10380/1038094914.html
制御系なら、俺に聞け!
http://pc3.2ch.net/tech/kako/1002/10021/1002176627.html

制御系なら俺に聞いてもいいぞ(4) は、下記のサイトから捜索可能
2ch DAT落ちスレ ミラー変換機 ver.4
ttp://www.geocities.jp/mirrorhenkan/
2デフォルトの名無しさん:2007/10/03(水) 20:24:24
>>1
3デフォルトの名無しさん:2007/10/03(水) 22:40:58
前スレ974だけどやっぱ組み込みでcifsは無謀そうですね。
ところで複合機とかでsmbプロトコルが使える製品あるけど、
あれはやっぱりOSにwindows使ってるんですかね?
4デフォルトの名無しさん:2007/10/03(水) 22:51:35
MSからライセンス買って仕様もらってるだけじゃない?
昔、話題になったときは勝手に使うのはまずいだろうという話だったような
5デフォルトの名無しさん:2007/10/03(水) 23:49:22
>>3
独自開発スタックのを見た事あるよ。詳細は知らんけど UNIX 系。
6デフォルトの名無しさん:2007/10/04(木) 22:25:39
MSに睨まれるのは怖いな
7デフォルトの名無しさん:2007/10/09(火) 16:41:35
FATの特許料払えよおめーら
8デフォルトの名無しさん:2007/10/09(火) 21:43:02
CPUビッグエンディアンFPGAリトルエンディアンの基板を初めてみた。
狂ったふりをした。
9デフォルトの名無しさん:2007/10/09(火) 21:47:25
それなんてCBE評価キット。
10デフォルトの名無しさん:2007/10/17(水) 18:09:34
もう保守させるつもりかよ。 建てた奴は責任もって何か話題フレよ
11デフォルトの名無しさん:2007/10/17(水) 21:02:47
ファミコンのソフト作りたいんだが、どこを参考にするのがいい?
12デフォルトの名無しさん:2007/10/17(水) 23:05:11
よくハードウェアの仕様で
メモリアドレスの表にミラーアドレス?

というのがあるのですが、これはどういった用途のためなんでしょうか

物理アドレス 0x00000000-0x0000FFFF
論理アドレス 0x00000000-0x0000FFFF
0x80000000-0x8000FFFF (ミラー)

みたいな
13デフォルトの名無しさん:2007/10/17(水) 23:06:32
用途というより単にアドレスデコードを手抜きしてるだけじゃないの?
14デフォルトの名無しさん:2007/10/18(木) 13:29:03
こっちはキャッシュが効いてあっちはキャッシュが効かない
みたいな使い分けもあるときもあるしないときもあるっぽい
15デフォルトの名無しさん:2007/10/18(木) 21:00:06
toppersのJSP1.4.3を組み込んでるんですが、ROM化がうまくできないので
詳しい方いたらアドバイスお願いします。
ハードは3069+LANボードです。
プログラムはLEDを点滅させるだけのものです。
FLASHに簡易モニタを書き込んで、DRAMにアプリを転送したときは正常に
点滅するのですが、ROM化して書き込むとうまく動きません。

以下ROM化するときにやったこと
config\h8\akih8_3069f内のMakefile.configのDBGENV := TNCT_MONITORを
コメントアウトしてDBGENV := ROMを有効にした。
カーネルを
% perl ../configure -C h8 -S akih8_3069f
% make depend
% make libkernel.a
で再構築
アプリを
% perl ../configure -C h8 -A test1 -S akih8_3069f -L ../libkaernel/
% make depend
% make
でコンパイル
できあがったjsp.srecを書き込んだがLEDは点滅しない。


16デフォルトの名無しさん:2007/10/18(木) 22:17:25
>>15
MemoryMapはROMに合わせたんだろうな?
17デフォルトの名無しさん:2007/10/23(火) 20:49:50
VxWorks5.5にPCIでLANインタフェースを組み込んだんだけど、
最初は動くけど少し負荷(数kのパケットを受信)をかけただけで
もう受信しなくなってしまう。

なんか同じような状況になった方いたら教えて欲しいです。

・PCI-PCIブリッジ上にLANのポートがある
・PCIコンフィグレーションはPCI-PCIブリッジを含めて手動設定
・LAN IFはGD82559ER(メモリ経由)
・ENDドライバの追加タイミングはアプリケーション上で
・netStackSysPoolShow,netStackDataPoolShowで見てもfreeはたくさん
18デフォルトの名無しさん:2007/10/23(火) 21:18:09
制御系って何言語で書くことが多いんですか?
アセンブリ?C?C++を使うことはあるんですか?
19デフォルトの名無しさん:2007/10/23(火) 21:22:19
リッチなときはC++も使うしperlだって余裕で飛び出すけど
大抵は貧乏なのでCかアセンブラ
20デフォルトの名無しさん:2007/10/23(火) 21:34:56
貧乏というのは、メモリの容量とかの問題ですか??
21デフォルトの名無しさん:2007/10/23(火) 21:43:29
すいません。C#でテキストボックスに入力された数字をintに格納すること
ってできるのでしょうか??
22デフォルトの名無しさん:2007/10/23(火) 21:45:09
intは型なので格納できませんよ
つかスレ違いですよ
23デフォルトの名無しさん:2007/10/23(火) 22:32:19
テキストボックス・・・
24デフォルトの名無しさん:2007/10/23(火) 22:43:35
貧乏乙
25デフォルトの名無しさん:2007/10/25(木) 08:34:07
>>18
今時アセンブラなんて使わない。

電源ON時の処理とか割り込みハンドラーでアセンブラ
必要になることあるけど、ほとんどCかC++で大丈夫。

メモリー価格とかCPUの処理能力が一昔前よりアップしてるので
C++が使いやすくなってる。

昔は少ないのメモリーにいかにプログラムを収めるかが
重要だったかもしれないが、今はそれよりもバグの少ない高品質な
ソフトが求められてると思う。そのためにはC++のクラスを使った
ソフト設計が有利。
26デフォルトの名無しさん:2007/10/25(木) 14:22:20
RAM 2KBとかじゃなければなw

頑張れば2KBでもC++使えるかもしれんが。
27デフォルトの名無しさん:2007/10/25(木) 14:47:13
C++ 使うのに RAM の少なさなんて関係ないだろ。使えない機能は出てくるだろうけど。
選べるんなら C より C++ だな。
28デフォルトの名無しさん:2007/10/25(木) 15:47:25
>>27
関係なくもないよ。

26も言ってるけど、RAMの容量が少ないときは
プログラムはROM上に置いてデータ領域だけRAMに置くのが
一般的だった。
そしてRAMの容量を超えないようにRAMを絶対アドレスで管理するようなことも
行っていた。
この場合はアセンブラだと管理しやすい。

RAMの容量が十分大きければプログラムすべてをRAM上で動かし
メモリーが必要になった時点でnew(malloc)でメモリー確保することが可能となる。

RAM容量が少ないとnew(malloc)でメモリー確保時にメモリー不足になることも
想定する必要が出てくるので大変になる。

また、C++でテンプレートなんか使うとプログラムに必要なメモリー容量の
見積もりも難しくなる。

メモリー容量の見積もりが一番簡単なのはアセンブラ。
ソフト開発の容易さはC,C++の方が良い。
29デフォルトの名無しさん:2007/10/26(金) 00:57:47
>>28
C/C++ 使っててもマップファイル見れば何がどこでどれだけ容量食ってるのかすぐわかるよ。

new/malloc がマズイなら使わなきゃいいだけ。テンプレートで無駄に膨らむならそこだけ
手で書けばいい。それでもアセンブラよりは遥かにマシなはず。
30デフォルトの名無しさん:2007/10/27(土) 00:09:14
>>29
作っちまってから足らないじゃ済まないわけで

むしろ、そこまで高級言語に固執する理由がわからん
アセンブラで済むようなものなら、それでも良いんじゃない?
31デフォルトの名無しさん:2007/10/27(土) 05:14:53
リアルタイムOSに何%か食われる、ってことの他に、そのOS採用するときのチーム/チーフ
の決定がクソだったりね。タイマが100mSオーダーでしか張れなかったり、複数イベントを
タイムアウト付で待っちゃいけなかったり・・・ ASMでもCでもいいけど素っ裸が好き♪
32デフォルトの名無しさん:2007/10/27(土) 16:07:56
リアルタイムOSっていうのはこの世にないんだよ。
33デフォルトの名無しさん:2007/10/27(土) 16:32:01
>>31
>複数イベントを タイムアウト付で待っちゃいけなかったり・・・


それってマルチスレッドでセマフォ使ってプログラムしてもそうなの?
ま、決め付けはよくないんだが・・・。

ちなみに何てOS?

>>32
文字通りとればね。
でもリアルタイムを名乗るOSなら簡単に出来る事を、
例えばFPGAで論理を組むのは大変だしー。
34デフォルトの名無しさん:2007/10/27(土) 16:35:13
リアルタイムOSっていうのを使って制御する方が難易度高いって事をわかってないのが...
35デフォルトの名無しさん:2007/10/27(土) 16:45:11
>>34
それは失礼。確かに簡単な制御をRTOS使うより裸の方が使いやすいけど?
FPGA、RTOS、裸のどれを選ぶかは自由ですよ自由。

何か不満があったらココじゃなくて君の上司に言って。
36デフォルトの名無しさん:2007/10/27(土) 16:47:06
おれに上司はいないよ。
37デフォルトの名無しさん:2007/10/27(土) 17:42:16
就職しろよ
38デフォルトの名無しさん:2007/10/28(日) 13:09:51
丸投げするところばっかりだろ?
39デフォルトの名無しさん:2007/10/28(日) 20:10:48
どこまでリアルタイムか予測できない
40デフォルトの名無しさん:2007/10/29(月) 03:08:48
タイミングチャートとか書けば、ある程度はわかるのでは?
41デフォルトの名無しさん:2007/11/07(水) 12:59:07
今、派遣ですが制御系をやるにはやっぱり就職した方がいいでしょうか?
42デフォルトの名無しさん:2007/11/07(水) 13:22:05
派遣でも就職してるのに変わりはないよ。

転職した方がいいかどうか聞いてるの?
過去ログより

3 名前:1 投稿日:02/11/24 09:02
就職相談の話題が循環するから先に答えておく。

好きならやれ。
他に選択肢があるならそっちをえらべ。
自分が選んだ、なりたい自分になれ。

以上。
43デフォルトの名無しさん:2007/11/07(水) 17:06:21
政府見解でも一般人の認識でも派遣は無職に分類されるわけだが
44デフォルトの名無しさん:2007/11/12(月) 20:57:52
今H8マイコン+HEWで文字出力してるんだけど、
プログラム上で"送信"ってのをchar型に入れると、90 97 90 4Dになる・・・
(SJISだと91 97 90 4D)。

strcpy(str, "送信");
みたいな感じで。

他にも、完了だと 89 AE 96 B9(SJISだと8A AE 96 B9)になってしまう・・・。
"データ"とかカナだと上手く行くのに漢字だと0x100づつ足されてる・・・?
これ何て文字コードですか?JISでもEUCでもないよね?
45デフォルトの名無しさん:2007/11/12(月) 21:11:20
何かのコードというよりも、変になっている、んでは?
「進」「了」はそのままのようですし。

ソースファイルをバイナリダンプしてどうでしょう?
オブジェクトファイルは?

という感じでとりあえずビルド過程のどこでどうなっているのかを
追ってみては?
46デフォルトの名無しさん:2007/11/12(月) 21:47:00
自己解決しました・・・そりゃいかんわ・・・
別のところでそのchar2文字をushort型に入れるところで・・・

ああ恥ずかしい・・・。
47デフォルトの名無しさん:2007/11/12(月) 21:55:44
>>42
>派遣でも就職してるのに変わりはないよ。
バカ?
48デフォルトの名無しさん:2007/11/28(水) 02:07:30
制御工学って機械系の中で最も就職が悪い分野なんでしょうか?
49デフォルトの名無しさん:2007/11/28(水) 09:45:29
地方によるべ
50デフォルトの名無しさん:2007/12/02(日) 17:58:39
制御系って大手メーカー以外の就職先ってあるの?
51デフォルトの名無しさん:2007/12/02(日) 18:08:54
>>50
弊社などいかがでしょう。従業員100人前後の会社ですが、制御系の請負
52途中で切れた:2007/12/02(日) 18:10:50
開発もやっています。
53デフォルトの名無しさん:2007/12/02(日) 18:12:43
>>50
大手メーカーの子会社
中小メーカー
請負
派遣

いろいろありますよ
54デフォルトの名無しさん:2007/12/02(日) 18:20:26
派遣はスキルにならないからやめとけ
55デフォルトの名無しさん:2007/12/02(日) 18:29:34
100人ってけっこう多いな
56デフォルトの名無しさん:2007/12/02(日) 18:37:14
100を越えると、まとまりにくくなるから分裂しやすくなるんじゃね。
57デフォルトの名無しさん:2007/12/02(日) 18:41:26
会社にノウハウが貯まらないと嘆いているのに派遣を雇う会社があったな
制御系は特に自社の力を武器にしなきゃいけないだろうに。
58デフォルトの名無しさん:2007/12/03(月) 02:11:11
100〜200人の間に、「安定性の壁」 みたいのがあって、なかなか越えられないんだよね。
俺の居た会社もそうだった。なんか原子核の法則みたい(w
59デフォルトの名無しさん:2007/12/03(月) 10:42:53
板違いだからそろそろ遠慮するかマ板でやってね
60デフォルトの名無しさん:2007/12/03(月) 12:21:54
KY
61デフォルトの名無しさん:2007/12/03(月) 17:15:30
死ね
62デフォルトの名無しさん:2007/12/05(水) 20:27:01
H8/3052Fでstd::vector使おうとしたらROMから溢れたorz
newlibとかlibstdc++よりサイズの小さい組み込み用ライブラリがほしい・・・
# リエントラントとかいらねーのに、struct _REENTがでかい
63デフォルトの名無しさん:2007/12/05(水) 22:03:16
>>62
殺せるじゃないの?
64デフォルトの名無しさん:2007/12/05(水) 22:11:29
>>63
日本語でおk

エスパーすると、newlibのunreent()の中身は大概
unreent() { unreent_r(_impure_ptr); }になってて、切り離せない

それとも組み込み用ライブラリの隠語?
65デフォルトの名無しさん:2007/12/05(水) 22:12:30
じゃ、自前で用意すればいいんじゃないの?
66デフォルトの名無しさん:2007/12/06(木) 09:38:52
そもそもROM512KでROM溢れるか?
RAM8KだからRAM不足だろ?
ヒープ使うようなコードをRAM8Kで書こうって方がどうかしてる
67デフォルトの名無しさん:2007/12/06(木) 14:02:09
俺の腕が悪いんじゃないと言いたいのかも?
68デフォルトの名無しさん:2007/12/07(金) 07:38:29
つーか、ROM512K、RAM8KでSTL使おうとするほうが無茶。
69デフォルトの名無しさん:2007/12/07(金) 09:21:19
H8レベルだとヒープも使わないし、初期値付変数も使わない
(HEWのD R セクションは殺してしまう)
70デフォルトの名無しさん:2007/12/09(日) 01:03:57
フリースタンディングでC++使うのが初めてだったんで、
そこらへんの見積もりがぜんぜん取れてなかったんですorz
まあ、C++使おうとするよりずっと前から3052使うのは決まってたし、
必ずしもstd::vectorが必要なわけではないのでそれはかまわないけど。

# 経験が浅いとか知識がないとかはそのとおりなので
# 反論の余地はないけど、腕のよしあしは関係ないと思う

std::vectorは単純に手を抜きたかったから試しただけ。
そもそもC++使おうとしたのが単なる手抜き

# でもprintf使いたいけど書きたくないからnewlibのstdioは使うw
71デフォルトの名無しさん:2007/12/09(日) 03:28:28
7行スレで拾ったprintfもどきが役に立つ
72デフォルトの名無しさん:2007/12/09(日) 11:31:42
昔、8086でprintfをアセンブラで書いたことあるよ。付属のprintfがデカすぎたから
どっかのCコンパイラについてたprintfは割とよくできたなあ。
73デフォルトの名無しさん:2007/12/12(水) 13:14:54
LSI-C86かな? あれの整数版は確かにコンパクトにできていたが。
74デフォルトの名無しさん:2007/12/18(火) 08:34:24
85にもあったよ。ICC(H8用)では実数機能の有無をlibで選択できるようになっていたり。
75デフォルトの名無しさん:2007/12/29(土) 10:24:52
すいません、よくprintf関数が重いとかいわれるのですが、
よく意味がわかりません。
開発環境は、yellowsoftのものをつかってますが、
無償版だと、「YCH8は16kまで」「printf関数は10kを超えるので
使用しないでください」とか書いてあります。
○○kとかの意味もよくわかりません。
こんな素人ですがご教授お願いします。
76デフォルトの名無しさん:2007/12/29(土) 13:46:44
>>75
printf()はなんでもありの万能関数になっている。
従って、普段使わないだろうロジックも含まれているためサイズが大きい。
そのサイズを具体的に表わすとすると、10KiBなどという表現になるわけだ。
つーか、その辺の基本も判らずに制御系の開発なんて何考えているんだ?
77デフォルトの名無しさん:2007/12/29(土) 13:58:38
だから簡易版のオレprintfをみんなで
78デフォルトの名無しさん:2007/12/29(土) 14:30:14
k はコードのキロバイトのことだろう。多分。
79デフォルトの名無しさん:2007/12/29(土) 14:34:43
7行printfは便利だったな
80デフォルトの名無しさん:2007/12/29(土) 15:21:35
>>79
どんなの?%dだけ処理なら7行でもなんとかできるかな?
81デフォルトの名無しさん:2007/12/29(土) 15:28:25
printfの本体は別の関数だよ。元を小さくしないと...
82デフォルトの名無しさん:2007/12/29(土) 15:41:26
>>80
7行スレに行ってこい。そんでもって感動してこい。
83デフォルトの名無しさん:2007/12/29(土) 20:55:19
>>75
んなもん、見りゃわかるだろ
因みに参考用にLinuxKernelのprintf置いとく
http://www.koders.com/c/fid19A03C6A3C284E32B538A2171C3B6238B688A2F6.aspx
84デフォルトの名無しさん:2007/12/29(土) 22:00:59
>>83
おお、すげえ
85デフォルトの名無しさん:2007/12/30(日) 08:38:58
printfのなかって、こんなに深かったんだ。
printf-vprintf-vfprintf-__vfprintfてコールしてるのか。
すげえな。
感動した。
86デフォルトの名無しさん:2008/01/01(火) 14:16:19
てーか、似たような処理をするバリアントがたくさんある奴は
なんだってだいたいこんな作りだ。

例の7行printfはもちろんその7行で完結しとるわけだが。
87デフォルトの名無しさん:2008/01/02(水) 00:02:49
これは組み込み系の話題といえるのかわからないんだけど、
printfみたいに引数を何個でも指定できる関数ってどうやって作るの?
88デフォルトの名無しさん:2008/01/02(水) 00:05:08
>>87

C言語スレのほうが適切だろうが…
「可変引数リスト」でぐぐれ。
あまり使わないけどね。
89デフォルトの名無しさん:2008/01/02(水) 00:06:13
>>88
ありがとう。組み込み系でprintf作るんで使いたかったんです
90デフォルトの名無しさん:2008/01/02(水) 10:15:25
作るんだから使いたいってのが判らないが

普通はいったんvsprintf系の関数を作る。 つまり可変引数じゃなくてポインタ渡しのを作って
それを呼び出す形にする。
91デフォルトの名無しさん:2008/01/02(水) 15:36:41
最近、職場で「出戻り寄生派遣」という言葉が囁かれています。
派遣契約を切られたにもかかわらず「次の派遣先でも切られてしまって生活できません」
などと 言って泣き落としで現場マネージャーにすら一切話がないまま再派遣契約した人のことです。
今月初め、半年前に切った派遣が出社してきてマネージャーも含めみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。

仕事に必要な技術がなく勉強する気もないのを逆手にとって
「私のような人の視点で仕事をすることも大切だと思います」と挨拶された時には
みんな凍りついていました。派遣でスキルアップとか言ってる癖に以前と同じように
技術を勉強する気はなく「それは私の仕事ではありません」の一点張り、
派遣で収入アップとか言ってる癖に時給は前回と同じで喜んで再契約。
結局、なんの努力もせずに派遣で安直に収入を得たいだけじゃないですか。

身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
92デフォルトの名無しさん:2008/01/02(水) 23:36:52
ノートPCのマザボにくっついてる部品を取りたいんだけど、
手持ちの電子工作用はんだごてでははんだが溶けません。
何Wぐらいのつかえばいいんでしょうか?
93デフォルトの名無しさん:2008/01/03(木) 02:42:58
>>92
どこかのサイトで、天ぷらのよーに揚げてるのがあったな
きもちいいくらいぽろぽろ取れてたよ
一度使った鍋はもう食用には使えないけどな
94デフォルトの名無しさん:2008/01/03(木) 02:54:09
>>92
鉛フリーはんだとかかもしらんね
融点高い奴
95デフォルトの名無しさん:2008/01/03(木) 03:13:43
ローズ対応だろ
どのキャラ使っても楽勝じゃないの?
96デフォルトの名無しさん:2008/01/03(木) 03:29:34
97デフォルトの名無しさん:2008/01/04(金) 10:04:22
追いハンダして一旦そのメタルスライムをキングスライムにしてしまえば取れるんじゃないかな?
98デフォルトの名無しさん:2008/01/04(金) 10:05:27
>>92
コテライザー
99デフォルトの名無しさん:2008/01/04(金) 22:29:47
>>89
Linuxのはパクるなよ
同じとこにBSDのもあるから
100デフォルトの名無しさん:2008/01/05(土) 00:05:54
Linuxの、という言い方は宜しくないな。
GPLな、とはっきり言うべきかと。
101デフォルトの名無しさん:2008/01/05(土) 00:18:31
LinuxだろうとGPLだろうと、決まりに従えば使えるじゃないの
パクるなんて人聞きの悪い
102デフォルトの名無しさん:2008/01/05(土) 18:17:58
103デフォルトの名無しさん:2008/01/05(土) 19:35:11
コピペ君って馬鹿だな、まで読んだ。
104デフォルトの名無しさん:2008/01/12(土) 01:59:26
ある物体をDCサーボモータを使って定速回転や位置決め制御を行いたいんですけど
PI制御かPID制御どちらが良いのでしょうか?
PID制御にすると初動や近似の時、慣性モーメントの影響で高トルクが必要だと思うのですが・・・
実際どうなんでしょう?
105デフォルトの名無しさん:2008/01/12(土) 12:07:18
>>104
理屈は分からんが、それはPID制御と言わないのでは?
106デフォルトの名無しさん:2008/01/12(土) 14:13:29
>>105
ハードウェアにかけられるコストで安定するまでの時間が変わるんちゃう?
って、いいたいのんとちゃうやろか???
107デフォルトの名無しさん:2008/01/12(土) 20:45:15
位置決めに関わるような制御するなら
オーバーシュートが許されるかそうでないかで結論は自ずと出るだろ
108デフォルトの名無しさん:2008/02/28(木) 19:31:28
制御系と組み込み系って聞くのですけれども両者は何が違うのでしょう?
109デフォルトの名無しさん:2008/02/28(木) 19:50:17
同じ意味で使う人もいればケチつけたがる奴もいる
気にするな
110デフォルトの名無しさん:2008/02/28(木) 20:08:42
PCで制御することもあるがその場合は組み込みとは云わない
111デフォルトの名無しさん:2008/02/28(木) 23:34:19
>>108
個人的には, ちゃいます
制御系: 伝達関数とかの数式を理解できる知識が必要
組込系: 上記知識がなくてもやってける所
112デフォルトの名無しさん:2008/02/28(木) 23:56:56
制御系:きったねー現場で2ヶ月間デバッグに耐える必要あり
組込系:ダメ上司とクソミドルの間で延々耐える必要あり

どっち選ぶ?
113デフォルトの名無しさん:2008/02/29(金) 00:06:07
>>108
制御するのが制御系
組み込むのが組み込み系

組み込み系かつ制御系ってのが多いので混同されやすい。
114デフォルトの名無しさん:2008/02/29(金) 00:28:42
>>113
制御系とは「高度な制御理論を実現する物だけ」と
騒いだ奴が居てウザイから「くみこスレ」が復活したけどな

halt中のNMIの話以降全く見なくなったが
彼は一体何処に行ったんだろうな?
115デフォルトの名無しさん:2008/02/29(金) 02:11:18
制御系の仕事に興味があるのですが、日々どのような仕事をするのでしょうか?
プログラムを書くだけ…というわけではなさそうですが
116デフォルトの名無しさん:2008/02/29(金) 02:39:42
>>115
学生さん、かな?
設計〜デバッグが5割
ドキュメント整理が3割
打合せ、会議が2割
ってとこかな。
あなたの実力にもよるし、会社にもよるから
一概には言えないと思うけど書いてみた。
117115:2008/02/29(金) 21:17:32
ありがとうございます。
設計は具体的にどういうことをするか、ドキュメント整理が何なのか、良く分かってないヘタレですが、
今年制御系の授業を受けて機械よりも制御に興味を持った学生です。
118デフォルトの名無しさん:2008/03/03(月) 07:06:17
機械制御の理論と、ここでいう制御系とは違うよ。
H∞とか持ち出しても皆んなチンプンカンプン。

使うのはPID制御に毛が生えた程度。DDAの方が応用が利くかもな。
119デフォルトの名無しさん:2008/04/12(土) 14:24:20
>>118
そらそうだ

「どう実現するか?」には興味はあっても
理論そのものには興味がないのが
プログラマという人種なんだから
120デフォルトの名無しさん:2008/04/12(土) 14:33:23
一ヶ月以上も前の話を発掘されてもな
121デフォルトの名無しさん:2008/04/12(土) 16:14:43
PID制御か、なつかしい
122デフォルトの名無しさん:2008/05/13(火) 10:36:37
オープン系専門だったおいらが制御の勉強しようと思うんですが
先人の皆様にとって最も効率的と思える学習方法おしえてください。
ちなみにC++は使ったことありますがメインはJavaでした。
123デフォルトの名無しさん:2008/05/13(火) 11:11:51
なんか
つくる
124デフォルトの名無しさん:2008/05/13(火) 11:15:13
効率的なお勉強の仕方はいつも同じ

  好きこそ物の上手なれ

面白そうだと思えるものから、とりあえず手を出すといいと思うよ
http://akizukidenshi.com/catalog/items2.php?c=beginnerkit
http://wonderkit.kyohritsu.com/
125デフォルトの名無しさん:2008/05/13(火) 11:33:46
EL 500 in 1 というのを買えば、電子回路からマイコンまで一通り実習出来るよ
ttp://www.catalysts.co.jp/products.htm

これがあれば他に必要なのは
テスター
http://akizukidenshi.com/catalog/items2.php?c=digitaltester

勉強に役立つ道具としてはオシロスコープ
http://akizukidenshi.com/catalog/items2.php?c=oscillo

オシロはヤフオクで中古の校正されてない安いのでも勉強始めるには十分
126デフォルトの名無しさん:2008/05/14(水) 06:44:50
>>122
ゲームが好きなら GBA あたりでゲームとかツールを作ってみたららどう?
資料も英語なら探せば見つかる。C言語で作れるし、パソコンで動くシミュレータも色々ある
作ったものを マジコンでDSで動かして他人に見せて自慢も出来る
127はげおやじ:2008/05/25(日) 19:16:09
リアルタイムOSについて素朴な疑問なんだけど
例えばAタスクとBタスクがあって
Aタスクが優先度が高い場合なんだけど

Aタスクでdly_tsk(10)とかになったら
Bタスクに制御が移るんだけど
Bタスクの処理が20msぐらいかかるもので
その間タスクの切り替えシステムコールがない場合は
Aタスクには10ms経っても戻ってこないってことでOK?

それともOSが10ms経ったらBタスクの処理中でも
Aタスクに制御を戻してくれるのかな??

う〜ん、そのへんがよくわかってないで
中堅PGのおいらっていったいorz


128デフォルトの名無しさん:2008/05/25(日) 19:29:10
タイマ割り込みか何かをきっかけに使って、強制的にディスパッチするような
仕掛けがそのシステムになければ、制御は戻らないですね。
あと、その時点で実行中のタスクの優先度がタスクAの優先度より高ければ、
タスクAには戻りません。
129デフォルトの名無しさん:2008/05/26(月) 07:13:14
>>127

> それともOSが10ms経ったらBタスクの処理中でも
> Aタスクに制御を戻してくれるのかな??

こういう仕組みが無ければリアルタイムOSとは言わない。

タイマ割り込みをOSが握っていて、割り込みごとに待ち時間をチェックして、
ディレイタイムが過ぎていたらディスパッチする。
ただし、タイマ割り込みの時間はシステムによってさまざまなので、
タイマ割り込みの間隔が長い場合には10msを超えることもある。
130デフォルトの名無しさん:2008/05/27(火) 12:56:53
>>127を10mSのオーダーで実現してくれるリアルタイムOSなら、最小のタイマ割り込みは1mS
を選ばなければいけない。XXX_TICKとかいう生成パラメータがあるはず。
100MHzより遅い石では重くてしょうがない。
131デフォルトの名無しさん:2008/05/28(水) 20:35:11
>>127,129
>> それともOSが10ms経ったらBタスクの処理中でも
>> Aタスクに制御を戻してくれるのかな??

>こういう仕組みが無ければリアルタイムOSとは言わない。

これは寧ろ、リアルタイムじゃないOSの仕様だと思うが?
132デフォルトの名無しさん:2008/06/01(日) 13:26:07
>>131

タイムスライスのことを言ってるんだと思うが、
>>127にdly_tsk()とあるのでプリエンプティブの話と解釈した。
133デフォルトの名無しさん:2008/06/09(月) 16:34:09
HEW4コンパイラについて質問があります

SHコンパイラでは、デフォルト引数の使用は出来ないという解釈で合っていますか?
void hoge(int a = 100);   // ←こういうヤツ

C2500 (E) Illegal token "="
というエラーが出て、怒られてしまいます・・・

R8C Tinyのコンパイラだと、全く怒られません。
そもそも、デフォルト引数ってC++からでしたっけ?
134デフォルトの名無しさん:2008/06/09(月) 22:23:14
C++ から。
135デフォルトの名無しさん:2008/06/10(火) 06:55:00
C99でもおkだったと思う。
136133:2008/06/10(火) 08:56:17
どうもです。
R8C Tinyコンパイラの方が、余計(?)に対応してくれているんですね。
というか、SHの新規プロジェクトを明確にC++ sourceで立ち上げなかった
私が悪いのかorz
137デフォルトの名無しさん:2008/06/10(火) 20:47:12
グラフィックLCDのフォントについて質問だけど、漢字とか
ひらがなが必要なくて半角英数と半角カタカナぐらいなんだけど、
自分で作れるもんですかね?作り方がよくわからないんだけど。
それとも普通に購入かな?
138デフォルトの名無しさん:2008/06/10(火) 23:29:43
>>137
つ[方眼紙]
139デフォルトの名無しさん:2008/06/10(火) 23:51:30
>>137

作ろうと思えば作れるけど、
ちゃんとしたフォントデザイナーに作らせないと綺麗にできないぞ。
140デフォルトの名無しさん:2008/06/10(火) 23:54:44
確かJISの8x16とか12x24が公開されていたんじゃないかと。
それより小さいのは誰が作っても大差ない位きちゃないし。
141デフォルトの名無しさん:2008/06/11(水) 01:10:42
>>137
Linuxとかについてくる6x12サイズのビットマップフォントかっぱらって
くればいいんじゃない?
142デフォルトの名無しさん:2008/06/11(水) 01:13:50
まあ問題は著作権だな。
>>140 なら大丈夫なんだろうけど。
143デフォルトの名無しさん:2008/06/11(水) 12:16:50
フォントはフリーがあるみたいなんで探してみるか。
ただ組み込みに使うには.ttcなんかもってきてもどうしようもないよね?
bmpとかPNGで配布してるのはどうやってデータに変換するん?
144デフォルトの名無しさん:2008/06/11(水) 12:24:44
お前、本当にプログラマか?
145デフォルトの名無しさん:2008/06/11(水) 12:48:44
おれのようにハード屋がファームまでやるハメになってるとみた
146デフォルトの名無しさん:2008/06/11(水) 13:39:13
>>140
JIS X 9051 と JIS X 9052 は残念ながら全角だけだ。
X Window System のソースの中に入ってる、7x14.bdfなら
権利的な問題はないはず。
147デフォルトの名無しさん:2008/06/11(水) 17:53:07
ハードもソフトも両方やってる人間だよ。ハードはほとんと
駄目だが出来る人いないからやる羽目に。
ソフトだって自分には向いてないのはわかってるんだ。
148デフォルトの名無しさん:2008/06/11(水) 18:05:17
両方ダメならやめてしまえ
製品が出回ってからミスが発覚すると厄介だ
149デフォルトの名無しさん:2008/06/11(水) 18:29:02
やめたいけど食べていけなくなる。俺みたいに技術向いてないのに
しぶしぶやってるってやつは多くいると思うがね。
150デフォルトの名無しさん:2008/06/11(水) 18:30:12
ハードは俺がやってやる、ソフトに専念しろ
151デフォルトの名無しさん:2008/06/14(土) 05:19:06
>>150
プログラム技術板の住人とは思えん発言だな(w
152デフォルトの名無しさん:2008/06/14(土) 11:48:59
>>151
昔はな、プログラムはハードウェアで作ってたんだぞ。
プログラムコードなどという軟弱なものは女子供のためのものだ。
153デフォルトの名無しさん:2008/06/14(土) 13:59:01
>>151
俺ハード屋さんだもん
154デフォルトの名無しさん:2008/06/14(土) 15:57:14
>>152
バベッジの演算機かよ(wwww
俺が憶えてんのは、紙と鉛筆が限界だわ
155デフォルトの名無しさん:2008/06/21(土) 20:44:04
MY2ZN-D2 DC24 が引き出しの中にゴロゴロしてるけど同僚からはソフト屋さんと言われるオレ
156デフォルトの名無しさん:2008/07/08(火) 13:04:49
無限ループのタスク動かしても、他のタスクの処理ができる奴ってあるの?
157デフォルトの名無しさん:2008/07/08(火) 13:53:01
できなきゃ困るだろ
158デフォルトの名無しさん:2008/07/08(火) 13:53:56
どこのが出来るの?
159デフォルトの名無しさん:2008/07/08(火) 14:14:26
どこのが出来ないの?
160デフォルトの名無しさん:2008/07/08(火) 14:22:16
タイマー割り込みとかでスケジューリングしてるってこと?
軽いのがないか探してるんだけど。
161デフォルトの名無しさん:2008/07/08(火) 14:24:44
そんな大雑把な質問でどうしろというんだ
162デフォルトの名無しさん:2008/07/08(火) 18:19:38
知らないの?
163デフォルトの名無しさん:2008/07/08(火) 18:28:30
H8もしくはSH用でお手軽なリアルタイムOSはないの?
164デフォルトの名無しさん:2008/07/08(火) 21:36:02
>>163
iTRONとかオススメ
165デフォルトの名無しさん:2008/07/09(水) 07:54:01
>>163

SH用か知らんが、フリーのITRON仕様OS作ってる人がいた希ガス。
166デフォルトの名無しさん:2008/07/09(水) 08:54:41
>>165 TOPPERSのことか?
167デフォルトの名無しさん:2008/07/09(水) 08:55:46
>>163
smalight
168デフォルトの名無しさん:2008/07/09(水) 16:21:35
for(;;);
で他のタスク動いてくれるのかな?
169デフォルトの名無しさん:2008/07/09(水) 18:34:32
>>168 優先度がどうなってるかだろ?
170デフォルトの名無しさん:2008/07/09(水) 18:39:40
>>168
OS で違うとオモタ。
ITRON は止まるんでないかい?
RTAI は動いてた気がする。
中途半端はレス、メンゴw
171デフォルトの名無しさん:2008/07/09(水) 19:20:59
>>170
ITRON以外でH8/SH用だと
for(;;);
で他のタスクが動いてくれる奴って、何があるのかな?
172デフォルトの名無しさん:2008/07/09(水) 20:13:21
>>171
そんなに詳しいわけじゃないのでパスします。
けど、 for(;;); を使用するって事のほうが問題な気がス。
slp_tsk() とか interruptible_sleep_on_timeout() とか使えないの?
上記を for(;;); と一緒に使うと大丈夫だと思うけどその意味自体が??
173デフォルトの名無しさん:2008/07/10(木) 11:01:15
>>172
ミズポの奴はどうなんだろう?
174デフォルトの名無しさん:2008/07/12(土) 10:06:38
>>171
Nortiを含め、ITRONなら、
時間待ちが解除された上位のタスク
割り込みハンドラから、iwup_tsk された slp_tsk()で待っていた上位タスク
などは、動くよ。
175,,・´∀`・,,)っ-○◎●:2008/09/21(日) 21:31:35
>>171
Windows CE
176デフォルトの名無しさん:2008/09/21(日) 21:40:40
いつの話題にレスしてるんだよ
177デフォルトの名無しさん:2008/10/24(金) 23:48:47
♪ミスラ〜や ミスラーー ドンガンカッタームヤ〜 インドンムー♪

※以下くりかえし
178デフォルトの名無しさん:2008/11/13(木) 02:44:08
Y(s)=1/Ts*U(s)
U(s)=u(t)/s u(t):ステップ関数

という系をシミュレータ上で実験を行うと,あるところで値が収束してしまうのですが

理論値では
y(t)=u(t)/T*tとなり,線形比例だと思うのですが,このときのシミュレータ上との違いは何でしょうか?
179デフォルトの名無しさん:2008/11/13(木) 06:43:20
>>178

スレ違いだと思うが、丸め誤差とかじゃね?
180デフォルトの名無しさん:2008/11/14(金) 00:28:50
>>178-179
同じくSim板向けの話題だと思うけど、

どっちかというと情報落ちを先ず疑った方が良さそうな。。。。
181デフォルトの名無しさん:2009/06/22(月) 23:55:13
19才学生です。
根軌跡につぃて質問です。

極が3つあってゼロ点が2つあるとする。
3つの極のうちゼロ点に収束する極と発散する極があるけど、
どれがどっちとかってわかりますか??
182デフォルトの名無しさん:2009/06/26(金) 09:32:49
>>181
ム板でする質問じゃないような。制御工学って板なかったっけ?
183デフォルトの名無しさん:2009/11/01(日) 05:12:59
ある質量を持った物体が運動してるんですが,
制動するのにかける力のみを制御入力にできるとして
目標位置においてちょうど速度を0にしたいです.
電車をちょうど停止位置で止めるようなイメージです

物体に力は二次遅れ系の応答をします.
モデルは作れないことも無いのですが

単にその運動してる物体を目的どおりにとめるのって
位置フィードバックかけてやるしかないんでしょうか?
184デフォルトの名無しさん:2010/03/16(火) 11:02:20
保守しておきますね。
185デフォルトの名無しさん:2010/03/17(水) 04:18:32
このスレまだあったのか・・・何個か前にはお世話になったが。
この板は落ちないの?
186デフォルトの名無しさん:2010/03/17(水) 05:53:56
まあ、チャタリング取りの話題さえあれば不滅です。 そろそろ新人がチャタリング取りの・・・・・あれ? 新人が・・・・いないや・・・・
187デフォルトの名無しさん:2010/03/18(木) 00:31:08
で、まぁ、その、「チャタリング取り」なんだが
どの程度が理想的な時定数なんだ?
188デフォルトの名無しさん:2010/03/18(木) 00:38:43
7日間ぶんまわしてノーエラーかつチェックサムをつけれ
189デフォルトの名無しさん:2010/03/18(木) 05:13:06
それこそハード依存でしょ? メンブレンSWだと20mS押下状態が続いたら押下、
として作った製品は安定な動作したよ。監視はタイマ割り込みとポーリング両方
使ったが使い勝手は同じだった。うちで使ってる浄水器のメンブレンSWはアホで
よくチャタ起こす。出したつもりが止まったり、その逆だったり。
まあ、SWじゃなくてマがアホだったのだが。
190デフォルトの名無しさん:2010/03/18(木) 06:46:54
押しボタンスイッチについては、
普通の製品なら、だいたい15ms 〜30ms毎にサンプリングして、2回一致採用でまずクレームは出ない。
これは有名な XOR NOT AND XOR の論理演算で実現可能だからパラレルに処理出来て処理コストも安価。

これ以上短いサンプリングにすると、チャタリングやノイズを受け易くなるし
長いと操作感が悪くなる。

デジスイッチのような場合は、ゆっくり回された時の中間状態での誤動作を取るために、何度か比較一致して安定したら取る処理が必要
100ms以上は欲しい。 300msにしてもクレームは来なかった。めったに回さないからかもしれないが

元がアナログデータをデジタルポートで受け取る場合(明暗とか、温度とか)は、ポートにコンデンサ+抵抗を付けてもらって
入出力を切り替えてソフトでシュミットトリガ特性を出す。 
これが電子屋の手間が減るので評判がいい。
191デフォルトの名無しさん:2010/03/18(木) 06:57:35
電子レンジのタイマのロータリーSWが変な動作するようになってきた。
回しはじめに終了のビープが鳴ったり、最後の1,2個が進まなかったり。

位相のずれた2portのパルスがときどき抜けることで、早回しや反対回しの
パルスに受け取られてしまうんだと思ってる。
自分でロータリSWのパルス処理書いたとき、そういう作りにしたから。

前すれの終わりに、組み込みやらされそうなんだけどどんな勉強すれば
っていうスレを後継スレにしよう、って話が出たんだけど、やっぱり本スレ
のほうがいいみたいだね。
192デフォルトの名無しさん:2010/03/18(木) 07:35:53
2相の信号はチャタリング取ったら駄目。
サンプリングを高速にして、1サンプル前のデータ合わせた4bitでテーブル引いて+/-してゆくだけ。
それ以外の変な事をやると逆にノイズに弱くなる
193デフォルトの名無しさん:2010/03/18(木) 12:53:05
>>191
入力ポートにエッジ検出が入ってれば幾分楽なのよねー。
さもなければ>>192の言うとおりサンプリングレートを上げるしかない。
ていうか気の利いたコントローラだったらそれ向きのポートがあるよね?

で、プログラミング以外の話をすると、
接点エンコーダ->接触不良だろ、磨け! ケミカルを注入しる!
光学エンコーダ->埃に違いない、ジェットの力で吹き飛ばせ!

いっそ俺ツマミをパラレルに取り付けたら? w
194デフォルトの名無しさん:2010/03/18(木) 21:01:15
>>193
エンコーダの信号みたいなのは、とにかく2本の線の状態を「同時に」読めることが
必要条件だから、普通はエッジが検出できても使えないでしょ。

なんか信頼性低いコード書いてそうだねw
195デフォルトの名無しさん:2010/03/18(木) 22:54:33
>>190
>有名な XOR NOT AND XOR の論理演算

どういう内容? 無知な俺に教えてください
196デフォルトの名無しさん:2010/03/18(木) 23:31:37
だからチャタリングをソフトで除去する必要があると思ってるお馬鹿さんは、
そもそもチャタリングがどういう現象かわかってないか、あるいは論理的思考能力がないか、
またはその両方なんでしょ。

N回一致で確定とか意味ねえんだよそんな処理。
197デフォルトの名無しさん:2010/03/19(金) 00:10:37
>>194
>なんか信頼性低いコード書いてそうだねw

若気の至りでヤッちゃったんですねワカリマスタ
198デフォルトの名無しさん:2010/03/19(金) 05:22:03
>>195
アセンブラ表現だけど
http://www.necel.com/faq/ja/mi_com/f_com_ksw.html

Cのコードは
http://www.tensyo.com/urame/prog/ALGO.HTM#CHAR1
static int key=0;
int chatKey(int newkey)
{
int wk;
  static int oldkey=0;
  wk =(~(oldkey^newkey)) & (key^newkey); //2回同じで かつ異なるbitを1に
  oldkey=newkey;
  key ^=wk;
return wk & key; //今回1に変化したビットだけ1にする
}
199デフォルトの名無しさん:2010/03/19(金) 05:27:29
>>194
2本の信号線の両エッジで割り込みかけて、割り込み処理で2本を同時に見ればいいのさ
そうすればタイマー割り込みを使わなくていいからね。
ただし、ノイズの勢いが凄いと、割り込み処理だけで手一杯になる可能性があるので
タイマー割り込みで、エッジ割り込み許可 エッジ割り込みで自分の割り込み禁止 みたいな処理を追加したくなったら、
いっそタイマーで見た方がマシかもな
200デフォルトの名無しさん:2010/03/19(金) 05:31:36
>>196
3倍の温室効果で煽りまくる理学者じゃないんだから頭の中だけで考えちゃ駄目だ。

今やチャタリング処理はチャタリングを取るのが目的じゃない。
市販のスイッチはそもそもチャタリング殆ど無いからね。
代わりにゴムスイッチなどの不安定性やノイズに強くするためのもの。 
これを歴史的な経緯からチャタリング処理と言ってるわけ。

火花試験してみればわかるよ。2回一致の>>198のコードを入れるだけでどれだけ強くなるか
201195:2010/03/19(金) 23:33:25
>>198
ありがと。
そういや、なんか見たことあったわw
202デフォルトの名無しさん:2010/03/20(土) 01:51:59
>>200
そっちこそノイズ(というか誤認識)を単なるエルゴード性の現象だと
思い込んでるからそんな風に考えちゃうんだよ。
そんな都合のいい前提を勝手に持ち込んではダメ。
現実には、ノイズに対しては効果はあまりない。

>>198
なんか疲れるコードだな。もっと明示的にシンプルに書けよと思う。
つーかchatKeyって何だよ。
こういうコードを得意げに書く人とは仕事したくない。

static int rawKeyState = 0;
static int filteredKeyState = 0;
static int onEdgeKey = 0;

void UpdateKeyValues(int rawKey)
{
  int prevRawKey = rawKeyState;
  rawKeyState = rawKey;

  int stable = ~(prevRawKey ^ rawKey);
  int diff = filteredKeyState ^ rawKey;
  int altered = diff & stable;

  filteredKeyState ^= altered;
  onEdgeKey = altered & filteredKeyState;
}
203デフォルトの名無しさん:2010/03/20(土) 22:44:37
>>202

偉そうに言ってるけど、無意味にファイル全体にスコープがあるstatic変数使うなよ。
204デフォルトの名無しさん:2010/03/20(土) 22:50:15
無意味って何で分かるの?
っていうか、static付けなきゃファイルスコープどころか(以下略

しかし、別のスレでも書いたけど、今でも時々こういう
ファイルスコープとグローバルの区別が付いていない上に、しかもグローバル変数が
絶対悪だと理屈も分からず思い込んでる人がいるな。
205デフォルトの名無しさん:2010/03/20(土) 23:23:10
>>204

>>202のコードだけ見ると、意味があるとは思えないけどね。
意味があるとしたら、
 ・ROM/RAMの容量、もしくはスピードの制約が厳しい。
 ・ほかの関数からアクセスする必要がある。
という両方の条件が満たされる場合だけだろ。

ある程度コーディング規約がしっかりしてるとこなら、
 ・グローバル変数、ファイル全体スコープのstatic変数はは可能な限り使わない
 ・ファイル全体スコープの場合は「s_」、グローバルの場合は「g_」の接頭辞をつける
という規約になってると思うが。

それに、
void UpdateKeyValues(int rawKey)
{
  int prevRawKey = rawKeyState;
  rawKeyState = rawKey;

  int stable = ~(prevRawKey ^ rawKey);
  int diff = filteredKeyState ^ rawKey;
  int altered = diff & stable;

  filteredKeyState ^= altered;
  onEdgeKey = altered & filteredKeyState;
}
↑このコード、コンパイルが通らない場合も多いだろww

206デフォルトの名無しさん:2010/03/20(土) 23:25:41
接頭辞ってのは、レベルが低いといるのか?
207デフォルトの名無しさん:2010/03/20(土) 23:34:37
>>205
ファイルスコープの変数を(それこそ無意味に)忌避するのは、
ろくに設計もせずに一つのファイルに馬鹿みたいに全部詰め込んでる無節操な
自分を前提としてるから。

そんな間違った方法論を前提とした議論なんて無意味だよ。

これも別のスレでも書いたけど、ファイルスコープなんて
C#みたいな今時の言語の静的クラスのフィールドと何も違わない。

っていうか、>>202に書いたような関数で結果をファイルスコープの変数で
持たずに、誰がどうやって結果にアクセスするんだよ。

もちろん構造体を返すって手もあるが、(俺基準で下手な)サンプルコードを手直し
しただけのものにそんなのを要求するのもどうかと思うし、そもそもこの種の処理の場合
構造体にまとめる意味があるとも思えない。

キー入力が複数あるシステムを想定するのなら話は別として。
まあとにかく言い掛かりにしか思えないな。
208デフォルトの名無しさん:2010/03/20(土) 23:38:50
目くそ鼻くそ状態?
209デフォルトの名無しさん:2010/03/20(土) 23:47:32
だね。
210デフォルトの名無しさん:2010/03/21(日) 00:10:40
>>205が重要な論点の一つを理解できない可能性があるので(まあ、こんな突っかかり方をするってことは
恐らくそうだろう)一つ補足しとくけど、一口にキーの状態を取得っていっても
いろんな要求がありうるわけだ。

>>202のコードでもすでに2種類の値があるけど、ほかにキーが放されたタイミングが
知りたいとか、長押しの検出とかね。

そういう、割とありがちな要求にはどうやって対応するの?
構造体で返すの?

そんなことをするより、キー処理だけを一つのファイルに持たせて、
キーの様々な状態を表す値はアクセサを経由して取得するようにした方が
分かりやすいし簡単でしょ。
211デフォルトの名無しさん:2010/03/21(日) 06:21:16
俺はむしろ >>198のコードに何の不満があるのか判らん。
コピペして使うならコッチだろ

ファンクション方式や、連続押しに対応するとしたって、エッジと現在のキー状態だけあればいい。
212デフォルトの名無しさん:2010/03/21(日) 07:59:16
>>210

反論するのもばかばかしいが、

> っていうか、>>202に書いたような関数で結果をファイルスコープの変数で
> 持たずに、誰がどうやって結果にアクセスするんだよ。

キー状態を持つ関数で、現在の状態を返せばいいだろ。

> >>202のコードでもすでに2種類の値があるけど、ほかにキーが放されたタイミングが
> 知りたいとか、長押しの検出とかね。

キーが放されたタイミングを取りたいなら、普通は割込みのコールバックとかだろ。
割込みが取れないなら仕方ないけど、それでも>>211 と同意見。

あと、>>202のコードだが、C99に対応してないコンパイラだと、エラーが出る。
C99に対応してないコンパイラなんてまだたくさんあるのに、
こういうコード書いてるのは経験が少ないとしか思えない。
213デフォルトの名無しさん:2010/03/21(日) 08:46:54
>C99に対応してないコンパイラなんてまだたくさんあるのに、
そう? 組み込みLinuxは殆どgccだろうし、腐れOSのHP-UX以外になんかあった?
214デフォルトの名無しさん:2010/03/21(日) 09:33:20
急に組み込みLinuxかよw
215デフォルトの名無しさん:2010/03/21(日) 11:52:36
gccはデフォでビルトするC99はオフだよ
216デフォルトの名無しさん:2010/03/21(日) 12:14:40
>>212
割り込みってw
そもそも>>198がナニをするコードか分かってそれ言ってるの?
本物の馬鹿だな。
まあこれだけでも君は少なくともこの業界の仕事をしたことがないのがバレバレ。
そもそもキー入力処理みたいなものはメインループで同期的に処理したい場合が多いのに
割り込み使ってどうする。

あとアホ丸出しなのが
>キー状態を持つ関数で、現在の状態を返せばいいだろ。
その「キー状態を持つ関数」が返す値は、ファイルスコープの変数を禁止するとして
一体どこに保存しとくの?

関数の中のstatic変数?
じゃあ「長押し」とか「その瞬間のキーの状態」とか、取得したい値の数だけ
関数が必要になるけど、キー入力ポートを読み取る処理からそれら全部を呼び出すの?w

シロート以下だな。
俺が中学生の時MZ-80のアセンブラで書いたコードでもそんな馬鹿なことやってないよ。
217デフォルトの名無しさん:2010/03/21(日) 12:19:05
ついでに言えば、この業界の人は>>212式の馬鹿が多くて本当に困る。
そもそも俺が最近の言語の静的クラスのような考え方で作ればよい、
と言っている意味をちゃんと理解して反論しているのか。
218デフォルトの名無しさん:2010/03/21(日) 12:23:38
しかし、この業界の想像を絶する馬鹿には何人にも呆れてきたけど、
さすがにキー入力の変化を割り込みで通達すればいいんだ、って言う程の馬鹿は始めてみたよ。
219デフォルトの名無しさん:2010/03/21(日) 12:26:37
連投して申し訳ないけど、>>218みたいな発想をする人は
恐らくVBからプログラミング始めた人なんじゃないの?w

VBみたいな言語のイベントドリブンと割り込みは、一見似てるけど
目的が全然違うだろうと。
その辺わかってないんだろうなたぶん。
220デフォルトの名無しさん:2010/03/21(日) 12:33:10
ファイルスコープって言いたかっただけなんじゃ
221デフォルトの名無しさん:2010/03/21(日) 12:33:54
あーあと、割り込みでキー入力変化(「押した瞬間」and/or 「放した瞬間」)を通知するとして、
ISRの中からそれらの値にどうやってアクセスするのかね。

またそれらの値を関数内にstatic変数で持たせるためだけの関数を作る、
とか寝ぼけたこと言うんだろうかw

あと、「押した瞬間」に関しては>>198の関数の返値そのものなわけだけど、
>>212の口ぶりからするとそんなこと程度も読み取れてないんだろうなw
222デフォルトの名無しさん:2010/03/21(日) 12:37:08
>>211
機能には必ずしも文句つけてない。
もっと可読的に書くべき、と言ってる。
サンプルコードならなおさらのこと。
223デフォルトの名無しさん:2010/03/21(日) 15:51:22
サンプルったってサイトのコピペだし、しかも10年前のサイト。
よく知らんけど昔は関数名や変数名に8文字制限とかあったそうだし、
そういう時代のコードじゃないの?
224デフォルトの名無しさん:2010/03/21(日) 16:30:59
よく知らんのなら黙っていればいいのにw
225デフォルトの名無しさん:2010/03/21(日) 16:40:10
知っててそうで知らないでやってる人が多いんだよ
226デフォルトの名無しさん:2010/03/21(日) 20:01:18
そのコードが書かれた頃の過去ログ見つけた
http://piza.2ch.net/tech/kako/966/966346298.html

なんか今と違って煽り合いが無いんだな^^;
227デフォルトの名無しさん:2010/03/23(火) 16:28:00
あの辺りにはよく書いたなあ・・・
22830♂:2010/05/26(水) 19:36:36
未経験で制御の仕事に就くにはどうしたら良いでしょうか。
C言語は初級者レベルです。
今は求人無いのでしょうか。
229デフォルトの名無しさん:2010/05/26(水) 20:29:29
>>228
オペレータ志望か? 違うよな?
ソフトウェア業界の中でも特に製造業臭がきついので覚悟しろ。
今求人があったとしてもブラックだと覚悟汁。
さしあたっては検査・評価あたりからステップアップしてみろ。
230デフォルトの名無しさん:2010/05/26(水) 20:45:32
>228
30才で未経験でCは初心者で、それで制御系のプログラマになりたいとな?
なんか得意技とかないの?
23130♂:2010/05/27(木) 18:35:13
意外とコメントがついていて嬉しい…。
>>229
製造業派遣でやってきているので、製造業臭は問題ありません。
今は本当に無いようですね。
ハロワで探すのが良いでしょうか?
>>230
高校、大学が電子系でした。
得意技は違う言語を1年半程やっていた事でしょうか。

電子とプログラミングを活用するなら制御系じゃないかと思って希望してます。
232デフォルトの名無しさん:2010/05/27(木) 21:03:02
ハードウェアがある程度できるならそっちからアプローチする(ソフト*も*できる)ほうがいいかも。
制御系は最終的にはどれだけハードを理解できているかが鍵だから。
233デフォルトの名無しさん:2010/05/28(金) 02:53:17
>>231
一ヶ月の研修期間でCの読み書きができるようになる自信があるなら私の部署で一人雇えるけどどう?
23430♂:2010/05/28(金) 20:52:57
ご返信ありがとうございます。
>>232
ハードウェアも設計の実務経験無いので押しにくいんです。。困った事に。
下の行は肝に命じます。

「とりあえず小さい会社の正社員等で検査・評価あたりをハロワで探す」
ってパターンがベストでしょうか。
この職への入り口が良く分かりません…。
それと処理系は何を勉強するのが良いのでしょうか。
23530♂:2010/05/28(金) 21:11:30
>>232
ありがとうございます。
まさかここで声をかけて貰えるとは。
自信はありますので、ぜひ内容をお聞かせ頂ければ幸いです。

sageられなくてすみません。
236デフォルトの名無しさん:2010/05/29(土) 01:31:16
上から目線で書いたらぁとオモタらレス番ずれたw
237デフォルトの名無しさん:2010/06/03(木) 18:56:16
組み込み屋はおっさん率たかいしねえ
若い子欲しい
238デフォルトの名無しさん:2010/06/07(月) 21:48:09
ほんとにね
バージョン古いおっさんより
最新型で威勢のいいのがなかなか・・・
239超初心者:2010/06/08(火) 04:09:21
どなたか、御教授して頂けないでしょうか?
仕事で必要になり、ドットプリンター(スーパーとかのレジでレシートを打ち出す奴です)で、
とある計測データを手入力で打ち出したいと思い、プリンターを購入しました。
データは英数字とギリシャ文字で、一定の配列内でランダムの数字をです
プリンターはシチズンシステムズの小型の910-Uで、
シリアルで接続しています。 ドライバーは有ります。
メーカーに問合わせた所、
VB等でプログラムを組まないと無理と言われました。
PCは仕事で10年以上使っていますが、
全てウィンドウズ上のアプリだけです(オフィス&CAD等)
取り敢えずVB2010をインスコし、入門書を購入しましたが、
VBなどのプログラムはサッパリわかりません。
ExcelVBAもサイトからコピペして使うだけで、
内容は把握してません。
240デフォルトの名無しさん:2010/06/08(火) 05:29:54
何をしたいかが充分に伝わってないよ。  テストプリント機能はついてる?
ASCIIで"ABC<CR><LF>"と送ったらABC改行と印刷してくれるプリンタではない?
英字・数字のドットパターンにしてからプリンタに送らなければいけない、ということ?
この理解で合ってるなら、それっぽい仕事をcでさせるコードは書いたことあるけど。
241デフォルトの名無しさん:2010/06/08(火) 06:03:38
外字登録:224文字(漢字の場合112文字)
242超初心者:2010/06/08(火) 06:52:17
>>240
正にそれです。
『LF』で印字改行します。
『LF』の前にASCIIの文字列を指定すれば良いと言うのもメーカーから聞いたのですが、これらをプリンターに送る方法が判りません。
ドライバーにテストプリントは付いているので、試しにやってみたら、印刷はしましたが、*が沢山印字されました。

ちなみに、私のPCにはシリアルポートが無いため、LAN経由で他のPCに繋いだ状態です。
印字改行のデータをプリンターに送る事が出来れば、印刷内容はなんとかなると思います。

宜しくお願いします。
243デフォルトの名無しさん:2010/06/08(火) 07:31:20
>>242
シリアル接続している端末から、copy con com1してみるよろし。
通信速度などの設定はmodeコマンドで。
具体的に何をしたいか判らんが、仕事で必要なら外注した方が間違いないだろうに。
244超初心者:2010/06/08(火) 17:16:21
>>243
Copy con com1はコマンドプロンプトでって事で良いのでしょうか?

やってみましたが、変化無いです。


プリンターで文字を打つのがこんなに難しいとは・・・・・・・

泣きそうです。
(T_T)
245デフォルトの名無しさん:2010/06/08(火) 18:32:41
mode コマンドとたった一言書いてあるが、そこ結構難所だよ
246デフォルトの名無しさん:2010/06/08(火) 22:06:11
>>239時給\3000×8時間×3日、別途宿泊費、交通費支給でお請け致します。
247デフォルトの名無しさん:2010/06/08(火) 22:16:00
>>244
自分の端末でやっても意味ないぞ
COMに刺してる端末でやらないと。
USBと232の変換ケーブル買ってきてもいい
(その場合ポート番号に注意)

「serialport .net」で検索すると
プログラムサンプルはいろいろ出てくるけど
今の状態だとなかなか厳しいな

スタートメニューにハイパーターミナルがあるなら
モード(手順)を合わせて
直接字を打って試せると思うけど

248デフォルトの名無しさん:2010/06/08(火) 23:53:50
え?
とりあえずTeraTermとかで手動で動作チェックしたほうがよくね?

.NETだと何かプロパティコントロールとかあって設定も楽
249デフォルトの名無しさん:2010/06/08(火) 23:55:15
あ、すぐ上にハイパーターミナルって書いてあったw
250デフォルトの名無しさん:2010/06/09(水) 00:32:19
>>239
私も>246と同条件でいいや。但し、東京日帰り圏内。
251デフォルトの名無しさん:2010/06/09(水) 00:51:41
「超初心者」とかなんかネタ(ただしちっとも面白くないが)のつもり満々のようにも思えるが....
252デフォルトの名無しさん:2010/06/09(水) 12:34:35
東京からだと大阪日帰りを何度かやったな・・・
253デフォルトの名無しさん:2010/06/09(水) 13:38:23
>>244 240の下2行のようなプリンタではないらしいね。シリアル接続ということで、
プリンタのマニュアルから「接続条件」ぽい話の所で、解らない所をここに書いて
みては?例えばRS232Cでchar=8bit,パリティ有無、有りの場合偶奇、STOPbit
速度は9.6K〜19.2K、とか、そんな話が書いてないか?
254超初心者:2010/06/09(水) 15:25:51
>>253さん
ありがとうございます

プリンターはシチズンシステムズのCBMー910Uです。
シリアルの仕様は以下の通りです。

1.同期方式:非同期方式
2.ボーレート
1200 2400 4800 9600 19200 BPS
3.1ワードの構成
・スタートビット:1ビット
・データビット:7または8ビット
・パリティビット:奇数,偶数,なし
・ストップビット:1ビット以上
4・信号特性
RS232C
・マーク:論理"1"(ー3V〜ー12V)
・スペース:論理"0"(+3V〜+12V)


等ですが、上記で理解出来る項目は皆無です

宜しくお願いします
255デフォルトの名無しさん:2010/06/09(水) 15:48:01
>>254
それすら理解できないなら、外注した方がいいよ。
判っている人間なら、一日で接続から転送スクリプトまで全て用意できる。
一方あんたは既に丸二日も無駄にしている。仮に、集中的に一週間ほど
勉強すればあんたでもできるようになるかもしれないが、如何にあんたが
低賃金でも半月分のコストは馬鹿にならないだろ。
256デフォルトの名無しさん:2010/06/09(水) 15:50:15
>上記で理解出来る項目は皆無です
てことは、
ttp://www.citizen-systems.co.jp/support/download/printer/document/user/data_box/CBM910IIUMJ_111.pdf
↑の取説のP.31みてディップスイッチの設定に合わせて
ターミナルソフト立ち上げていじってみろといわれても、出来ないんだろうなぁ

RS-232Cの通信がどんなものか>>254が理解しないと話し進まない気がする・・・
257デフォルトの名無しさん:2010/06/09(水) 15:58:25
とても素直なプリンタじゃないか
九州であれば>>246の条件でも受けたいところだ
258デフォルトの名無しさん:2010/06/09(水) 16:03:57
>>257
使ったことあるけど、フロー制御にさえ気をつければ素直だよ。
まぁ、ハードフローするなら結線に注意するのは常識だけどね。
259253:2010/06/09(水) 16:54:29
>>254 出荷時の設定のままなら、parity=Non, stop=1, char=8, レート=4800BPS この
条件で、シリアルポートのあるパソコンと、そのプリンタを、クロスケーブルで接続。
パソコンにある適当なASCIIファイルを、DOS窓で、copy ファイル CON<ret>で印字。
エディタを使ってなければ、notepadでABC123<ret>とか、何行か入力して保存。
DOS窓じゃなく、htermかてらた〜む使える人が近くに居ればその人に頼む。
まずはここまででプリンタが使えるかどうか確認できる。
260253:2010/06/09(水) 16:59:39
254のパソコンにはシリアルポート無いと書いてるけど、それで測定とかやるんでしょ。
そしたら測定データはファイルに取って(ASCIIファイル、改行はCRLF)、そのファイルを
LANで別のパソコンに送ってシリアル出力してもらう、という実現方法が楽だとおもう。
測定に即してリアルタイムに印字したいなんて言い出すとそれこそプログラム組む
ことになってやっかいなだけだし。
261デフォルトの名無しさん:2010/06/09(水) 17:48:29
>>258
似非クロスに注意だな。
262デフォルトの名無しさん:2010/06/09(水) 17:53:52
>>261
この場合ストレートだろ普通
263デフォルトの名無しさん:2010/06/09(水) 18:40:37
>>262
取り説見れば書いてあるけど、このプリンタはDTEなので同様にDTEであるPCからはクロスじゃないと繋がらないよ。
264デフォルトの名無しさん:2010/06/09(水) 18:48:47
>>263
そっか、そういう仕様なのか、じゃあ似非クロス(というか方言?)には泣かされるな
265デフォルトの名無しさん:2010/06/09(水) 18:52:35
DTRを結線していない、或いはコネクタ内で短絡しているクロスケーブルのことでしょ。
266259:2010/06/09(水) 18:53:13
また雑音ばっかり・・・ 俺が259でクロスと書いてるのに
267超初心者:2010/06/09(水) 22:17:54
皆様色々御教授ありがとうございます。

今日は仕事上の重大トラブルが有り、その後処理で右往左往して、机に座ってる時間が無く、チャレンジ出来ていません。
しかし、金曜日には落ち着く予定なので、週末には皆様のアドバイスを参考に色々ググりつつ、チャレンジしてみます。


こんなド素人ですが、お力添えの程、宜しくお願いします。


真っ暗闇でしたが、少し光が見えてきた気がします。
気のせいでしょうか・・・・・
268デフォルトの名無しさん:2010/06/09(水) 22:28:49
確実に気のせいでしょう。
結局のところ、自分の頭でちゃんと理解してない技術(という程のものでもないけど)
なんか使えるわけない。

君の場合、そもそも理解しようとする意思がないわけだから。
269デフォルトの名無しさん:2010/06/09(水) 22:58:54
初心者とかド素人などと自分で言うのはやめろ
仕事だろ?ガキのつかいじゃあるまいし、そんな態度の奴に誰が真面目に教えようとするものか
今までの書き込みを見てみろ、みんなゴキブリ相手のような扱いだぞ
270デフォルトの名無しさん:2010/06/09(水) 23:01:05
だってこれ、教えるより自分で見た方が絶対早いもん。
271デフォルトの名無しさん:2010/06/10(木) 00:51:07
そうだよなぁ

例えると、パソコンを触ったこともない人が、パソコンを買いさえすればホームページが作れると思って買っちゃってから、
HTMLの基礎を1から勉強する気は一向に起こそうとしないのに、自称超初心者を盾にホームページの作り方を聞きまくって、
まず<body></body>と打ってみろ、ワープロじゃなくてテキストファイルに書いて拡張子変えろ、とかのレベルでしょこれ。。。
272デフォルトの名無しさん:2010/06/10(木) 01:06:30
レベルはまあ誰でも始めてはあるから仕方が無いとして
向上心とか態度とか、そこがばっさり良さが見受けられないのは痛い
273デフォルトの名無しさん:2010/06/11(金) 15:19:27
数日の奴にそこまでいうなよ
1週間じゃなく1年かかるんじゃね
274デフォルトの名無しさん:2010/06/11(金) 16:18:57
素人うんぬんより、仕事上の重大トラブルとか言ってるほうが気になるな
なんで俺らがそんなこと聞かされにゃならんのだ

ヒマがなきゃ別にやらなくていいんだよ
お力添えとやらに義務があるわけじゃなし
板の趣旨に沿った発言をしていれば釣れる奴は釣れるというだけ

関係ねーことほざくぼけには仇こそあって恩はねえぜ
275デフォルトの名無しさん:2010/06/11(金) 17:17:18
ところで、印刷したい計測データというのは、どういった形式なんだろ。
すでに人が読んで理解できるようフォーマットされているんかな。
たとえば、もしExcel等で使われるCSV(カンマ区切りテキスト)形式とかなら、
それをフォーマットするスクリプトを組む必要があるはずなんだが....。
仮にターミナルからの印刷実験に成功しても、先は長そうだ。

素直にシリアルポートに詳しい知人に依頼する(あるいは外注する?)ことを
考えた方がいいと思われ。もし上司からの指示でやっていて、その上司が
本人の技術的な成長を期待しているという背景があるならモガくのもいいけど。
276デフォルトの名無しさん:2010/06/12(土) 05:51:21
計測器がシリアルで吐き出すデータなら、ヘッダ1〜3byteに続いて数値,数値CRLF
ぐらいには整形されているもんだよ。ちょっと親切だとASCIIとHexとバイナリを選択
できるようになっていたり。
277259:2010/06/12(土) 17:38:08
>>267は、土日も働くほどにはせっぱ詰まってないんだな。
278デフォルトの名無しさん:2010/06/14(月) 10:47:02
なんか盛り上がってたみたいだけど、
プリンタの選定の問題じゃないの。
最初からパソコンで印字できるのを買えばいいだけじゃないの
その超初心者氏がプリンター出力プログラムを作ることが目的
ならそうだと思うけど、たまたま買ったプリンタが悪かっただけじゃないのかと
279デフォルトの名無しさん:2010/06/14(月) 11:07:36
>>278
定番プリンタだからね。
セントロ版を買わなかったのはセントロ端子がないPCでの運用を想定したのかもしれない。
280デフォルトの名無しさん:2010/06/18(金) 21:42:35
今時シリアルも怪しいだろ
281デフォルトの名無しさん:2010/06/18(金) 21:45:19
シリアルとパラレル以外となると、どんな方法があるんだろう
USBもシリアルだし
282デフォルトの名無しさん:2010/06/18(金) 22:06:45
単なる ASYNC とアイソクロナスを混同されても・・・
283デフォルトの名無しさん:2010/06/18(金) 22:08:54
一緒ですがなにか?
284デフォルトの名無しさん:2010/06/18(金) 22:09:53
RS-232Cのことでしょ
USBのRS-232CだとCOM?の?がどこに割り当てられるんでしょね?最近の機種だと
285デフォルトの名無しさん:2010/06/18(金) 22:19:49
>>283
単にアイソクロナスって言いたかっただけだろ、放置しろよ。
この文脈で USB とか言い出す >>281 もどうかと思うが。

>>284
単にレガシー COM の続きの番号割り振る奴とか、番号設定できる奴とか
色々だよ。
286デフォルトの名無しさん:2010/06/18(金) 22:29:04
シリアル、パラレル、USBときたら無線だろ。
287デフォルトの名無しさん:2010/06/18(金) 22:42:53
IrDAもあるでよ
288デフォルトの名無しさん:2010/06/18(金) 22:50:06
シリアル、パラレル、IrDA
というジャンル分けとなりました
289デフォルトの名無しさん:2010/06/19(土) 03:04:13
OBEX
290デフォルトの名無しさん:2010/06/19(土) 08:03:02
HPIBも入れてやれ
291デフォルトの名無しさん:2010/06/19(土) 14:34:05
もう、CANでおk
292デフォルトの名無しさん:2010/06/21(月) 12:19:35
>>284
たいていはコントロールパネルでCOMn番号を強制設定できるけど
MSFT的にはポート列挙してGUIDでアクセスしろ、だそーな。
293デフォルトの名無しさん:2010/06/21(月) 12:28:58
HP-IL でどうよ。
294デフォルトの名無しさん:2010/06/28(月) 11:07:01
結局どうしたんだろ。気になって夜もぐっすりだぜ。
295デフォルトの名無しさん:2010/06/28(月) 23:23:59
三球なんだっけ
296デフォルトの名無しさん:2010/06/29(火) 03:05:37
照代
297デフォルトの名無しさん:2010/07/02(金) 16:47:27
どうよ。
298名無したま:2010/11/17(水) 18:03:49
>何故単純に1bit出力ではダメなのですか?
reg := reg +x;
if CF then output:=1 else output:=0;

MPUは16f648a(16f886-2chの場合)の予定です。
インターナル8MHzで8bit_PWM出力をDAC代わりに使いたいんだけど、
6bitならPR2を63にすると125khzの繰り返しで動作して、
ソフトで2bit分助けるとその速度で変換できる。(自信なし)
1bitソフトだけならどれくらいの速度出ますか?
299デフォルトの名無しさん:2010/11/17(水) 18:29:41
>>298
PWMで出力したいが periodを6bitに短くして、だけど精度を上げたいという事ですね

periodの周期毎に

reg:=reg+x;
n:=reg shr 2;//<---regが8bitならキャリー付シフト
DC1:=n;//デュテイサイクルの設定(0〜$40)
reg:=reg-(n shl 2);

を実行すればいいでしょう。 もしperiod周期毎に実行できない事情があるなら
非定期に実行すればいい。ノイズは多くなるけどね。
300デフォルトの名無しさん:2010/11/17(水) 18:32:46
1bitPWMを高速に行いたいなら
メインルーチンで
1,reg := reg +x;
2,if CF then output:=1 else output:=0;
3,TRIS(方向レジスタ)を入力モードに
4,割り込み許可
5,割り込み禁止
6,TRIS(方向レジスタ)を出力モードに
7, goto 1
というように無限ループにして
それ以外の処理を割り込み内で処理させれば
割り込みはハイインピータンス中にされるので出力にあまり影響しないでしょう

これでどの程度のソフトが出るかは自分で試すしかないでしょう
301名無したま:2010/11/17(水) 21:03:04
おそらく割り込みの優先度は(External Interrupt)です。(カウント洩れは致命傷)
>もしperiod周期毎に実行できない事情があるなら非定期に実行すればいい。
アナログコンパレータを2ch使います。
(無理ばっかりです)
有り難うこれは名案です。
目的の一つはPWM周期を有る程度確保したい。(早すぎるとswが応答しない)
6bitで4回に拘っていましたが、4回数えるのが面倒に成る。(合わなくなり易い)
よく考えると6回になっても問題なさそうです。(ノイズは目をつむれる)
出来れば2ch欲しいがハードPWMなら648aでは無理,886しかなさそうです。

>これでどの程度のソフトが出るかは自分で試すしかないでしょう
PDMはSWが付いてこず、ダメだったのでしばらく考えてみます。
(出力を6bit分貯める?)
6bit相当休ませることが出来れば、2chPWMも出せて最高です。
コンパレータは割り込み使わず、出力を外部回路にゲートできます。
302デフォルトの名無しさん:2010/11/17(水) 21:59:02
nam
303デフォルトの名無しさん:2010/11/18(木) 05:16:44
PWMにしても、結局小さな値、大きな値で、スイッチの短い時間が出ると思う
それは歪になるだけだからいいわけだね?

1bit方式でも1か0が連続する事は可能。ただ16ビットレジスタが必要
8bitのDACを実現するのは
 regにxを累加しながら,1を出した時に256を減算する
これだけでいい。
1を8回続けなければならないという条件なら8回出したあと8*256を引けばいい



アナログ電圧が最終出力ならADCで読んでフィードバックをかける方法があるよ
304名無したま:2010/11/18(木) 11:59:58
>スイッチの短い時間が出ると思う・・それは歪になるだけ・・
歪みはおそらくOKです。
アナログコンパレータに通して外部比較をコントロールします。
AN1047,AN1050がよく似ています、
(英語が読めませんので細かいところが不理解)

>16ビットレジスタが必要・・
256までならキャリー(status)では済まないでしょうか?
あるいはキャリーより簡単ですか?
(俺頭悪いんでCは間違ってばかり、jalv2で書きました)
305デフォルトの名無しさん:2010/11/18(木) 13:03:00
確かに PIC はキャリー付き加算命令が無いから16bit加算なら面倒だけど

この場合、キャリーがあれば上位ワードに1を加算するだけだし
減産対象は上位ワードだけだし

そんな苦労するような問題じゅないと思うよ
306名無したま:2010/11/18(木) 14:29:56
>そんな苦労するような問題じゅないと思うよ
頭の出来が悪いので・・jalv2リストを書いてみました。
頭の中では、キャリー付無し、8bit、16bitの振る舞いの区別が付いていません。
192行目以下です
-- pwmreg1 = pwmreg1 - (pwmdat1 << 2)--6BIT_Conversion
pwmreg1 = pwmreg1 & 0x03 --6BIT_Conversion
は同じ結果になるのでしょうか?
http://den-nekonoko.blog.so-net.ne.jp/2010-11-15-1
307デフォルトの名無しさん:2010/11/18(木) 15:18:53
ゴメン。 プログラムまで見ろといわれるとひくよ。


>同じ結果になるのでしょうか?
JAV2というのは知らないけど、X -= (X >>2 ) *4 は x &=3 と同じだね

それと、CFを処理しないと 252 を超えた値を出力出来ないよ

 pwmreg1 = pwmreg1 + newdat1
  RRF pwmdat1
  CF=0
  RRF pwmdat1
 pwmreg1 = pwmreg1 & 0X03;

RRF は PICのアセンブラ命令ね

308名無したま:2010/11/18(木) 17:06:03
>CFを処理しないと 252 を超えた値を出力出来ないよ
此処が気になっていました。
256は9bit目、最初の「RRF」に「CF=0 」が無いこように、
jalv2のasm出力を見たら「bcf」してました。
bcf v__status, v__c
rrf v_pwmreg1,w
movwf v_pwmdat1
bcf v__status, v__c
rrf v_pwmdat1,f
2度目の「RRF」の後は9bit目が生きていると、01xx_xxxx=64
256まで必要なとき、4回通してやると良いのですね。
データテーブルMAX値を252に制限しても大丈夫かやってみます。
(ハードPWMでもPR2を62にすれば同じで使えそうです)
有り難うございました、PWMを生成する部分を研究してみます。


309デフォルトの名無しさん:2010/11/18(木) 18:58:49
その最初 _C = 0 は pwmreg1 への累和の後 だよね

それは不要。 手動で消せないの?
310名無したま:2010/11/18(木) 19:50:45
>手動で消せないの?
俺にはjalv2が考えやすいっす。
普通では消えないようで、最後にアセンブラ記述でまとめてみます。
今は252にまとめるスプライン補間をやっています、
(元々256でも 8点を64点 に拡張するので作らねばならかった)
webで見ても解き方が判りません、(連立方程式の計算は出来たんですが)トホホ
311名無したま:2010/11/22(月) 15:26:38
有り難うございました。
スプライン補間テーブルがやっと出来ました。
これをアクセスするルーチンを考えて、(必需であるから)
最後にPWMを組み立てて検証してみます。

もし上手くできなかったら、また相談に乗って下さい。
312デフォルトの名無しさん:2010/11/26(金) 09:59:10
どなたか下記の件についてアドバイスをいただけないでしょうか。
あるいは適切なところに誘導していただいても助かります。

Windows 7 x64 上で AutoHotkey_L x64 を使用し (言語は何でも良いのですが
x64 ビルドを希望)、Synaptics 製タッチパッドの触れている部分の情報、
あるいはタッチの有無を取得しようとしています。
x86 ビルドでは今でも可能なのですが、x64 ビルドで行う方法がわかりません。
x64 OS 上のデバイス設定画面では座標が取得できているので (画像参照)、
ドライバーの参照方法さえわかれば技術的には可能なのだと思います。

行ったことは以下の通りです。

1. Synaptics タッチパッド SDK を参照し、CreateFile と DeviceIoControl の
使い方を調べました。しかし情報自体が古く、x64 専用の情報はありませんでした。
2. AutoHotkey スレッドにて質問してみましたが、解決には至りませんでした。
3. Synaptics 本社に直接電話しドライバー担当者とのコンタクトを試みました。
開発部門までは繋がりましたが、SDK のページを教えてくれただけで開発担当者の
連絡先までは分かりませんでした。

Synaptics SDK http://www.synaptics.com/developers/manuals
使用コード http://up.poiu.jp/38.txt
デバイス設定画面 http://up.poiu.jp/39.png
313デフォルトの名無しさん:2011/02/16(水) 22:09:07
制御工学の証明でわからないことがあるので、ぜひ教えてください。問題は

伝達関数L(s)が安定な正実システムであればW(s)=L(s)/(1+L(s))のゲイン余裕は∞になる。

です。宜しくお願いします。
314デフォルトの名無しさん:2011/02/16(水) 22:12:31
制御工学の証明でわからないことがあるので、ぜひ教えてください。問題は

伝達関数L(s)が安定な正実システムであればW(s)=L(s)/(1+L(s))のゲイン余裕は∞になる。

です。宜しくお願いします。
315デフォルトの名無しさん:2011/02/17(木) 09:34:32
制御工学の証明でわからないことがあるので、ぜひ教えてください。問題は

伝達関数L(s)が安定な正実システムであればW(s)=L(s)/(1+L(s))のゲイン余裕は∞になる。

です。宜しくお願いします。
316デフォルトの名無しさん:2011/02/17(木) 09:42:37
制御工学の証明でわからないことがあるので、ぜひ教えてください。問題は

伝達関数L(s)が安定な正実システムであればW(s)=L(s)/(1+L(s))のゲイン余裕は∞になる。

です。宜しくお願いします。
317デフォルトの名無しさん:2011/02/17(木) 23:51:56
プログラムと関係ねーじゃん
318デフォルトの名無しさん:2011/03/15(火) 10:11:08.62
つーかこれならないだろ。問題間違ってないか?
319デフォルトの名無しさん:2011/03/24(木) 05:53:17.04
8085の質問です。ゼロ番地に LXI SP,RAM末尾 JMP cのmain と書いてcのmainで
DI と書くのと、ゼロ番地に DI LXI SP,RAM末尾 JMP cのmain と書くのと、
どちらがいいでしょうか? 妥当性・安全性などに違いは出ますか?
320デフォルトの名無しさん:2011/03/24(木) 09:26:32.11
リセットもどきの動作をさせるときに、
0番地に飛ばなきゃイカンときとかは、先頭でDIかな

昔、NULLアクセスしたときのために、
0番地から2バイトをnopで埋めたこともあったな、(未熟だった頃)
321デフォルトの名無しさん:2011/03/24(木) 10:12:40.64
後者でも8バイト以内に納まるから後者でいいんじゃない?
って、そりゃZ80の発想か。
322319:2011/03/24(木) 13:22:34.12
>>321 私もその発想はしました(w まだ1nop余ってます。

>>320 WDT叩いてるんで、リセットもどきはWDT叩かなくすることで起こしてます。
323デフォルトの名無しさん:2011/03/24(木) 20:19:11.76
フラッシュマイコンの時代に8085使うってどんだけ時代錯誤w
324デフォルトの名無しさん:2011/03/24(木) 22:21:12.95
8051の間違い…と思ったがLXIなら8085だよなあ
325319:2011/03/25(金) 02:34:31.70
でも実際使ってるんです。8259で割り込み交通整理、8253でタイマ作ってRST7.5に
入れて、82514本並行動作。とっくに製造中止なので、基板バラして回収したり
アキバで買ったり・・・だそうです。8KBのRAMチップなんて売ってるのかな?

リーダビリティ重視でcメインの頭にDI書いてたのですが、パチパチ君とかで
いじめたりして変なアドレスにジャンプする可能性を考えると、
先頭の2命令だけEI状態なのがいけないかな?とか考えました。
326デフォルトの名無しさん:2011/03/25(金) 03:53:16.46
それって、単純に暴走してるだけでしょ。
WDTが機能してない時間があるような?
327319:2011/03/25(金) 16:18:30.88
いや、今まで暴走したことはありません。uartから特定のコマンド入れてloopさせて
WDTによるリセットがかかる、という確認はしました。
328デフォルトの名無しさん:2011/03/25(金) 19:25:44.72
WDTの周期次第?
329319:2011/03/27(日) 02:24:13.31
WDTに書くパルスは、エッジ間隔が1ミリ〜1.6秒だそうです。
↓か↑かどちらかの間隔だと思うのですが、詳細は忘れました。
今は10mS割り込み処理の中で書き込んでいます。
330デフォルトの名無しさん:2011/03/27(日) 02:40:23.03
1ミリ未満で暴走してる可能性がある。
モノによるけど、タイマーでWDT叩くのはどうかと...
331福盛俊明:2011/03/27(日) 02:59:40.82
アハ〜♪”
332デフォルトの名無しさん:2011/04/02(土) 16:03:05.69
333デフォルトの名無しさん:2011/04/02(土) 16:59:02.28
>>319の両者で差が出ることがあると仮定すればその時はCPUが正常に動作していないはずだけど、
CPUが正常に動作していない状況下では、どんなソフトウェア的な工夫も
普通に考えれば無意味だと思うけどね。

そもそも>>319の2者の違いにどういう狙いを込めてあるつもりなのかよくわからんけど
334319:2011/04/03(日) 17:25:54.93
あ、ちょっと離れたけどまともなレスもらえましたね。ありがとです。
実質、cメインが1バイト少なくなるのと、PGに割禁命令を読ませなくていい、
ぐらいしか効果ないですね。
335デフォルトの名無しさん:2011/04/11(月) 06:20:07.25
uart 4CH搭載、タイマは最低1CHあればいい、外部割り込み使わない、
ROM64KB RAM12KB程度。 こんなspecの石でおすすめありませんか?
H8S/2378は使ったことありますが、ちょっとオーバースペックかなと思って。
336デフォルトの名無しさん:2011/04/11(月) 08:25:00.19
>>335
R8Cとかどう?
337デフォルトの名無しさん:2011/04/11(月) 12:33:48.73
いいぜ
338デフォルトの名無しさん:2011/04/11(月) 12:35:19.43
From where do I start programming if I to be a emmbeded proggramer?
339デフォルトの名無しさん:2011/04/11(月) 16:28:14.49
>>336
それって第2アメ横で買える?
340デフォルトの名無しさん:2011/04/11(月) 19:06:52.92
足りない分のUARTの処理をソフトでやるんだな、bps次第だけど
341335:2011/04/12(火) 15:46:54.60
R8Cは4CH積んでいませんよね? タイマ端子使ってuartの替わりさせるsoftは
書いたことがあります。適当な石が無ければできますが、私の知らない石で
ちょうど良いのが無いか聞いてみたかったのです。
342デフォルトの名無しさん:2011/04/12(火) 19:25:17.04
4chもUART使うぐらいならI2Cにすりゃいいのに....
343デフォルトの名無しさん:2011/04/12(火) 20:09:16.04
何言ってんだか
344デフォルトの名無しさん:2011/04/12(火) 20:14:37.69
>>343
異論があるならはっきり言えよ。
いえないなら黙ってろ。
345デフォルトの名無しさん:2011/04/12(火) 20:16:00.96
>>341
ああ、R8Cはmaxで3chか。
4chも付いてるのはそこそこ上位になっちまうかもな。
インターフェース誌の付録にあったH8SXとか。
346デフォルトの名無しさん:2011/04/13(水) 10:59:53.41
学習リモコン作るのに適した石ってなんだ
シリアル2つと接点たくさんか
347デフォルトの名無しさん:2011/04/13(水) 11:35:14.74
arduino
348デフォルトの名無しさん:2011/04/13(水) 13:39:54.05
PIC
349デフォルトの名無しさん:2011/05/08(日) 22:12:06.67
␂ DATA1 DATA2 DATA3 ␍ ␊ ␃
350天使 ◆uL5esZLBSE :2011/07/04(月) 04:11:22.66
>>344
∨∨∨∨∨∨∨∨∨
「「「「「「「 異論があるならはっきり言えよ。 」」」」」」」(キリッ!!!きリ!!!!キリ!!!キリッッ!!きリッッッッ!
∧∧∧(キリッッ
∨∨∨∨∨∨
「「「「「「「「「「「「「「 いえないなら黙ってろ。 」」」」」」」」」」」」」」(キリッッッ!!!キリ!!!!キリッ!
∧∧∧∧∧(キリ

うるさいしね
351デフォルトの名無しさん:2011/07/04(月) 13:23:51.25
I2Cって言えばすむ問題なのかね
352デフォルトの名無しさん:2011/07/05(火) 04:23:16.07
8085の DAA って、どういう動作なのですか? 沖のpdfだとデシマルアジャストしか
書いてないんです。「低位ニブルがA以上ならそこを0にして10hを足す」 ですか?
353デフォルトの名無しさん:2011/07/05(火) 12:07:19.57
>>352
それだと下位ニブルが0になってしまうし、9+9とか誤判定するだろ。
ニブル間のキャリーフラグがあるのでそれ使う。
下位ニブルは0にするんじゃなくて10引く。
354 忍法帖【Lv=18,xxxPT】 :2011/07/05(火) 12:10:03.25
>>352
ハーフキャリーも見ているよ。リンク先の説明参照。
尚、リンク先は8080と互換チップの動作だけど、8085もNフラグはないので加算後の補正のみ。
ttp://www.d1.dion.ne.jp/~ytera/Files/PD8080A.txt
355352:2011/07/05(火) 13:47:41.33
リンク先ありがとうございます。確かに、今見ているコードも加算の後でのみDAAを
使っていますね。減算の場合は補数を足すようにしています。
使い方としては、BCDのバイトに何かを足し、DAAするとまた結果がBCDになる、
ということを期待すればいいのですね。

時分秒をINRしながらDAA使う所は解ったのですが、100だか64だかを減算しながら
DAA使っている所がよく解らなくて聞きに来たものです。
  LXI  H,mem   ;BCDのバイト
  MVI  A,00110110B  ; gensuu = 64 no hosuu wo set
  ADD  M
  DAA
  MOV  M,A
00110110B=36hは、64の補数ではないように思えて・・・どんな値を減算する
ことになるのでしょうか?
356デフォルトの名無しさん:2011/07/05(火) 13:52:35.85
54 = 64 - 10 かなぁ?
なにやってんだろ。
357 忍法帖【Lv=18,xxxPT】 :2011/07/05(火) 14:40:01.31
64(bcd)の補数を求めている。
つまり、100(bcd)-64(bcd)->36(bcd)とコメントは言っている。
64引くことに何の意味があるのかは知らん。
358352:2011/07/05(火) 14:42:25.23
BCD5桁(20bit)の数を100で割った商11bitと余り7bitを求めているようです。
「引けるか?」の箇所は64h=100と比較してて、>>355の36hを足す所のコメントは
BCDの64hを引くという意味みたいです。 BCDで36h+64h=00hを利用してる?

減算の後はDAAが使えないので、繰り下がりの所は
  DCR A
  ANI  0Fh
  CPI  0Fh
  JZ------->MOV A,M
          DCR A
          ANI  0F9h
          MOV M,A
とかやってます。DCR=-1を足す=FFを足す ですよね?
そしたらDCRの替わりに ADI 255,DAA ってやれば減算後BCDにできますよね?
359352:2011/07/05(火) 14:51:27.85
タッチの差で言われてしまいました(w BCD5桁からBCDの64hをずーっと引いて
ゆくと、最下位バイトに100未満のBCDが残ります。
今度はそのバイトからBCDで1ずつ引きながら、余りにバイナリで1ずつ足して
ループで計算させていました。
これ、BCDをバイナリにすればそれでいいのに。
360352:2011/07/05(火) 16:23:51.51
BCD→binの、うまいやり方:HLがメモリを指しているとして、
    MOV    A,M
    ANI    0F0h        ; 上だけにする
    RRC
    MOV    B,A        ; *8 save
    RRC              ; *4
    RRC              ; *2
    ADD    B         ; 上*(8+2)
    MOV    B,A        ; 上*10 save
    MOV    A,M
    ANI    0Fh        ; 下だけ
    ADD    B         ; 上*10+下
ここでAregにbin8bitで求まる。ラベルも無くてすっきり。
361デフォルトの名無しさん:2011/07/05(火) 19:53:11.86
なんか意味不明だなw
BCDなんだから100で割った余はLSBに決まってると思うんだがw
そもそもBCD値から0x64はBCDの世界では100じゃなくて64なのに0x64引いてどうするのw

そんなコード捨ててしまえ
362352:2011/07/06(水) 02:55:29.87
元々の問題は、10進数で5桁の数を100で割って商と余りを求める だったようです。
バイナリにしてcのldiv使えば1発で求まるのですが、これを書いた人はBCDのまま
減算していって減算回数を商、引けなくなった残りを余り、という手法を採ったようです。
LINK制御文にはROMLIB.sofを書いてあったので、LIBの存在は知っていたようですが、
使い方が解らなかったのでしょう。

今回PLLの生産中止に伴って、この割り算の式自体が変わるかもしれないので、
その時にはこのコードは捨てられますが、動いている製品なのでアホというだけでは
捨てられないのです。
>>358 後半の質問(減算後にDAAを使うには)は、あれで合ってますか?
363デフォルトの名無しさん:2011/07/06(水) 10:40:40.96
>元々の問題は、10進数で5桁の数を100で割って商と余りを求める だったようです。

BCDだったら
0xFFF00 との AND が商
0x000FF との AND が余り
だろ
364352:2011/07/07(木) 04:45:27.65
BCDの100ではなくて10進数の100だからその解釈は違います。
365デフォルトの名無しさん:2011/07/07(木) 07:54:24.64
10進数の100はBCDだと0x00100だろ
366352:2011/07/07(木) 18:05:19.86
ってことは、BCDで XXXdd を BCDの100で割った余りは必ずdd? (*o*)
明日電卓で試してみよう。 それだと64hを引き算できる回数をカウントしてた
元のプログラムはとんでもないムダしてたのかな・・・
367デフォルトの名無しさん:2011/07/07(木) 18:46:43.40
俺の女を制御するには? セマフォで叩いても開けてくれないんだ
368デフォルトの名無しさん:2011/07/07(木) 19:00:21.25
まず二次元配列にvcreしろ。
369デフォルトの名無しさん:2011/07/07(木) 19:11:52.42
>>366
そんなこと言ってて良いのは小学生までだな。
ウチの社員がそんな発言したらクビにするぞ。
元のコード書いたやつもな。

>>367
セマフォで叩くから死んじゃっただろう。
370 忍法帖【Lv=9,xxxP】 :2011/07/07(木) 20:16:20.35
まず、手めーの人生を制御してから濃い
371デフォルトの名無しさん:2011/07/07(木) 22:43:17.84
>>370の親が無くなっても、子が生きててガベコレされてない。
372352:2011/07/08(金) 03:15:40.02
>>369 確かに、BCDでXXXddを100で割るには商=XXXをバイナリ、余り=ddをバイナリ
にするだけでよかったのね。除算すら要らなかったのねorz

俺は高卒だが、元のコード書いた奴は大卒のはずなのに、なんというコード書いて
くれたんだ・・・ 引き算しなければ減算後のDAA補正も要らなくなったし。
373 忍法帖【Lv=10,xxxPT】 :2011/07/08(金) 05:00:26.53
あーめん
374デフォルトの名無しさん:2011/07/11(月) 13:14:08.65
LSIC80で、ROMLIBにある関数をコールするとき、 call DIVIHD##というASMなのに
リンクされたMAPには##の無いDIVIHDがリストされています。これって何でなの?
375デフォルトの名無しさん:2011/07/11(月) 13:39:45.25
#はコメント
376デフォルトの名無しさん:2011/07/11(月) 17:07:23.49
EXTRN書かなくても外部名になるって意味もあるのかな?
377 忍法帖【Lv=4,xxxP】 :2011/07/11(月) 20:40:55.50
どうかな?あるかも?ないかも?
378デフォルトの名無しさん:2011/07/12(火) 16:15:56.59
沖の8085データシートだと、演算後のフラグの立ち方まで書いてないんです。

ACCに AND OR XRA の演算をするとCYはゼロになります。
DCR reg は、非ゼロからDCRしてZが立ったときはCYもゼロ。
この理解で合っていますか?
379デフォルトの名無しさん:2011/07/12(火) 16:33:10.48
380 忍法帖【Lv=24,xxxPT】 :2011/07/14(木) 00:33:03.57
>>378
dcrはキャリーを変えないよ。
つーか、その辺りも載ってるニモニック表なんて、ぐぐればすぐ見つかるだろ。
381デフォルトの名無しさん:2011/07/14(木) 04:30:16.91
>>380 ありがとう。ということは INX,DCX もそうなのでしょうね。
たしか以前ぐぐったときは>>378のぐらいしか見つからなかったような。
382デフォルトの名無しさん:2011/07/14(木) 06:19:40.60
383381:2011/07/14(木) 06:24:27.59
今ぐぐってみましたが、やはり表になってるのは378のぐらいしか見つかりません。
過去に製本されて出版されたという情報はあるのですが、電子媒体になっている
ものは意外と無いものですね。64180でも同じ事を経験しました。
384381:2011/07/14(木) 06:34:03.71
あら、すれ違いでしたね。ちょっと見にくいけど、コレイイですね。ありがとう。
htmlファイルのまま保存できるんですね。
385381:2011/07/14(木) 06:39:19.25
論理演算はCY=Zになるのだと記憶していますが、この表だとそれが表現できてない
386デフォルトの名無しさん:2011/07/14(木) 07:08:32.12
>>385
論理演算の結果CY=0になってその結果が反映されるんだから
何も問題ないんじゃないの?
387381:2011/07/14(木) 07:33:04.38
押し出されたり借りたりが無いからキャリーは0と推測することはできますね。
当時紙で出版された本などではその辺のフォローまできめ細かに書かれてたなあ
INR/DCR でキャリーが立たないのはなんかくやしい(w
388381:2011/07/14(木) 09:48:16.70
どこかからコピーしてtextで保存したflag変化まで書いた奴がtestフォルダに
埋もれていました、やれやれ。netぐぐる前に自分のマシン探せばよかった(w

|Mnemonic |Op|SZAPC|~s|Description |Notes |
|---------+--+-----+--+--------------------------+-------------|
|ACI n |CE|*****| 7|Add with Carry Immediate |A=A+n+CY |
こんなの
389381:2011/07/14(木) 10:15:23.49
あ〜!半角spaceが全部詰まってるorz
390デフォルトの名無しさん:2011/07/14(木) 13:11:52.60
uPD17Kシリーズは分かりますか?

スキップ命令ってなんでしょう?
391デフォルトの名無しさん:2011/07/14(木) 13:27:24.67
そのシリーズは使ったことないけど
一般的には、条件分岐の一種で条件が成立すると、直後の命令をスキップする命令
392デフォルトの名無しさん:2011/07/15(金) 02:30:27.98
直後の命令をコールにしておけば一連の処理をしたりしなかったりできる。
393デフォルトの名無しさん:2011/07/18(月) 05:10:16.81
普通は無条件jumpを入れて使う
確かPDP8が導入した<conditional skip
394デフォルトの名無しさん:2011/07/18(月) 08:58:53.53
もっと古い機械にもありそうな気はする
395デフォルトの名無しさん:2011/07/18(月) 09:54:48.82
本当にそんな命令なのか?

それってなんか思いっきり実装しにくい気がするし(命令長は一般に固定ではないから、
結局次の命令をフェッチしないと「スキップ」できないという矛盾)、機能的にも
条件付ブランチとかぶっていて意味があると思えない。
396デフォルトの名無しさん:2011/07/18(月) 10:12:27.90
逆に言うと、命令長が固定だったり、先読みしてデコードとかが進んじゃっていれば
パイプラインの次の命令をアボートするだけ。
条件ジャンプと違って飛び先が固定だし、パイプラインなら次の次の命令はそのまま
実行できるわけで、無意味じゃあないね。uPD17Kシリーズは知らんけど。
397デフォルトの名無しさん:2011/07/18(月) 10:22:02.72
いにしえのプログラム電卓にも条件スキップがあって重宝したよ。
ラベルなしでプログラミングできるのは魅力だった。
そもそも、命令長が一般に固定でないという発想自体、インテルに代表されるマイクロチップに毒されている。
398デフォルトの名無しさん:2011/07/18(月) 12:56:12.39
そのインテルチップだって、条件ジャンプのオペランドが短くて、条件を反転して直後の無条件ジャンプを飛び越える様に使う必要がよくあったね。
これって、結局スキップ命令と同じだよね。
399デフォルトの名無しさん:2011/07/18(月) 13:33:00.37
>>398
それは相対ジャンプが短かったz80のことじゃないのか? それならZilogチップだ。
尤も、8080の時代に無条件ジャンプ命令のオペランドに飛び込むコードはよく書いたが。
400デフォルトの名無しさん:2011/07/18(月) 13:51:51.40
なんかもういろいろ無茶苦茶な知ったかぶりだなw
401デフォルトの名無しさん:2011/07/18(月) 13:52:29.24
>>399
8086も相対分岐のオフセットは8bitしかないでよ
さらにZ80みたいな条件付き絶対アドレス分岐命令ないので、ぎりぎり届いてたところに
手を入れたら連鎖的に届かなくなって、一個一個泣きながら直したり
402デフォルトの名無しさん:2011/07/18(月) 14:17:41.95
>>399
8086でも変わりなかったよ。
後期のMASMにはそれを自動でやる機能がついてたくらい。

386で命令を拡張するときになって、漸く条件ジャンプのレンジが拡がった。
常にジャンプになってしまうんじゃ性能が出ないと判断したんだと思う。

今はジャンプ先でもプリフェッチしちゃうような時代だから、
現在のプロセッサ技術があれば広げなかったかも知れないし、スキップ命令にしたかもしれないね。

403399:2011/07/19(火) 13:48:06.76
単に8086を知らんだけだし。つーか、忘れたんだと思う。1パスのアセンブラだとなんともならなくて2パスにした記憶はあるから。
# N88Basic(86)でアセンブラなんて、今だったら絶対作らんと思うw

>>402
x86はSSEの条件セットがその役を担っているのでは?
404デフォルトの名無しさん:2011/07/20(水) 09:17:16.11
9801ならmonに一行アセンブラ入ってなかったか?
405デフォルトの名無しさん:2011/07/20(水) 09:26:15.29
あったね。というか、MONコマンドはBASICで、MS-DOSのはDEBUG.EXEだったか。
406399:2011/07/20(水) 10:50:30.12
>>404
Epsonの互換機にはなかった気が。それに、シンボルもなければソースのロードもないし。
debug.exe(symdeb.exe)はリダイレクトできたけどそれ使うようになった頃はmasmかLSI-Cのアセンブラを使ってたと思うし、それはもう少し後の時代だと思う。
いろんなところでいろんなもん触ってたからもう、ごっちゃだよw
407デフォルトの名無しさん:2011/07/20(水) 11:28:32.69
俺のEPSON機に付いてたBASICにはあったよ。
もしかしたらBASICのシステムディスクを作るときに何か設定必要だったかも。
いずれにしろシンボルは使えんけど。

SYMDEB.EXEはNECのMS-DOSにはなぜか付いてて(3.3のころから拡張なんとかに
なったけど)、EPSONのにはDEBUG.EXEしか付いてなかった。
408デフォルトの名無しさん:2011/07/20(水) 11:35:36.02
debug.com は masm.exe と一緒に dos に同梱されていた
symdeb は別売り masm だろ
epson dos の頃になると主力が c に移っていたし c++ まであった
409デフォルトの名無しさん:2011/07/20(水) 11:42:00.23
時代によって(バージョンによって)違う
410デフォルトの名無しさん:2011/07/20(水) 14:45:52.54
98用は
2.11 - masm入り/debug
3.1 - masm別/symdeb
だったような気がする

20年以上前の話なんでかなり記憶が曖昧だ
411デフォルトの名無しさん:2011/07/20(水) 19:07:00.07
制御系とはだいぶ離れてきたなw
412デフォルトの名無しさん:2011/07/20(水) 22:40:43.74
とても広い意味では制御系と言えなくもなくもなくも
413デフォルトの名無しさん:2011/07/20(水) 22:51:07.25
制御系なら98は現役w
414デフォルトの名無しさん:2011/07/21(木) 01:24:42.76
ノイズ対策w
連続稼動w
415デフォルトの名無しさん:2011/07/21(木) 11:23:55.84
FC-9801てえのがあったでよ
うちはそこまでシビアじゃなかったので
お値段的にふつーのPC-9801一択だったが
416デフォルトの名無しさん:2011/07/21(木) 11:49:18.53
FはFinal?
417デフォルトの名無しさん:2011/07/21(木) 11:56:12.36
Factory
418デフォルトの名無しさん:2011/07/21(木) 13:32:04.70
Fatal
419デフォルトの名無しさん:2011/07/21(木) 19:18:45.81
PC-9801Fw
420デフォルトの名無しさん:2011/07/30(土) 14:51:05.23
沖の8085データブックpdfで、ACI と、ADI の説明が反対になってるの見〜っけ!
421デフォルトの名無しさん:2011/07/31(日) 02:45:04.03
8085のデータブックで、命令一覧表にステート数とサイクル数って
書かれてるんですけど、この2つって何のことなんでしょう?
実行時間見積もるのにどっちを使ったらいいかを知りたいのです。
422デフォルトの名無しさん:2011/07/31(日) 02:58:23.67
423421:2011/07/31(日) 12:27:26.96
どうもです。クロックの逆数なのはステートのほうみたいですね。3MHzで、
  OUT  0xxh  10ステート=3.3μ
  ORI   0x20   7ステート=2.3μ
  OUT  0xxh  10ステート=3.3μ
setup/hold = 1μのPLLへの書き込みなので5倍ぐらい余裕があります。
ありがとうございました。
424デフォルトの名無しさん:2011/08/01(月) 14:05:48.40
  DAD H は左シフトに使えて、キャリー立ちますよね?
425デフォルトの名無しさん:2011/08/04(木) 05:42:56.53
MB1504とかの、基準分周器が16bitなPLLが生産中止で、基準分周器が19bitな
PLLを採用するらしいのですが、どんなのがあるか紹介してくださいませ。
426デフォルトの名無しさん:2011/08/14(日) 13:19:19.40
最近は難しいね そういうのはCPUと一緒にチップ上に取り込んでしまうから実験のためくらいの用途しかない
427デフォルトの名無しさん:2011/08/17(水) 08:42:22.19
PLLのデータブックは貰えなかったけど、数式だけでなんとかできました。
周波数+70455 を64で割った商と余りを 11bit,0,余り,0 でシリアル出力するの。
ACCが8bit、HLregが16bitな8085では面倒だったけどパツイチで動きました。
428デフォルトの名無しさん:2012/03/11(日) 23:18:54.37
戦闘機や自動車の制御ソフトウェアでオープンソースなもの拾えませんか?
429デフォルトの名無しさん:2012/03/11(日) 23:21:24.81
その手のは、パックったら動くってもんでもないし
ソース眺めただけじゃ、ワケワカになるような
430デフォルトの名無しさん:2012/03/11(日) 23:41:39.83
制御ソフトウェアがどんなコードなのか雰囲気だけ味わってみたいんですが
モジュールの分割だったり、クラスに落としてるのかとか
431デフォルトの名無しさん:2012/03/12(月) 00:00:15.79
アホか
432デフォルトの名無しさん:2012/03/12(月) 00:11:04.74
>モジュールの分割だったり、クラスに落としてるのかとか
言葉知ってるだけで終わるのが落ち
簡単なパソコンで動くものを何回もやることだろうね、数学みたいに
433デフォルトの名無しさん:2012/03/12(月) 02:17:41.47
>>432
作る気も動かす気もないし、用語を覚える気も簡単なもの動かす気もないから
上で丸め誤差やら計算誤差、チャタリング、制御の話が出ていて、
実際には、どんな感じのコードになっているのか気になったんだよ

まず、近寄りたくない分野の1つだけれども怖いモノ見たさで
434デフォルトの名無しさん:2012/03/12(月) 02:35:46.40
書けるけど、読めない人が多いってのはどう思うよ、プログラム系
435 ◆QZaw55cn4c :2012/03/12(月) 02:51:19.86
>>434
一種の謙譲、あるいは「読めない」ではなくて「読みたくない」。
436デフォルトの名無しさん:2012/03/12(月) 02:53:47.50
読めるようなソースを探すことでもやるんだね
お仕着せの書き方覚えても通用しないってわかってるってことじゃないの
437デフォルトの名無しさん:2012/03/12(月) 12:38:22.73
本当に必要なときはどんな手を使ってでも
何が何でも読むしな
438デフォルトの名無しさん:2012/03/12(月) 12:52:10.50
使用者側にはそれができる人かできない人かを見分けることが必要で、
また、一定以上のキャリアがあるなら自覚できる必要があるよな。
439デフォルトの名無しさん:2012/03/12(月) 14:14:15.52
>「読みたくない」
転職考えたほうがよくね
440デフォルトの名無しさん:2012/03/12(月) 14:36:53.29
難読化されたまともなコード、のほうがまだまし、と言いたくなるような
まともでないコードを解読するのは一種の特殊技能だろ。
441デフォルトの名無しさん:2012/03/12(月) 14:41:14.52
俺の書くものは完璧ですってのもないだろうに
入門レベルで読みたくないってのは向かないって、気づくにはいいかも
442デフォルトの名無しさん:2012/03/12(月) 16:55:28.55
読んでいる最中は必要以上に難読化されているかどうかわからん
おや、バグかな? と思ったところも、後々になって謎が解けることがあるし

いや、結局バカヤロウなオチもあるけど
それはごにょごにょ・・・
443デフォルトの名無しさん:2012/03/12(月) 18:12:40.47
制御方面(電気とか)の知識はあるんだろうか?やりたい系は
444デフォルトの名無しさん:2012/03/12(月) 23:57:09.45
最近はプログラム書くのも面倒だ
445デフォルトの名無しさん:2012/03/13(火) 00:00:11.31
>>440
コード読む以前の知識を取得しなきゃむり
つか、 おまえは数値計算ソフトも読めないんじゃない?
446デフォルトの名無しさん:2012/03/13(火) 02:58:38.95
大学でロボティクスや制御の講義を行ってた自称10年のベテランの教授の下で、
卒業研究を行ってたら、「おまえはオカシなコードを書くからプログラマにはなるな」
と言われたんだが、どうも納得いかないんだ。

その教授のコードってものが、グローバル変数を使って、引数なしの関数に値を処理させたり、
ループ変数をグローバル領域に置いてたり、構造体やらポインタなんて全く使ってないんだ。
おまけに、printfに初期化指定子を使っておらず、ファイルに出力するデータのナンバリングにif文で
条件分岐していたもんだから、とにかく電気やロボティクスから入ったプログラマの下で働きたくない。
あんなコードで数値計算やって納品して戦闘機が飛んでたりするのか?
447デフォルトの名無しさん:2012/03/13(火) 03:04:30.45
そうだよ
制御系プログラムをPCなどのプログラムと一緒にしてはいけない
余裕のある環境なら別だが、非力な環境ならそれなりの書き方をする
448デフォルトの名無しさん:2012/03/13(火) 03:07:17.10
マヂで?制御ソフトってスタック領域にループ変数すら置けないの?
449デフォルトの名無しさん:2012/03/13(火) 03:10:51.43
そういうやり方もあるって話
ふつうのプログラムなんて誰だって書けるんだよ
せっかく特殊なテクニックが学べるのに批判しか頭に無い
君はプログラマにむいてないんだろうね
450デフォルトの名無しさん:2012/03/13(火) 03:22:29.38
texやbashすらまともに使えないんで、自称ベテランのアホだとばかり…。
まぁ、いいや。制御にゃ絶対に進まない決心がついた。
451デフォルトの名無しさん:2012/03/13(火) 03:28:41.17
制御にかぎらず、金融や役場関係のPGにも行かないほうがいいな
似たような書き方する所がある
やめておきなさい
452デフォルトの名無しさん:2012/03/13(火) 03:32:21.11
金融や役場関係でもメモリが足りないなんて場面を想像できないんですが、
何故、そのような書き方がされるのでしょうか?
もう、ショッピングセンターで働こうかな
453デフォルトの名無しさん:2012/03/13(火) 03:35:24.69
代々それでやってきた仕様だ
その場にいる奴は誰も理由なんて知りはしないよ
454デフォルトの名無しさん:2012/03/13(火) 03:40:02.03
ウェブ系ベンチャーとjava屋の他は地雷だって肝に銘じときます
455デフォルトの名無しさん:2012/03/13(火) 03:46:51.83
Javaはアウトだ
ウェブは知らんがDBかかわってたらアウト
なんにせよ、仕様通りに作るのがPGであり
自分の意見を持つようなガタガタうるさいガキは使い物にならないから今のうちから他の道を選ぶ事を勧める
君がプログラマにならなくっても、換えはいくらでもいるんだ
456デフォルトの名無しさん:2012/03/13(火) 03:53:55.12
>>446
現場知らん人にツボみたいのがわかってるわけねえじゃん
理解力があるから作れるってもんでもないし
BASICあたりで止まってるんじゃねえの、若い頃の知識でやってるだけでしょ
457デフォルトの名無しさん:2012/03/13(火) 04:08:17.36
底辺の職場って経験年数が長いだけの万年初心者ばっかなの?
458デフォルトの名無しさん:2012/03/13(火) 04:09:40.43
>>457
いただけって、人もいるんじゃないの?
459デフォルトの名無しさん:2012/03/13(火) 04:10:22.03
ITドカタの名は伊達じゃ無いぞ。
460デフォルトの名無しさん:2012/03/13(火) 04:19:42.14
ドカタ仕事だって言って、単価下げてることをしてることもわかってない連中なんじゃないの
下手したら、廃人になる可能性があることもわかってないみたいだし
461デフォルトの名無しさん:2012/03/13(火) 04:23:24.56
この記事の内容元にすれば、DB絡んでも大丈夫かしら?
http://www.ogis-ri.co.jp/otc/hiroba/technical/JPLoP/DPforRDB.html
462デフォルトの名無しさん:2012/03/13(火) 04:35:24.55
考え方はあってるとしても、そのままは通用せんでしょ
パソコンみたいになんでもありってわけじゃないし、制御系
(なんでもありってわけじゃないけど、パソコン)
463デフォルトの名無しさん:2012/03/13(火) 08:38:45.03
>>446
納得いかないなら理屈を聞いてみろよ。大学で、教授が相手なんだろ?
理屈を説明するのを嫌がられたら、たぶん教授がおかしい。
464デフォルトの名無しさん:2012/03/13(火) 12:22:33.04
スタイルについて尋ねて理路整然とした答えが返ってくる率は少ない
謙虚に聞いているのにやたら高圧的とかね
465デフォルトの名無しさん:2012/03/13(火) 12:27:50.33
空白や括弧の置き方なら「スタイル」だろうし理路整然なんていかないだろうが、
>>446 みたいなのを「スタイル」というのは、違うんじゃないの?
ただのスタイルだとすればそれで「プログラマにはなるな」ってのもおかしいし。
466デフォルトの名無しさん:2012/03/13(火) 12:59:00.97
>>465
早速、謙虚に聞いてみるが何が違うの?
467デフォルトの名無しさん:2012/03/13(火) 13:07:53.94
スタイルに含める場合もある。

いずれにしろ、その教授はおかしいと判断してよい。
468デフォルトの名無しさん:2012/03/13(火) 14:15:39.96
> スタイルに含める場合もある。

なぜ?
含める場合と含めない場合の境界は?


> いずれにしろ、その教授はおかしいと判断してよい。

なぜ?
おかしいとは正常域を逸脱、または矛盾があることを言うが、
何に対するどのような期待による正常域? もしくは何と何が矛盾?
469デフォルトの名無しさん:2012/03/13(火) 16:22:06.79
古文みたいな書き方してるだけでしょ
研究に没頭?してるとそうなるのかな、流れの早い業界だし
470デフォルトの名無しさん:2012/03/13(火) 19:12:40.48
C言語の基本なんて80年頃からたいして変わってはおらん。
最初の標準化から既に20年、32ビット環境があたりまえになって10年。

グローバル変数を多用、構造体を使わない、いずれもC言語云々というより、
Fortran中毒から脱却できないとか何か、かなり重篤な病状。

ポインタに関しては濫用すべきじゃないけど、全く使わないというのも
普通ありえない。
471デフォルトの名無しさん:2012/03/14(水) 04:22:53.12
>>463
実際のところ、ライブラリが何か理解してないみたいなので、正直なところ聞くまでもないと思ってます
念のため、組み込みや制御分野では当たり前のコーディング作法なのか聞いておきたかったので

>>465
インデントスタイルはPicoスタイル(wikipedia参照)でした

>>469
就活担当だったし、事務室の仕事を手伝ったり、研究に没頭しているような教授ではないです。
haskell何それ?役に立つの?って具合な計算機科学とは縁のほど遠い製造業マンセーな教授。
ちなみにPGは高卒、専門卒の仕事だとの認知らしいですが、私に紹介した企業は三交代制の工場勤めでした。

>>470
教授自前の逆行列を求める関数はグローバル変数で値渡ししており、
非常に考えさせられる部分の多いコードでした

製造系SEを2、3年も経験したら誰でも教授が勤まりそう
472デフォルトの名無しさん:2012/03/14(水) 05:52:31.05
大卒に求めてるのは技術的なことがわかればいい営業だからね
動くものが作れる作れないは関係ないからでしょ
473デフォルトの名無しさん:2012/03/14(水) 08:51:23.04
日本の製造業の病巣のサンプルだな。

あいつらがスペースシャトル作ったら、高卒、専門卒にプログラム書かせて
人を乗せて飛ばす可能性すらある。
474デフォルトの名無しさん:2012/03/14(水) 10:03:15.65
仮引数と返値はスタックに詰むからハーバードアーキテクチャとかRAMに余裕のないマイコンだと仕方がないかも
命令単位で時間を計ったりといった高級アセンブラな使い方すると書式文字列のパースなど見えないところで時間を食うのも困る
475デフォルトの名無しさん:2012/03/14(水) 17:10:42.31
>>474
どこの幼稚園の人ですか?
476デフォルトの名無しさん:2012/03/14(水) 21:04:03.54
>>474
そんな事情があるならはじめからアセンブラで組むか、さもなければ
コメントを残しながら仕方なくやるのがまともなプログラマ。
477デフォルトの名無しさん:2012/03/15(木) 07:32:34.04
「高級アセンブラ」とか言い出す奴って、たいてい規格票を見もせず、
コンパイラが吐くコードを解析しただけで、仕様がどうこうとか言い出す
という印象がある。
478デフォルトの名無しさん:2012/03/15(木) 07:57:26.02
現金なヤツが多いってのはまああるけど
机上で丸暗記した知識だけで満足してる頭でっかちを等しくばかにてるぞ

規格票を見てないってのはおまえ認識が甘い
おまえの想像を絶する量のデーターシートやら規格票やらと戦う毎日であって
その絶対量の中で言語1つに付き合ってやれる工数が限られてるだけだ
479デフォルトの名無しさん:2012/03/15(木) 08:02:29.97
        ____
       / \  /\ キリッ
.     / (ー)  (ー)\
    /   ⌒(__人__)⌒ \   <その絶対量の中で言語1つに付き合ってやれる
    |      |r┬-|    |        工数が限られてるだけだ
     \     `ー'´   /

        ____
       / \  /\ キリッ
.    +/ (●)  (●)\
    /   ⌒(__人__)⌒ \+   
    |              |  クスクス>
     \            /

        ____
<クスクス   / \  /\ キリッ
.     / (●)  (●)\
    /   ⌒(__人__)⌒ \ +  
    |              |        
   + \            /
480デフォルトの名無しさん:2012/03/15(木) 08:06:29.61
どうした、それしか言い返せないなら褒め言葉あんがとよ
481デフォルトの名無しさん:2012/03/15(木) 16:47:10.12
規格覚えれば、出来るってもんでもないでしょ
482デフォルトの名無しさん:2012/03/17(土) 01:41:12.27
規格票て何?
483デフォルトの名無しさん:2012/03/17(土) 17:13:47.69
JIS
484デフォルトの名無しさん:2012/04/13(金) 14:49:59.26
FL-NETの仕様ってなんであんなに意味不明なの?
シーケンスやパケットの仕様の書き方もわかりずらい

普通にudpで通信する物で何番ポートで何してるって感じで良いと思うんだが

制御屋はあの仕様だと助かる部分があるの?
メモリマップみたいなんとか意味不明 必要無かったし
485デフォルトの名無しさん:2012/04/13(金) 15:46:49.12
udpって垂れ流しだからね、udpの実装は簡単だったけど
やってるうちに、ワケワカになったとか
486デフォルトの名無しさん:2012/05/07(月) 19:23:33.88
ミドルとライトのソレノイドバルブがOFFなのは解るが
http://www.yomiuri.co.jp/photo/20120506-591725-1-L.jpg
ICVの▷◀てどういう意味?
487デフォルトの名無しさん:2012/05/08(火) 00:33:35.75
半開?
488uy:2012/05/08(火) 17:54:03.00
俺のバグで会社に50万円ぐらいの損害を出したことある
489デフォルトの名無しさん:2012/05/08(火) 20:01:49.47
ちっちぇ
490デフォルトの名無しさん:2012/06/03(日) 05:01:09.54
>>486がバグってたら最悪、お金で贖えるレベルの損害じゃすまないな
491デフォルトの名無しさん:2012/07/03(火) 19:30:11.70
セクタ条件ってなんすか?
492デフォルトの名無しさん
フィードバックの改善を数式で改善しましょう
って、ことかな?