2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2006/09/19(火) 08:40:10
まったり逝きましょう。
ハード寄りの話も大歓迎です。
道具話も楽しくやれるならやってくらさい。
この世界は処理系依存はあたりまえだから、処理系明記するのを忘れないでね!

過去ログ
制御系なら俺に聞いてもいいぜ(8)
http://pc8.2ch.net/test/read.cgi/tech/1125994426/
制御系なら俺に聞いてもいいぜ(7)
http://pc8.2ch.net/test/read.cgi/tech/1109102528/
制御系なら俺に聞いてもいいぜ(6)
http://fun.kz/test/read.cgi/tech/1099574832/ (新タイプミラー)
制御系なら俺に聞いてもいいぜ(5)
http://fun.kz/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
関連過去ログ
●●●くみこの組み込み相談室●●●
http://pc3.2ch.net/tech/kako/988/988084737.html

2 :デフォルトの名無しさん:2006/09/19(火) 09:10:51
そーいや、過去ログの新タイプミラーって死んでる?

3 :デフォルトの名無しさん:2006/09/19(火) 14:42:03
ふりむかないことさ

4 :デフォルトの名無しさん:2006/09/20(水) 09:44:03
>>1 お疲れ様
スレたてして暫くレスないと落ちる事があるみたいだから上げるね

5 :デフォルトの名無しさん:2006/09/20(水) 09:52:54
制御系の貴殿らにperlスクリプト検定試験をプレゼントだ。
【ether⇔com1変換装置がある。この変換装置にtelnetしてconnect com1を
実行すれば、あたかもモデムなどのシリアル接続機器が自分のPCに
ローカルで接続しているかのような状態になる。ぜひとも"ATZ"などの
コマンドをモデムに送り込みたい。
以下のスクリプトをどう修正すればいいだろうか答えなさい。】

変換機のIPを192.168.1.1
変換機にログイン後、モデムに接続するコマンドをconnect com1とする
use strict;
use warnings;
use Net::Telnet ();
my($t,$pass,$host,$user);
$host = '192.168.1.1';
$user = 'admin';
$pass = 'admin';
$t = new Net::Telnet (-host => "$host");
$t->open("$host");
$t->waitfor('/login:/');
$t->print("$user");
$t->waitfor('/Password:/');
$t->print("$pass");
$t->waitfor('/#/');
$t->print("connect com1");
$t->waitfor('/com1 connected!/');
$t->print("ATZ");

6 :デフォルトの名無しさん:2006/09/20(水) 10:14:47
なんて素直じゃない質問なんだww

7 :デフォルトの名無しさん:2006/09/20(水) 15:17:33
>$t->print("ATZ");

シリアルに繋いだモデムにテキストとしてATZを流し込んでもだめだと思う

8 :デフォルトの名無しさん:2006/09/20(水) 19:21:57
ATコマンドなんて もう忘れたがな
たしか +++ 送って OK 確認してだったかな?

9 :デフォルトの名無しさん:2006/09/20(水) 19:49:52
ワコムのタブレットから筆圧等の情報を取得するにはWinTabというSDKが必要だと聞いたのですが、
ダウンロードページに行くと「特許関係でもうダウンロードできません」と言われます。
http://www.pointing.com/FTP.HTM
WinTabを手に入れることはもうできないのでしょうか?

10 :デフォルトの名無しさん:2006/09/20(水) 22:29:29
はじめまして。初心者ですが質問させてください。

最近この業界に転職して現在PLCの設計をしていますが、
勉強していくのに初心者にもわかりやすいサイトとかないでしょうか?
現在 PLC(MELSEC)←---RS232C--→PC←--GPIB---→LCR
のような構成で設計していますが??ばかりです。
サイトでなくても「これからやれ!」というのがありましたら教えて下さい。
転職前はソフト屋やってたのでVB,JAVAは大丈夫なのですがPLCへの
命令の仕組みがさっぱりです・・・
駄文失礼しました。

11 :デフォルトの名無しさん:2006/09/20(水) 22:45:46
>転職前はソフト屋やってたのでVB,JAVAは大丈夫なのですがPLCへの命令の仕組みがさっぱりです・・・
頭が痛くなってきた┐(´ー`)┌


12 :デフォルトの名無しさん:2006/09/21(木) 20:21:48
>>1

制御系なら俺に聞いてもいいぜ(6)
http://pc8.2ch.net/test/read.cgi/tech/1099574832/

制御系なら俺に聞いてもいいぜ(5)
http://pc8.2ch.net/test/read.cgi/tech/1079102543/


制御系なら俺に聞いてもいいぞ(4)
http://pc2.2ch.net/test/read.cgi/tech/1068869894/


制御系なら俺に聞いてもいいぞ(4) は、下記のサイトから捜索可能

2ch DAT落ちスレ ミラー変換機 ver.4
ttp://www.geocities.jp/mirrorhenkan/

13 :デフォルトの名無しさん:2006/09/23(土) 06:53:55
いつの間にか新スレに移ってたんだな

即死避け age

14 :デフォルトの名無しさん:2006/09/23(土) 13:12:03
>>11
PLCのプログラムは1つの無限ループの中でコード走っているようなものだ
但し、I/Oは無限ループの最後尾または最前列でリフレッシュされるから気をつけろ

15 :デフォルトの名無しさん:2006/09/23(土) 14:20:27
>>14
「PLC"へ"の命令」

PLC(MELSEC)←---RS232C--→PC←--GPIB---→LCR
PLCへの命令=    ↑ここ


16 :デフォルトの名無しさん:2006/09/23(土) 17:37:54
>>10 命令の仕組みがさっぱりです・

PLC なんて馬鹿向けの時代遅れの記述方法。機械設計者でも自分で設計できる
点で優れているだけ。

Java を使いこなすための 1/10 以下の勉強で PLC なぞ使いこなせる。難し
く考えすぎ。PLC の内部にはワンチップ・マイコンがあり、C で記述された
PLC インタープリタが動いているだけ。使うやつに技術力があれば、そのワ
ンチップ・マイコンを直接 C 言語でプログラムして制御したほうが効率的。

要は、コイルと接点があるだけ。コイルに電流を流すと、鉄でできた接点が
引っ張られてスイッチが閉じて、別の電線に電流が流れる。その電線の先に
コイルがあれば同じことが繰り返されるだけ。中学生レベルの知識で理解で
きる。昔は実際のコイルと接点でできてリレー素子を実際に電線で繋いでいた。
今の PLC は、昔の馬鹿でも解る回路をプログラムに使っているだけ。

PLC ぐらいで怖気ずくな。


17 :11:2006/09/23(土) 17:47:17
>>10 の言うのは、>>15 のことかと思ったよ

1)「PLCの設計」って、
@PLC自体の開発における設計
APLCを使ったシステムにおける、PLCのプログラム設計
どっち?

2)「PLCへの命令」
@PCからPLCに対しての命令について
APLCのプログラムにおける命令について
どっち?



18 :デフォルトの名無しさん:2006/09/25(月) 17:31:00
現代制御やら古典制御勉強中の学生ですが、どのように勉強したらいいんですか?
良かったら教えてください。教科書読んでるんですが、それからのステップが全く分からなくて・・・

19 :デフォルトの名無しさん:2006/09/25(月) 18:22:35
それは現場の俺達の方が教えて欲しいくらいだよ

20 :デフォルトの名無しさん:2006/10/03(火) 03:22:42
3MHz動作の8085+8253+8259+8251*4本でuart4.8Kの交通整理やらす箱があるのですが、
8085はもう作られてないから製造の度にアキバで買い集めるらしい。
今の石で同等の基板起こせばいくらでも小さくできるが、ごつい機器の間に配線するので、
小さくしても無意味(配線部だけ相変わらずごつい)。っつか基板起こす手間と\が惜しいらしい。

CPUだけZ80かそれ相当のK80に取り替えたらそのまま動いてくれないでしょうか。
ソフト屋から見たらLSIC80使えるしちょっとした書き直しですむのに、と思えるので。
アドレス割付は、ROM=0-7FFF、RAM=8000-9FFF、8253=F000、8259=F200、
8251=E000,D000,C000,B000 ついでに8255=F400がついてます。この割付見ると、たぶん
アドレス信号の上位をデコードしてチップセレクト出すICが居るようです。

21 :デフォルトの名無しさん:2006/10/03(火) 04:11:25
>>20
8085とZ80は周辺ICの制御の仕方が結構違う。
その辺を吸収するコードをZ80側に用意する気があるなら、
8085→Z80は難しくはないと思う。
後は、Z80の割り込みモードの違いに注意ってところで。

22 :デフォルトの名無しさん:2006/10/03(火) 05:06:33
わを!こんな時間に早レス・・・
85がメモリマップドI/Oの所がZ8だとin/out命令になるのですよね、それは直せます。
割り込みモードについて調べてみました。モード2を使うとベクタが連続になりますね。
8259の設定はベクタが4番地おき、というのを使っていましたから、ここらの相性が問題に
なりそうです。

23 :20:2006/10/03(火) 05:34:43
あれ?8085では8259に「4番地おきにcall命令を発生させる」設定をしておけばよかったのですが
Z80ではcall命令が来たら具合悪いですね。ここはどうするんだろ?
DW ルーチンアドレス、ではなくJP ルーチンを4番地おきに並べておいたら動くかな?

24 :20:2006/10/04(水) 00:58:52
8259はCPUとINTA信号を2回(8086)ないし3回(8085)やりとりする、と8259のデータブックに
書かれています。Z80にはそういう信号は無いみたいですから、8259を使う基板にはZ80は
合わないみたいですね。

2年ぐらい前に安いROMライタのこと聞いたのですが、最近の事情はどうでしょうか?
自分でぐぐったらたくさん引っかかりすぎて結局探せませんでした。

25 :デフォルトの名無しさん:2006/10/04(水) 01:29:51
Z80 の割り込みモードを 0 にすれば 8259A が使えるみたいだよ。
モード2 しか使ったことないから詳しい事は不明。
ってか、回路設計の本は無いのか?

26 :20:2006/10/04(水) 03:13:52
私、2進回路の基礎訓練ゼロなんです。高校文系までだし。だからソフト側からだけの興味で(^^;

>モードを 0 にすれば <--ありがとうございます。モード0のときの動作を調べてみました。
>このモードは、割り込みサイクル中に読み込んだ命令をそのまま実行します。
とありました。これだと8259の出してくるcall XX04おきを実行できて,、
ベクタにもジャンプ命令を置いておけばよさそうですね。

27 :デフォルトの名無しさん:2006/10/04(水) 21:23:49
RST命令ね、1バイト命令で3ビットのベクタを指定できて、
飛ぶ先は0000hから8バイト置きの8個。

28 :20:2006/10/05(木) 04:52:58
RST命令なら知ってますが、それは「ソフトウェア割り込み」ですよね?
外付けuartの8251と外付けタイマの8253が出してくる外部割込みをどう処理するか?
の実装手法を聞いてるところです。
RSTは、「使用頻度の多いサブルーチンコールを1バイトで済ませる」時に有効な手法ですね。

29 :デフォルトの名無しさん:2006/10/05(木) 07:39:21
>8259の出してくるcall XX
もしかしてAm9519?

30 :デフォルトの名無しさん:2006/10/05(木) 10:42:44
あー処で、CPU載せ換えるってことは最低限CPU周りの基板だけは作るんだろうか。
それとも、ワンボードで配線だけで差を吸収するんだろうか。

8251/8253は、割り込み線をZ80PIOのデータに繋いで、1ビットずつ割り込みできるようにしてやれば
Z80流にモード2で割り込み制御できるんだが。

31 :デフォルトの名無しさん:2006/10/05(木) 13:07:57
>>28
>それは「ソフトウェア割り込み」ですよね?
8259の割り込みでバスに乗っかるのはRST命令だよって話だ。


32 :デフォルトの名無しさん:2006/10/05(木) 16:10:59
>>30
どこの貧乏ですか

33 :20:2006/10/05(木) 16:47:26
>>29 その石は知りません。データブックはμPD8259-A2 のです。

>>30 2行目のほうでできないか考えてます。
>8251/8253は、割り込み線をZ80PIOのデータに繋いで、1ビットずつ割り込みできるように
>してやればZ80流にモード2で割り込み制御できるんだが。
デバイス側が「ベクタ番号」をバスに出すようになってないとモード2は使えなくないですか?

>8259の割り込みでバスに乗っかるのはRST命令だよって話だ。
手元のデータブックでは「call命令のopコード(CDh)がデータバスに出力される」となってます。

貧乏もあるのですが、 CADで図面書いて検証して基板屋に出して、っていう一連が面倒
らしいのですよ。それでCPUだけ変えられないかと考えてみたのです。たぶん脚の数は同じ
でもピンの位置なんかの違いのほうが大きくてだめっぽいですね。
「近所の部署が作った基板をパクってuartだけ使う」ほうが現実的かも。

34 :デフォルトの名無しさん:2006/10/05(木) 21:16:54
>データブックはμPD8259-A2 のです
>>8259の割り込みでバスに乗っかるのはRST命令だよって話だ。
>手元のデータブックでは「call命令のopコード(CDh)がデータバスに出力される」となってます。
NECの拡張だな、8259はcall命令は出さない。
RSTが1バイト命令なのは、2バイト目以降のフェッチが不要だからだ。

>CPUだけ変えられないかと考えてみたのです
さすがにそれは無理。あくまでバイナリ上位互換だからね。
フラットパッケージのZ80互換品をのせた8085ピン互換ボードでも作るしかないのでは?


35 :デフォルトの名無しさん:2006/10/06(金) 00:15:22
>>33
8251がベクタ番号を出せないから、Z80PIOに中継させてベクタ番号を出させるんですよ。
今時のZ80互換チップはPIO内蔵しているんじゃないかと思ってね。

36 :20:2006/10/06(金) 06:31:25
>>34 元々の8259はRSTを出すのですね。それは触ったことなかったです。

>>35 ナマのZ80じゃムリっぽいですね。KC80シリーズの、80A12なら、内蔵uart1本のほかに
外付け8本までつなげられます。CPUを選ぶとしたらこれが最適でしょう。タイマとuartだけしか
ついてない所がこの箱の目的にぴったし。内蔵RAMが512しかないので、RAMは必要ですが。
H8の8bitシリーズと性能的には互角に見えますが、お値段はどうなのでしょうね。
ボード起こさなきゃいけなくなったときに私の意見聞いてくれるといいな。

37 :デフォルトの名無しさん:2006/10/06(金) 19:06:42
素直に基板起こし直せないってのがすごくカユイが
そゆ話が出るってことは8085ピン互換小亀基板なんて起こせないよな…
昨今のプロセッサの、I/Oポートに信号配線して、
フルエミュでもいけてしまいそうな気すらする。

F/Wのつくりは難解? 解析済み?
規模的には外部仕様おさえてつくりなおしでもいい感じ。

38 :20:2006/10/07(土) 04:19:30
小亀基板か・・・まさにそんな存在があればいいですね。 F/Wってファームウェアのことですよね?
引き継いだときはASMで5K行のスパゲッティでしたけど、私がCで書き直した後はアプリ部400、
メインループ30、init40、タイマ処理50、uart処理4CH分で350、define集めたヘッダ50、ベクタ部50で、
1K行位です。 uartの交通整理だけ(合流・分流・選択・除外・変換など)なのでかーんたん。
石が変わってもベクタ部とinitをその石用に書き直せばいいようになってます。

CとASMの行数比率2.5ぐらいでしたから、元のASMも平均的な品質だったとは思います。
私が「小さく書く偏執狂」で、平均的なプログラマが書くものの半分になるのがふつうなので。

39 :デフォルトの名無しさん:2006/10/07(土) 04:49:44
だんだん日記になってきてるな。

40 :20:2006/10/07(土) 05:12:31
私のほかにも早起きさんがいますね。この業界、夜型が多いんですが。
元々が差し迫った問題じゃなくて、ちょっと暇になったとき考えてみよう程度でした。
最近止まってたから、景気づけにと思いまして。

41 :デフォルトの名無しさん:2006/10/07(土) 09:26:47
古いシステムを無理に延命するより
今時のマイコンでスクラップ&ビルドした方が結局低コストかつ時間もかからん
気もするけど、どうなんだろう。

つーかその時間は早起きっていうより昼間寝てるヒキ(自主規制

42 :デフォルトの名無しさん:2006/10/07(土) 10:18:19
M16/H8ならコンパイラも制限はあるけど無料だし作り直した方が簡単だわな

43 :20:2006/10/07(土) 15:26:48
いや昼間はふつうに起きて働いたりジム行ったりしてます。寝るのは19:00前後ですが(^o^)

>>41さんのが正論ですよね。お客にもそう奨めます。H8のコンパイラも持ってるし、8〜16bit
ならどの石使われても即座に書き換えできます、とお客には言っておこう。

ところで三菱と日立の石ってキャリーの立ち方が反対だったと思うのですが、合体した時に
三菱のほうが折れたのでしょうか?

44 :デフォルトの名無しさん:2006/10/08(日) 02:01:29
>>41
現場の人間に新しい環境を理解する意志も能力もないので
高コストかけて延命する以外に実現性がない、とか

うちが丁度そんな感じだorz

45 :デフォルトの名無しさん:2006/10/08(日) 04:49:08
私にとっては実装のたびに\15ぐらいもらえるので美味しいんですけど、なんか可哀そうで。

三菱の50747とかいう小さな8bitチップを使ったことがあるのですが、ご丁寧にデータブックの
表紙にジャンボの写真が印刷されていました。(紙のデータブックがあたりまえのいい時代。)
このチップがキャリーの立ち方が反対でした。引き算してマイナスになったときキャリーが0。
デバック中に気づいて、データブック確認して目を疑いましたよ。キャリー判定の箇所を
総ざらいするはめになりました。

46 :デフォルトの名無しさん:2006/10/08(日) 12:05:52
それってSUB命令のときはボローがないときC = 1ってこと?
なんか勘違いでしょ。そんなCPUありえんと思う。
それだとSUBBのときはCは反転してから引き算されるのか?

オーバーフローのフラグと部分的にごっちゃになってるんじゃないか。

47 :デフォルトの名無しさん:2006/10/08(日) 17:41:48
PICもボローが無いときにC=1になるんで悪名が高いな。
はっきり言ってどちらでも構わないし、ゲートをけちったらそうなったん
じゃないの?

>>46になんでそのようなCPUがありえないのか聞いてみたい。

48 :デフォルトの名無しさん:2006/10/08(日) 21:32:42
なんでって書いてあるじゃん
そんな仕様にしたらSUBBの動作が直感に反するでしょ。

49 :デフォルトの名無しさん:2006/10/09(月) 01:31:08
直感に反するけど、そうだったんです。CPU全てでキャリーがどうだというルールはない
ようでした。 もう20年近く昔の話ですが。
その後ソニーの8bitでも似たような命令セット見たことがあります。

50 :デフォルトの名無しさん:2006/10/09(月) 04:11:28
>>49
ンニーの8ビットって、すーはみのAPUに使われてた奴かな?
あれは6502のぱくりだ。

6502の設計はある意味究極なので、知識がないヤシはぜひつまみ食いしてくれたまい。
でも組み込みで6502系を採用したって話はなかなか聞かないなぁ。

51 :デフォルトの名無しさん:2006/10/09(月) 04:16:48
50さんも早起き? 私が見たソニーの石はcが無くてASMしかなかった。あれじゃクミコは大変。

52 :デフォルトの名無しさん:2006/10/09(月) 07:22:03
A-B 命令は (A + 全ビット反転(B) +1) として実現されるので
回路をケチるとボローは 桁借が無い時に1になります。

SUBBの時は(A + 全ビット反転(B) +CY) と実現するので、
これを理解すれば、ボローはキャリーの反転が自然だという事になりますね

53 :デフォルトの名無しさん:2006/10/09(月) 10:04:03
6502がそういう設計ってことは、ARMなんかもそうだったりするのかな?
ARMは6502の子孫って聞いたけど

54 :デフォルトの名無しさん:2006/10/09(月) 10:38:58
i8080は10進補正のために加算か減算かを保存する必要があった。
そのためのロジックがあればボローを反転させるのは簡単だ。

55 :デフォルトの名無しさん:2006/10/09(月) 18:07:10
夕方に、駅前の電線にムクドリの大群がねぐらを求めに来ます。チュンチュン大騒ぎするのですが、
よく見ると連中のやってることはバブルソートですね。 個体間の順位(=ソートキー)があって
ある固体が電線にとまろうとするときに、自分より格下が居ると威嚇して追い払う。追い出された
固体はそのまた格下に対して同様の事を実行する。これが日が暮れるまで続きます。
ピュー太のソートと違うところは、翌朝大量の糞が道路に残って養鶏場の臭いになっている事。
情報処理にもエネルギーを使うのが実感できます。でも彼らの使うエネルギーは、糞は出すが
PCより効率良さそう・・・

56 :デフォルトの名無しさん:2006/10/20(金) 20:35:45
スレ違いならご容赦願います。
「CDドライブっつうのは、こんな原理で動くんですよ」というデモをしたいなと考えています。(普通の人、子供向け)
スピンドルの回転、ピックアップの前後移動、レーザーのOn/Offあたりを、実際に見せられたらなと思ってます。
必要な物品と技術的なハードルについて、御教示頂けないでしょうか?

もし、自作プログラムでATAPIなんかのコマンドを送ることで自由にドライブが制御できれば、話は簡単なのでしょう。
ですが、そもそもこんな低レベルの動作を、インターフェース(SCSI/ATAPI/USB)から制御できるのでしょうか?
トレイの開閉やデータ読み込みくらいの実例はWebにもあるのですが、メディアも不要なこんな動作については見つかりませんでした。

学ぶべき事柄や書籍などありましたら、ヒントだけでも構いませんので教えて頂けないでしょうか?

57 :デフォルトの名無しさん:2006/10/20(金) 20:41:34
>>56
透明ディスクでよさげと思う

58 :デフォルトの名無しさん:2006/10/20(金) 22:33:58
最適制御のフィードバック量が
inv(R)B'Px
になるワケを教えて下さい。
お願いします。

59 :デフォルトの名無しさん:2006/10/21(土) 10:45:39
えっと、光ピックアップのレーザーって直視しても大丈夫だっけ?

60 :デフォルトの名無しさん:2006/10/21(土) 22:32:56
>>59
光量による、、、、、が

常識的に考えて、そんなわけ無いだろう

61 :デフォルトの名無しさん:2006/10/21(土) 23:44:07
CDケースに "CAUTION" って黄色い注意書きが貼ってあるでしょ?
"恥ずかしいからじっと見つめないでね。 はぁと" って書いてあるよ。

62 :デフォルトの名無しさん:2006/10/21(土) 23:53:03
レーザー機器のクラス分け
ttp://www.sunagaimpulse.com/Syozai/Lasersite/Laserclass.html


63 :デフォルトの名無しさん:2006/10/21(土) 23:54:53
だからそれをよい子のみんなに見せようって人がいるわけだけど。。

もちろん「見られる」角度に配慮すれば光線を直視することは回避できるだろうが、
レーザーって反射光でもまずい場合もあるよね確か。

64 :デフォルトの名無しさん:2006/10/22(日) 00:09:55
トイレにドアがあるのに、わざわざ全開にしてウンコするようなもんか?
しかも便器を洋式から和式に替えて・・・

65 :56:2006/10/22(日) 03:30:08
みなさまご返事どうもありがとうございます。
>>57
たしかにそうですね。ちょいと用意してみることにします。

>>59-64
直視(のぞきこみ)は避けねばなりませんが、紙に当てて
光ってるのを見る程度ならば問題ないと思います。
さらには、低出力でも見えやすいDVD用のレーザーを使う工夫も必要でしょう。

66 :デフォルトの名無しさん:2006/10/22(日) 10:01:29
10倍ぐらいに拡大した模型作って、サーボコントローラ+シーケンサーでやればそう難しくないだろ。


67 :デフォルトの名無しさん:2006/10/22(日) 10:03:47
本来の質問の回答は誰もないね。
まあこの業界(どもこそうかもしれんが)俺も含めて低レベルな奴が9割だからねえw

とりあえずこんなの見つけたけど。
いやまあググればすぐでてくるようだから、既に知ってるかもしれないが。。
http://itdesign.jp/cdromp/index.htm

これでとりあえず実現可能か試して、それから自分でATAPIのプログラミングについて
勉強するって手順でどうかなあ。
ATAPIに関してはCQからムックが出てるようだけど、あのシリーズって内容あてにならんことが
多いからなあ。

68 :デフォルトの名無しさん:2006/10/23(月) 07:51:57
>>58
その RとかB'とか inv() とかが、何なのか定義してみて

69 :デフォルトの名無しさん:2006/10/24(火) 22:00:11
inv(R) はRの逆行列。
B' はBの転置行列。
Q, R は単なる重み。

xの微分値がAx+Buの形で表される線形システムで、評価関数∫(x'Qx + u'Ru)が小さくなる制御入力uは

u = -(Rの逆行列 * Bの転置行列 * P * x)
で与えられる。
ただしPは次のリカッチ方程式(省略)を満たす解とする

と本に書いてあるんですが、入門書のためかその式の証明がありません。
リカッチ式あたりをいじって変形してやれば出てくるんですか?

70 :デフォルトの名無しさん:2006/10/25(水) 04:14:16
うわあああ!数式見るとジンマシンが・・・ それは、例えば何かを安定化させる制御とかそういうの
に使うの? アームの位置が目的のとこでぴたりと止まる、とか。
この業界だったら、使えるって判ってる式は証明のとこは飛ばして使っちゃうからなあ。

71 :デフォルトの名無しさん:2006/10/25(水) 09:10:47
>>69
ここは制御系プログラミングのスレで制御理論のスレではないからね。
板違いだから帰れとは言わないけど、答えられる人は少ないかも。

で、ググって見た、
ttp://ysserve.int-univ.com/Lecture/ControlMecha2/node27.html
ここの(2.402)式が少し形が違うけど>>58の式。導き方はその上に書い
てあるから読めば分かるんじゃない。漏れは分からなかったけどw

72 :デフォルトの名無しさん:2006/10/25(水) 20:53:20
そうか、プログラミングのスレでしたか。
ググったら「聞いてもいいぜ」なんて出てきたんで、早速聞いてみたんですが、
その前に、どのカテゴリのスレから確認すべきでした。
どう考えても数学系ですね。。
ありがとうございました。

73 :デフォルトの名無しさん:2006/10/25(水) 22:11:38
いや、本来「制御」ってカテゴリーは制御理論を使うような分野のことを
差すんだろうとは思うんだけどね。

リミットスイッチだのタリーだのポーリングしてチマチマやるようなのは
制御なんていうのはおこがましいよねw

74 :デフォルトの名無しさん:2006/10/26(木) 05:36:46
大昔はクミコ系って言ってたよね。そっちのが実情には合ってるかも。

75 :デフォルトの名無しさん:2006/10/26(木) 21:27:09
何で俺の妻の名前が久美子だって知ってるんだ。

76 :デフォルトの名無しさん:2006/10/31(火) 00:34:01
収束していないステップ応答出力から
伝達関数を1次遅れ系に近似して導出する方法ってありますか?

77 :デフォルトの名無しさん:2006/10/31(火) 08:20:52
1次遅れなら、1つ前の値との比率だけで求まりそうなものだが?
俺、なんか勘違いしてるのかな?

78 :デフォルトの名無しさん:2006/11/08(水) 06:10:44
3MHzの8085のお仕事、まとめて6本キター------- 1,2週は楽しめそう・・・

79 :デフォルトの名無しさん:2006/11/11(土) 05:18:01
続けてまた2本キター。まあ、大して\にはならないんだけど、チッチャイプログラムひねくる遊びとしては
面白いんだよね。大昔はbit誌のナノピコ教室とか好きだったし。
この石でsin/cos出してくれ、って言われたときはちょっとあせった。

80 :デフォルトの名無しさん:2006/11/11(土) 07:58:33
私ゃテーブル作ったよ。
#お蔭で、sqrtよりsin/cosの方が速い罠。

81 :79:2006/11/11(土) 13:00:20
>>80 私もそうです。1度単位で出ればいいので[360]のテーブルですんだ。
ルートはどうしたんですか?

82 :デフォルトの名無しさん:2006/11/11(土) 13:53:37
どうせ実数のライブラリ使うなら素直にライブラリの関数使えばいいのに。。
ひょっとして俺様定義の実数をアセで使ってるとか?
それならそんなことよりごく普通に10進の文字列との相互変換とか、
そのあたりの方が余程難しい気がするんだが。

っていうか三角関数ってテーブルを素直に参照するだけのやり方でも
pi/2まであれば十分なはずだけど。

83 :80:2006/11/11(土) 15:21:14
>>81
あー、テーブルのエントリー数は0-90度を100個にしてたかな。だから厳密には度じゃなくて0-100グラジアン。
奇数で順番に引く方法で計算してた。16ビット整数だと高々256回回るだけだから。

>>82
そんな贅沢なものを使えるほど余裕がないときもあったのよ。
んで、10進16進変換辺りは10進補正命令も駆使して作った記憶がある。

84 :デフォルトの名無しさん:2006/11/11(土) 15:29:19
なんだやっぱり知ったかか。
unit やintじゃないんだから単純にBCDに変換なんてできるわけないじゃんw
それともint + decimal pointなんていう効率の悪いことしてるのかな。

85 :80:2006/11/11(土) 15:39:34
おや、誰か浮動小数点数を扱っていると申し上げましたでしょうか。

86 :デフォルトの名無しさん:2006/11/11(土) 16:14:01
ああ固定小数点って奴ね。
それなら確かに。

しかしそれじゃ利用範囲はかなり限定されそう。

87 :デフォルトの名無しさん:2006/11/11(土) 22:21:11
8085使うようなシステムの三角関数に汎用性や精度を求める奇特な人が居るな

88 :デフォルトの名無しさん:2006/11/12(日) 02:53:02
汎用性や精度は求めてもいいんじゃね?

速度とか実用性はしらね

89 :デフォルトの名無しさん:2006/11/12(日) 03:01:56
私,現代制御理論を勉強してるんだけど,学校で指定されてる教科書は,

「システム制御理論入門」(実教出版)なんだけど,

わけわからなくなって,新たに奨められた参考書

「現代制御論」(吉川井村)(昭晃堂)

買ったんだけど余計わからなくなって,問題解ければいいやと思って,

「演習で学ぶ現代制御理論」(森)

を買って確かにかなりわかりやすかったけどうちの先生数学チック
(Lyapunov方程式でA^TP+PA=-CC^Tにおける唯一解Pの存在条件出せとか)
なのが好きなんだよね.こんなかんじの現代制御で数学チックでわかりやすい問題集無いかな><
どなたか迷える私にご教授ください(汗

90 :デフォルトの名無しさん:2006/11/12(日) 03:23:49
>>89
ここが何の板だか分かった上での質問か?

91 :89:2006/11/12(日) 03:30:17
もしや板を間違えましたか?すみません.違うところに行きます.
不機嫌にさせてしまい申し訳ございませんでした!

92 :79:2006/11/12(日) 05:32:31
>>82の >pi/2まででいい、ってのは知ってます。ただ範囲によって符号をひっくり返したりする
のがめんどうなので、ROMが余裕あるかぎり1周分用意しちゃいます。

>>83 がsqrtの説明なんですか?頭悪いんでもうちょっとくだいてくれると嬉しい。

>>88 汎用性はゼロでいいです。精度は16〜32bit整数で計算できるように押さえます。
ex) 16bitのsin/cosなら±1.0の間だから、符号1bit 整数部1bit 小数部14bitで充分な精度。
速度と実用性こそまさに求められることです。なにせ3MHz(^o^) 今どき8bitの石でも20MHzなのに

93 :デフォルトの名無しさん:2006/11/12(日) 07:10:05
制御系でも javaで組むことって可能なの?
もし組めたとしても、リアルタイム性は確保できるのだろうか?

94 :デフォルトの名無しさん:2006/11/12(日) 10:30:57
WEPキーをしりたいんですけど、パソコンのどこを調べたらいいんですか?

95 :デフォルトの名無しさん:2006/11/12(日) 11:57:54
制御系はC++ですらサブセットしかないのにJavaが乗るわけないだろ

96 :デフォルトの名無しさん:2006/11/12(日) 14:22:33
PLCって制御系?

97 :デフォルトの名無しさん:2006/11/12(日) 17:10:15
リレーの制御を書くような奴? ちょっとスレチかな。 いちおうマイコンのプログラムまでと
おもってる。

98 :デフォルトの名無しさん:2006/11/12(日) 17:20:13
でも組み込み用のJavaってあるよな

99 :デフォルトの名無しさん:2006/11/12(日) 19:37:53
>>93
リアルタイムなところははサブCPUに任せて

100 :80:2006/11/12(日) 20:36:48
おっ、やっと荒らし規制明けた。
まぁ、私が扱ってたのは2バイト整数とその派生の固定小数点数だから。

>>92
今更ソースはないし、説明も面倒なんでCで書いてみた。
int main(int argc, char ** argv)
{
int x = atoi(argv[1]);
int xn;
int r;
for (r = 1, xn = x; xn > 0; r += 2) {
xn -= r;
}
r >>= 1;
if (xn < 0) {// 切り上げなら不要
if (r * r - r >= x) --r;// 切り捨てなら不要
}
printf("%d:%d\n", x, r);
return 0;
}
四捨五入しなくていいなら掛け算も使わないのが味噌屋根。


101 :デフォルトの名無しさん:2006/11/13(月) 02:07:12
>>98
RTOSの上にJavaタスクが乗ってるって奴じゃ?
たとえばJBlendだとITRONの上にJavaタスクが乗ってる
リアルタイム処理はITRON、リッチな処理はJavaでやる

102 :デフォルトの名無しさん:2006/11/13(月) 05:01:20
>>100 ありがとうございます。筆算で開くやり方と似たやり方に見えますね。メモメモ・・・と

ITRONを130MHzぐらいのSHで使ってみたけど、mSオーダーのリアル性はダメダメでした。
いいとこ10mSオーダーまでかな。MSECを1にしたら重くなるし。

103 :102:2006/11/13(月) 05:10:55
以前、ringバッファの滞留数をwp,rpから計算する手法をここで聞いたし、石選択の相談もしたし、
2chで仕事の役に立つネタを拾う俺って・・・まあ、頭悪いんだからしょ〜がない\(^o^)/

104 :デフォルトの名無しさん:2006/11/13(月) 05:48:42
>>98
ジャズルジャズル

105 :デフォルトの名無しさん:2006/11/13(月) 11:38:03
>>100 奇数を加算した回数が n^2になるという方法だね。
簡単だけど、大きい数で時間がかかりすぎるかもね

16bitなら sqrtの結果は8bitに収まるんで
x^2のテーブル作ってバイナリ検索も簡単で、ソコソコ早いよ

106 :デフォルトの名無しさん:2006/11/13(月) 15:38:10
テーブルに何入れとくんですか?
あ、0,1,4,9,・・・(255)^2を入れといて当たりの位置がルートですね?
これだと256個のテーブルの2分検索だから高々8回のループでよい、ということですか?

固定少数点で16bit求めようと思うともっと大変ですよね?

107 :デフォルトの名無しさん:2006/11/13(月) 17:03:05
頭悪いんだからしょ〜がないっても、そんなことまで聞くほど馬鹿だとは思わなかった。

108 :デフォルトの名無しさん:2006/11/13(月) 20:45:09
>>106
入力が32bitの場合の事?
掛け算が使えるならニュートン法が一番高速と思うけど
掛け算使えないなら、

 (a+2^n)^2= a^2 + 2^(n+1)*a +2^2n

を使って処理するといいよ。

 n=0の時はこの式は  (a+1)^2= a^2 + 2*a +1 で
 a^2に 2a+1を加算すれば(a+1)^2になる事を意味してる=奇数を加算すればいい

具体的には、 aとa2 の2つの変数を最初0から、n=15から スタートして
入力値Xと a2 とを比較しては
   a2=a2 + 2^(n+1)*a +2^2n ; a=a+(2^n) ;
 と更新してゆくわけ

109 :106:2006/11/14(火) 09:04:06
16bitでS4.11(上5bitがsignと整数部、下11bitが小数部)みたいな約束で、同じ精度でsqrtを
求めたいときでも、そのアルゴリズムは使えますか?sin/cosなんか±1.0の間だからS4.11
みたいな16bitで持ってたので、そのオーダーの数値で少数点つきで扱うときに使えるといいなと。
アルゴリズム辞典みると、実数についてしか書かれてなくて、応用の仕方がわかりません。

110 :デフォルトの名無しさん:2006/11/14(火) 09:35:07
それならニュートン法で。

111 :デフォルトの名無しさん:2006/11/14(火) 09:57:40
>>109
nは負数でも式の形は同じなので使える事は使えるよ
ただシフト方向が逆になるのでメンドクサイが

掛け算が使えるなら、2ビット単位に見て初期値を決めてニュートン法が一番早い
掛け算が使えないならこの筆算法がまあ我慢出来る範囲だと思うよ

112 :106:2006/11/15(水) 06:06:54
いろいろありがとうございます。四則演算しかできないヘタレなので、助かります。

113 :デフォルトの名無しさん:2006/11/15(水) 11:06:34
a =0
a2=0
n =2
a2d=a2 + 2^(n+1)*a +2^2n = 16( 実際には16<<11) と最初は比較して
  それ以上なら a2=a2d , a=a+2^n
次にn=1,n=0で同じ事を繰り返して nが-11になるまで繰り返す
  途中 aのシフト方向が反対になる

だからループで処理するより ループを展開して
書いた方がいいと思うよ

114 :デフォルトの名無しさん:2006/11/25(土) 06:15:01
いつもの3MHzの8085の人です。入力が数十秒切れ目無く続くとき、出力にring上書きのような
バグが出て困ってます。入力はヘッダ文字〜<CR>で切り出してstrcpyで保存、タイマで数秒
ごとにそこから出力するようにしてるので、処理が間に合わない的なことはないはずなのですが
正体が判ったらネタ書きますね。

115 :デフォルトの名無しさん:2006/11/27(月) 00:13:24
>>114
単純に入力のバッファ溢れだったりしてな

116 :114:2006/11/27(月) 04:20:15
ああ、それか(*o*) 入力ringで上書きが起きたら、そこから読み出すタスクは変なフレームは
捨てると思ってましたけど、ヘッダを検出後、蓄積状態になってから入力ringに上書きが
起きたらそうなりますね。頭ABC,123,・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・<CR><LF>
                       ↑この辺に別の頭CDE・・・がかぶったりします。
入力taskでちょっと重い処理=整数変換のsscanfとsprintfをやってたとき出ました。
タイマ処理で減算するタイマの種類も増えたし。 以前出力ringで上書きが起きて、そのときは
ringが置かれるアドレスによって出たり出なかったりしたことがあり、そっちに頭が行ってました。

117 :114:2006/11/27(月) 04:40:40
軽くする対策としては、こんなのが効き目がありそうです。
・入力処理では数値計算はやらない。→strcpy程度なら間に合うだろう。
・変換/編集は出力のときにやる=数秒に1回でいい。
・変換/編集の間に上書きがおきないよう、入力ringのサイズを増やす。

>>115さん、ありがとうございます。また2chが仕事に役立ってしまった\(^o^)/

118 :デフォルトの名無しさん:2006/11/27(月) 04:57:00
>>117
人が助けてくれたんだよ
役に立つとは何事か?

119 :114:2006/11/27(月) 05:42:59
ごめんなさい。言葉が悪かったですね。
>>115さん、ありがとうございます。また2chで助けてもらっちゃいました\(^o^)/

120 :114:2006/11/27(月) 05:43:58
この業界って夜型が多いイメージがあるんですが、私以外にも早起きさんがいるんですね。

121 :デフォルトの名無しさん:2006/11/27(月) 07:38:33
徹夜だったりして

122 :デフォルトの名無しさん:2006/11/28(火) 04:55:39
でも、月曜の明け方・・・って、日曜から徹夜?ウヒャー

123 :115:2006/11/29(水) 00:48:27
まぁ、そのぐらいの言葉遣いはどうでもいいが、、、、

ネタで初歩的なミス書いたのに、そのものズバリかよ。。。。。。。。

124 :デフォルトの名無しさん:2006/11/29(水) 08:10:05
技術者同士だから当然だと思って説明に書かなかったような事でトラブルって良くあるよ

多重割り込がかかるとだけ書いたら、スタックが2度使われてると文句が出たり
帰還の入ったデジタルフィルターを低い周波数に設定したらノイズが出るって文句が出たり


125 :114:2006/11/30(木) 05:38:26
確認してきました〜、そのものズバリでした。入力時に数十ミリ毎に乗除算をするともうダメ。
>>117の対処でバッチリでした。あらためて、>>115さん、ありがとうございます。
この手のソフト、20回近く作ってるのに、ありとあらゆるミスをくり返してます。トホホ・・・

126 :デフォルトの名無しさん:2006/11/30(木) 08:15:25
まるで漏れが面倒見る羽目になりそうなプロジェクトのようだな。

127 :デフォルトの名無しさん:2006/11/30(木) 12:25:39
なんていうか、むしろ>>114みたいな意味不明の文章を解読できる人間が
本人以外に存在するってことが驚きだよ

128 :デフォルトの名無しさん:2006/12/01(金) 00:26:32
>>127
「CPUがおかしい」とか「ライブラリのバグ」とか「コンパイラのバグ」って
言う奴の報告なんて大抵あんなもんだろ

129 :デフォルトの名無しさん:2006/12/01(金) 03:42:41
>>127 前スレあたりで、「3MHzの8085Aを使ってuartの入出力をやってます。ROMはxxxx、
RAMはこの位・・・」とかシステムの概要は説明されてるので、それ読んでる人にはそんなに
意味不明でもないな。同業だし。unix系とかcobol系の人には意味不明かも。

130 :デフォルトの名無しさん:2006/12/01(金) 05:51:37
前スレ見てきたがもう1年経ってるんだな
1年やっててそのレベルか・・・

131 :デフォルトの名無しさん:2006/12/01(金) 12:08:00
この程度の規模だと、大体そういうミスをやらかすんだよな
俺も最近、出力が止まるミスをやらかしたが、
割り込みで出力して出力中フラグを立てて、
次の割り込みで出すデータが無くなったらそれを倒す、って作ったら
割り込み内で処理が終了する場合があって、
そのときにフラグが永久にたったままに…

132 :141:2006/12/01(金) 17:29:27
ナカーマ!・・・でも私なんかと仲良くしたくないよね。バカが伝染る(^o^)

133 :デフォルトの名無しさん:2006/12/01(金) 18:12:02
確かに数字を間違えるようじゃ制御系では致命的だからな。

134 :114:2006/12/02(土) 02:19:26
あちゃ〜(*o*) こないだも1と2見間違えて動かないのに3hはまった・・・ディスプレイのせいにしよ

135 :デフォルトの名無しさん:2006/12/02(土) 11:29:26
だから即値を使うなとあれほど

136 :デフォルトの名無しさん:2006/12/02(土) 11:55:59
即値とマジックナンバーは違うでしょw

137 :デフォルトの名無しさん:2006/12/02(土) 13:56:03
いや、#defineの名前じゃなくて関数名にch1puts()とch2puts()ってつけて、引数も同じだし。
隣のCHに出してた・・・orz

138 :デフォルトの名無しさん:2006/12/02(土) 22:11:17
>>137
だから、共通化して引数でCH指定しろと何度(ry

139 :デフォルトの名無しさん:2006/12/03(日) 00:30:05
結局1と2の間違いはどこまでも付きまとう予感。

140 :137:2006/12/03(日) 04:37:45
>>138 昔、G.J.マイヤーズの「複合設計」という本に感銘を受けて、「制御結合イクナイ」が
刷り込まれてるのですよ。この場合だと、呼ぶほう puts(1,"abc\r\n"); 呼ばれるほう
void puts(int ch, char* str) {
   if( ch==1 ) ch1のringへ出力
   elseif( ch==2 ) ch2のringへ出力
   elseif( ch==3 ) ch3の・・・     なんて感じになりますよね。 この1つ目の引数は
マイヤーズの言う「制御パラメータ」で、オーバーヘッドです。呼ぶとこでは1/2のどちらに出すか
判っているのだから、それぞれの機能の入り口があればそこを呼べばいい、という考えです。

でも、Win系に慣れてる今の人はこういうののほうが違和感あるみたいです。会社で書かれる
コードの殆どはchを引数に持ちますね。「それムダじゃん」って突っついても「これが標準化
だから」で終わり。 まあ、今のPG環境には「不足」よりは「過剰」がトレンドですからねえ。
こういう人たちに3MHzの石使わせると「動かねエ・性能出ねエ・石ダメじゃん」は必至。

141 :137:2006/12/03(日) 04:47:18
で、139さんの言うとおりなんです。今の画面は10年前のイイヤマの15吋なんですが、縁ばかり
デカくて、点々が荒い。客の会社であたりまえに使われてるDELLの17吋がキレイで夢みたい。
1と2の入口名をchONEputs()、chTWOputsとでもしないと、このディスプレイでは、またやりそう。

142 :デフォルトの名無しさん:2006/12/03(日) 12:29:59
>>137
あんたも同僚さんも教条主義的に物事考えすぎなんじゃないの?
その方法がよいか悪いかを判断する基準を、あんたの現場を知りもしない
どこかの学者さんとかに任せるの?w

プログラムは問題解決の手段なんだから、判断基準は、どちらがその問題を解決するにあたって
適合的かどうかでしょう。

まあそうはいっても、「特別の理由がない限りは」引数でChannelを指定する方法を
採用すべきだろうね。理由は、

(0) コードの直観性に関しては、呼び出すその部分だけ見ればどちらも大差ない。

(1) 余程頻繁に呼び出されるのでもない限り、Chによる処理の分岐程度のオーバヘッドは
大昔のマイコンのような貧弱な環境でも問題にならないはず。

(2) 指定するチャンネルを動的に変化させる必要がある場合、>>137式のコードの場合、
呼び出し元の数だけ呼び出し先を選択する余分なコードが必要になる上、
そのコードを読む者に「こんな冗長なことをあえてしているのには何か特別な理由があるのか?」
と余計な詮索を強いることになる。

143 :デフォルトの名無しさん:2006/12/03(日) 15:23:21
そもそも数字を間違う時点でお察しなのはおいとくとして。

保守性を考えればどちらにすべきか一目瞭然ではないかと。
仮に性能が出ないというのであれば、それを実測した後に対処すればいいとおもうが。

144 :デフォルトの名無しさん:2006/12/03(日) 15:56:53
だいたい>142-143のいうとおりなんだが、付け加えるなら
Ch1とか2とか抽象化している時点で>137の考えは破綻しているような。

145 :137:2006/12/03(日) 16:14:35
ども。こんなアホの相手してくださって嬉しいです。そうですね、保守性の点では他の大多数の
PGが見ることを考えて標準的な書き方にしといたほうがいいですね。いつか誰かが読んだとき
(2)みたいなことで頭ひねらせたらすまないですもんね。割り込み処理がCH分あるのは
しょうがないとして、タスク側のインターフェースはスキーリしますね。
箇条書きの項番が(0)から、ってのが、さすがクミコ屋さん。

146 :デフォルトの名無しさん:2006/12/04(月) 08:10:03
まあch1/ch2なんて名前じゃなくて Main/Subとかの方がいいだろな
1を使うか2を使うかは#define で切り替えればいいのだから

147 :デフォルトの名無しさん:2006/12/04(月) 10:29:33
ch3は何と名付けようかね

148 :デフォルトの名無しさん:2006/12/04(月) 10:33:11
Main/Sub/Sub2/Sub3・・・

149 :デフォルトの名無しさん:2006/12/04(月) 12:55:03
primary
secondary
tertiary

150 :137:2006/12/04(月) 16:01:27
CHは4つあって、お客はA-CH、B-CH、C-CH、D-CHと言ってます。
メイン/サブだと、なんか主に使うCHとついでに使うCHみたいに感じますね。
実際はどれも並列で、使うときにどの装置とつなげるか適当に決めます。

151 :デフォルトの名無しさん:2006/12/05(火) 07:31:30
それならforループで回せるように 引数にch番号を入れるのは悪くないね


152 :デフォルトの名無しさん:2006/12/05(火) 17:47:03
SH-2について教えて下さい。今、HEWを使いCソースを書いていたのですが、
   PE.DR.BIT.B0 = 1;
のC言語ソースが
   MOV.W  L11,R6
   MOV.B  @(1,R6),R0
   OR       #1,R0
   MOV.B  R0,@(1,R6)
L11:
   .DATA.W     H'83A0
のようにコンパイルされます。

別の割り込みで、例えば「PE.DR.BIT.B3 = 1」の様な操作をしたいのですが、
これだと、OR  #1,R0の辺りで割り込まれると、割り込み先での「PE.DR.BIT.B3 = 1」が無効になります。
(Read-Modify-Writeの途中で、割り込みが発生した場合)
タイミング悪く、PE.DR.BIT.B3 = 1を無効にしない為には、どのようにすれば良いでしょうか?

153 :152:2006/12/05(火) 17:48:04
あと、マニュアル見ると
OR.B  #imm,@(R0, GBR)
というのがあるんですが、これを使ってくれないのは何でなんでしょう?

154 :デフォルトの名無しさん:2006/12/05(火) 22:11:03

その  OR.B #imm,@(R0, GBR) を #pragma inline_asm で使うか
その前後で割り込み禁止許可したらいいんじゃないの?

今 SHの環境は削除してるから C言語でもっと巧く出来るのかもしれないが

155 :152:2006/12/06(水) 00:26:52
ありがとうございました
H8/300では1命令で出来たので、苦労無かったのですが・・・
割り込みを禁止許可を前後に入れる方向でやってみます

156 :デフォルトの名無しさん:2006/12/06(水) 04:42:42
300ならDI/EIでいいけど、SHだと割り込み許可レベルの変更になりますよね。
それだと全種類の割込みを止めてしまう。それよりはPEDRを使うことが判っているデバイス
(uartとかDMAとか)の制御レジスタの割込み許可bitを禁止する手法のほうが、
巻き添えを食う処理が少なくてベターだとおもいます。

157 :デフォルトの名無しさん:2006/12/06(水) 11:18:04
  STC  GBR,@-R15 ;スタックにGBRを保存して
MOV.W L11,R0
add
OR #1,@(R0,GBR)



158 :デフォルトの名無しさん:2006/12/06(水) 11:28:03
ゴメン 編集途中で書いた

#pragma inline_asm(setHoge)
static void setHoge(void)
{
   STC  GBR,@-R15 ;スタックにGBRを保存して
  MOV.L L11,R0
   LDC R0,GBR ;
   MOV    #1,R0
   OR.B      #1,@(R0,GBR)
   LDC     @R15+,GBR
}

こんな感じでいいんじゃないの?

159 :デフォルトの名無しさん:2006/12/06(水) 12:33:30
関係ないけどH8のアセンブラって使いにくいよね。
どこの馬鹿が考えたのかと思う。

シンボルの再定義もできないんじゃ、ルーチン内でレジスタにシンボル割り当てて
高級言語のローカル変数みたいな使い方することができないじゃん。

160 :デフォルトの名無しさん:2006/12/06(水) 14:01:02
H8はもうCで書くのが定着しちゃったから、インラインで書く程度では?

H8/M16 あたりから上はC言語でしょ?

161 :デフォルトの名無しさん:2006/12/07(木) 05:57:35
H8は最初からコンパイラありきで開発されましたからねえ。アセンブラはPGに使わせるため
というよりは、cの最終フェーズのためにだけ作られたと考えたほうがいいでしょう。
ANSI にないbit代入の書式までcで書けるし。ベクタ部もcで書けるし。
でも sfr.1 = (判定式)? 1:0; みたいな書き方するとコンパイラがバグったな。

162 :デフォルトの名無しさん:2006/12/22(金) 03:12:23
いつもの3MHzの8085の人です。プリンストンの19インチWというディスプレイに変えました。
文字くっきりでとても快適です。1と2見間違える対策にはこれがいちばんみたいです。
DOS窓でLSIC80走らせるだけにしてはえらくオーバースペックですけど。

163 :デフォルトの名無しさん:2006/12/27(水) 21:59:42
フォトセンサーは何ボルトぐらいの振幅が出ますか?

164 :デフォルトの名無しさん:2006/12/27(水) 23:51:38
1万ボルトくらい

165 :デフォルトの名無しさん:2006/12/28(木) 21:57:34
一般論で言えば4Vか、11Vか、23Vか、47Vか、全くでないか、煙が出る

166 :デフォルトの名無しさん:2006/12/28(木) 22:41:50
電気はな、触って骨が透けて見えるくらいが丁度いいんだ

167 :困ったさん:2007/01/08(月) 23:16:00
やってもらいたい問題があるんですがお願いします!
連続系の制御と離散系の制御の本質的な違いって説明せよ。

168 :デフォルトの名無しさん:2007/01/08(月) 23:38:50
連続系がアウトランだとすると、離散系はパワードリフト

169 :困ったさん:2007/01/08(月) 23:42:18
回答ありがとうございます。
知識まったくないんでわかりやすく説明してもらえませんか?(>ω<)

170 :デフォルトの名無しさん:2007/01/08(月) 23:59:37
知識無いなら単位は諦めて勉強し直せ

171 :困ったさん:2007/01/09(火) 00:22:52
俺に聞いてもいいぜとか書いてあったから聞いたんですが。

172 :デフォルトの名無しさん:2007/01/09(火) 00:32:23
聞くのは勝手だが、スレもロクに読まない教えて君に答えるのは馬鹿馬鹿しい。


173 :困ったさん:2007/01/09(火) 00:37:41
はいはい

174 :デフォルトの名無しさん:2007/01/09(火) 00:57:06
馬鹿が名乗ってるおかげでNG登録しやすいぜ

175 :デフォルトの名無しさん:2007/01/09(火) 01:14:27
連続系がアフターバーナーUだとすると、離散系はG-LOC

176 :デフォルトの名無しさん:2007/01/09(火) 14:15:16
x = √(12+√(12+√(12+√(12+√(12+・・・     ・・・)))
xの値は?


177 :デフォルトの名無しさん:2007/01/09(火) 17:24:51


178 :デフォルトの名無しさん:2007/01/09(火) 22:32:42
>>176
-3, 4
制御系と何か関係あるの?

179 :178:2007/01/09(火) 22:33:23
あ、-3は違うかw

180 :デフォルトの名無しさん:2007/01/19(金) 07:41:51
いつもの3MHzの8085の人です。ディスプレイを替えてから4システムほど作りました。
edit間違いは目に見えて減りました。不具合は「タイムアウトはこの位で」の辺りで、
これはつながる相手次第で現場合わせ的なとこがあるのでしょうがないかな。

DOS窓でmake実行するとトコトコ流れずに一瞬で終わってしまうのがなんか虚しい・・・

181 :デフォルトの名無しさん:2007/01/20(土) 13:14:53
【ネガティブ派遣根性チェック】

3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。

□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われている
□自社に仕事を持ち帰れるように言われるとムカつく
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにする
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなく自分のプライベートについても指示して欲しい
□自分の月額金額を知らない
□派遣先社員より自分の生涯収入が低いのは当然だ
□派遣先に尻尾を振り、いつまでも派遣を続けることが大切だ

182 :デフォルトの名無しさん:2007/01/24(水) 02:26:59
俺、頭悪いけど派遣やったことないからこのチェックリストは当たらないな。チョトヨカッタ

183 :デフォルトの名無しさん:2007/01/31(水) 03:12:43
LSIC80で、82h、'D'・・・をuartに出そうとして、"\x82Dxxx"という文字列を書いたら、\x82Dは
2Dhという文字になってしまうんですね。"\x82Txxx"という文字列では82hの次に'T'が出るのに。
Dが16進数だからというのは判るのですが、こういう場合どのような表記にすればいいのでしょう?

184 :デフォルトの名無しさん:2007/01/31(水) 03:42:29
>>183
LSICは
"\x82""Dxxx"
の記法は通るのかな?
通らないなら、\x82とDxxxでリテラルを分けて順次出力するなり、
プログラム側でくっつけてから一気に出力するなり。

185 :デフォルトの名無しさん:2007/01/31(水) 04:42:32
わを!早起きさんありがとう。対処は"\x82""Dxxx"の記法で、できました。
その後K&Rなんか見たのですが、\xhhで1文字になる、となってました。
コンパイラのバグか、仕様か、微妙なとこを踏んづけたなあと思いました。

186 :デフォルトの名無しさん:2007/01/31(水) 07:57:08
仕様です。
\xのあと、16進数と見做せる文字が4文字までは数値化されるはずです。
>183の例では、0x82Dと解釈され、文字列中のために上位が捨てられて0x2dとなったのでしょう。

187 :183:2007/01/31(水) 13:44:48
なるほど。その>4文字まで、ってとこが明記されてるのを見たことないなあ・・・K&Rにも。
その辺は各コンパイラの「実装にまかせる」になってるのではないでしょうか。
183の場合ですが、\x82D0・・・だったので、4文字までならD0になりそうなものですが、
2Dhの後'0'でしたから。

188 :デフォルトの名無しさん:2007/01/31(水) 15:24:08
トライグラフって3文字だからトライじゃなくて
実装系によるのか?

\x082D0では?


189 :183:2007/01/31(水) 16:10:01
K&R第2版に載っているトライグラフ系列とは、??の後の「=/'()!<>-」で「#\^[]|{}~」を表現させる
ことらしいです。¥xhhについては、何文字にしろとは書いてなかったです。

190 :183:2007/02/01(木) 00:40:26
\x082D0・・・と書いたら82hと'D'、'0'・・・になりました。
\x0082D0・・・と書いたら08hと'2'、'D'・・・になりました。
やはり暗黙に3文字ということになっているようです。

191 :デフォルトの名無しさん:2007/02/01(木) 03:39:25
8085+8251 4CH、8253,8259、ROM,RAMのシステムがあるのですが、CPU周りだけKC80A12に
配線して動かすことって可能でしょうか? ハード屋さんは再開発論外で、ROMを実行できる
のがいいとか言ってて、そりゃあんまりと思いましたが。
82514台の割り込みが8259に入ってたのをIR0〜7のうち4本に繋げれば、タイマと割り込みは
自前でできそうに思えます。KC80のリセット時デフォはZ80互換ですし。
前スレでH8でuartエミュレートする相談とかしましたが、KC80のほうが石は安いですよね

192 :デフォルトの名無しさん:2007/02/01(木) 10:33:29
上げてなかった・・・

193 :デフォルトの名無しさん:2007/02/02(金) 00:59:53
海を渡って来たコード体系だからトライグラフってな

194 :デフォルトの名無しさん:2007/02/02(金) 07:58:16
>>193
それじゃ三角形も渡来アングル?

195 :デフォルトの名無しさん:2007/02/03(土) 09:07:45
KC80A12 ってシリアル1つ持ってるから 8251は3個でいいかもしれないし
割り込み端子もあるんで回路少し工夫すれば8259も不要だろうけど

互換取る為に全部付けるわけ?

でもさ、KC80A12 に8251を4個にとチップ集めて
組み立てるコストから考えるとH8なりM16なり 1個でやった方が簡単だと思うけどねえ


196 :デフォルトの名無しさん:2007/02/03(土) 09:32:01
>>191
キミは前スレじゃなくて、2年前の・・・2つ前のスレの人だね
1年半、どっかから部品集めては作ってたのか・・・・

UART2個乗ってる1チップで適当なのを2個積んで
ポート同士をつなでハンドシェークで通信させるのがソフトもハードも楽で、コストも低いだろうに

197 :191:2007/02/03(土) 14:11:03
2つ前でしたか。いや、私はハードいじれないソフト屋=いつもの3MHzの8085の人です。
>>195 8259が不要になるのは解ります。8085がアキバで買えなくなったらど〜すんの?って
ハード屋さんに聞いたら、CPUだけ替えて動かんかなあ・・・とか言うんですよ。ボード起こす
コストも手間も無い、って。で、元のボードでZ80互換のCPUなら、脚だけ対応させれば
動かないかなあ・・・って想像してみたんです。これならソフトの移行は簡単だから。

タイマと割込みは内部にできるからノンコネクトで、8251の割込み線をIRnにつないで、
ROM=0〜7FFF、RAM=8000〜9FFF、8251のI/OアドレスがE000、D000、C000、B000です。
Z80だと例えばE000のI/OはCreg=E000にして、inp/outp (C) とかやるんですよね?

198 :デフォルトの名無しさん:2007/02/03(土) 14:53:03
そういう事を考えるのがハード屋の仕事だと思うのだが、俺がおかしいのかな

199 :デフォルトの名無しさん:2007/02/03(土) 16:17:37
俺からの助言
そのハード屋リストラ汁

200 :デフォルトの名無しさん:2007/02/03(土) 16:40:33
足の変換ボード作るのもコストだし、結局は手直しが必要だろうに

OAKS16MINI
http://www.oaks-ele.com/oaks16_mini/oaksmini.htm

これ2つ買って パラレルポートをつないだ方が簡単だと思うのだが?


201 :デフォルトの名無しさん:2007/02/03(土) 16:47:57
>>197
何をやりたいかで手段を考えるべきではないだろうか?

202 :デフォルトの名無しさん:2007/02/03(土) 16:49:22
Z80なら、マクロ出てるだろ

いっそFPGAでやたらPinだけでてるサブ基盤作って使いまわせ

203 :191:2007/02/04(日) 03:59:56
>>199さんに1票ですが、私なんかに仕事くれるのもそんなハード屋さんだからなんですよね。

>>200さんの見てみました。>>196さんのお奨めとポリシーは似てるみたいですね。2-CPUで
ハンドシェイク取る機能の作りが厄介そうな気が・・・共有メモリとか、そのメモリの排他制御とか・・・

>>201 やりたいことは、4800のuart、4CHの交通整理(合流・分流・選択・除外・変換)です。
新しくCPU決めてボード起こしなおすと\100ぐらいかかるからできない、ってハード屋さん
言うんですよ。 それで小手先で石だけ替える技がないかなあと・・・

>>202 命令セット見れば思い出すのでマクロは要りません。
FPGAって判りませんが実験用の基板みたいな奴のことですか?

足の変換ボードだけのコスト、CPU+uartチップ(+電源+コネクタ)のコストって考えると
足の変換ってのも・・・あ、それもCADで図面書いて基板屋に外注するとすごいコストになるのかな

204 :デフォルトの名無しさん:2007/02/04(日) 04:06:44
>新しくCPU決めてボード起こしなおすと\100ぐらいかかるからできない

(′・ω・`)つ IIIIIIIIII
アゲル

205 :デフォルトの名無しさん:2007/02/04(日) 04:44:51
今の知識を持ったまま過去の自分に戻りたいのですが、どんなシステムが必要ですか?

206 :デフォルトの名無しさん:2007/02/04(日) 04:49:13
>>205
D.P.S.

207 :191:2007/02/04(日) 05:30:33
この業界の人って夜型多いイメージがあるのですが、けっこう早起きが居るんですね。
>>204 アリガト・・・マソなんですよ、実は

208 :デフォルトの名無しさん:2007/02/04(日) 09:15:21

秋月の加速度センサかなんかをPICで
計測するプログラムをCで書いてる?
ttp://n.limber.jp/n/CRRPZ70Hq


209 :デフォルトの名無しさん:2007/02/04(日) 10:20:52
>>203
そんなハード屋なんかから仕事貰って自分を落としてどうする。
おまえ、うちの会社に来い。大した給料は出せないがFPGAを一から勉強させてやるぞ。

210 :デフォルトの名無しさん:2007/02/04(日) 10:46:12
>>203
1つのメッセージのブロックサイズはどれくらいなの?
せいぜい256バイト程度でしょ?
あと、ハードフローは使ってるの?4800程度ならフローも不要じゃないの?

だったら >>200のCPUボード使って30万くらいでソフト一式作ってあげるよ


211 :デフォルトの名無しさん:2007/02/04(日) 11:03:13
勉強させてくれるなんて いい職場だ。俺が行きたいくらい。30overだけど。

212 :デフォルトの名無しさん:2007/02/04(日) 11:04:27
>>209
ぼくもいっていいですか?

213 :デフォルトの名無しさん:2007/02/04(日) 11:20:21
この業界で「勉強する」ってことは、いきなりそのJOBに突っ込まれることですが何か。

214 :デフォルトの名無しさん:2007/02/04(日) 11:34:32
それを希望しているのだから嬉しくて仕方ありません

215 :デフォルトの名無しさん:2007/02/04(日) 11:37:47
>>203
ハンドシェークって・・・・チップ間の通信は全部ソフトで実現するんだよ
ポートは沢山あるから
片方は完全にスレーブにして、シリアルから1バイト受信する都度 FIFOに入れてパラレルで送信するだけ
逆にデータを送る時もFIFO入れてマスターが全て管理するようにすれば
何の工夫もいらないだろう

⇔データ8bit 双方向
→COM2/3 COM2かCOM3かの種別
→ReqRead バスから読みたい
→ReqWrite バスに書きたい
←ACK バスにデータを書いたか、バスからデータを読んだかしたよ
←NG  今データ無い・又は送信出来ないのにそんなReq送らないでしょ
←COM2-今送れない(送信FIFOフル)
←COM3-今送れない(送信FIFOフル)
←COM2-受信データ有
←COM3-受信データ有


216 :デフォルトの名無しさん:2007/02/04(日) 12:00:34
スレーブの処理:ポーリング(1ms程度で見れれば十分)

・ACK/NGを出してる間はReqが落ちるのを待ち、ACK・NGを落とす
・バスはオープンにしてReqが何も無ければ待つ

・ReqWriteがあれば
  FIFO-Busyでなければバスから読んでFIFOに書き ACKを立てる
  FIFO-BusyならNGを立てる

・ReqReadがあれば
  FIFOデータをバスに書いてACKを立てる
  FIFOデータが空ならNGを立てる


--- 上で待つと書いてるのは実際にそこで待つのではなくreturnして次のポーリングを待つという事

217 :デフォルトの名無しさん:2007/02/04(日) 12:10:21
スレーブには他に 送信用・受信用x2CH分の合計4つのFIFOの処理と
そのステータスをポートで表示するだけ。
だからまあFPGA使っても殆ど同じコードというか、同じ事するだけだね


マスターもスレーブとの通信用に小さいFIFOを4つ持って
NG/ACKを見て、それが落ちてれば送受信FIFOとステータスを見て
送りたければバスに書いてReqWrite
データを読みたいならReqReadするだけ



218 :デフォルトの名無しさん:2007/02/04(日) 17:12:25
>>207
きっと>>204にとっては、まだ夜。。。。。

219 :デフォルトの名無しさん:2007/02/04(日) 17:51:39
いちいち早起き早起きうるせーな
死ねよ

220 :デフォルトの名無しさん:2007/02/05(月) 01:04:30
おはよう諸君

221 :デフォルトの名無しさん:2007/02/05(月) 01:27:01
おはよう

222 :デフォルトの名無しさん:2007/02/05(月) 03:20:11
おはよう

223 :191:2007/02/05(月) 05:55:43
>>219さんおはようございます。ごめんなさい、もう言いません。

>>215-217 ありがとうございます。勉強になるなあ、メモメモ・・・

>>210 ブロックは建前上256、実質150ぐらい。フローも無しです。

OAKSミニ、MPUの仕様のとこ見てみたら、RAMがちょっと少ないですね。ringの他に、
再送用に記憶したり、複数のCHからの情報を合成したりする記憶も要るので。
元のシステムで8KBなのは石が遅い分もあるのですが、せめて4KBぐらい・・・
ってSRAM増設の事例が出てましたね。 ソフト的にやりたいことは全部出てますね。

「汎用ボードでやったら?」ってハード屋さんに言っても、工場の基準とかあるからうんとは
言わなそうです。(けっこうダーティな環境で使われるので、9pinDSUBなんかじゃなくごつい
接続端子がついてます。) 通信周りだけならこんなに安いんだよ、って喚起するのはありかな。

224 :デフォルトの名無しさん:2007/02/05(月) 07:49:39
という事で、内蔵RAM8K シリアル2CHの1チップマイコンを2個乗るボードを作ったらいいと思うよ
他に必要なのはMAX232C系のレベル変換だけでしょ
そんなもん、ピン変換の基板自作するコストで作れるでしょ
俺なら片面基板でも作れるけどね

この条件ならいくらでも探せるだろ。
Z80系が好きなら東芝のTMP91シリーズなんてのもあったけど・・・もう廃品種で
今はその上位のTMP900シリーズだもんな

225 :191:2007/02/05(月) 13:33:00
1チップマイコン+uartチップよりも1チップマイコン2個のほうが安いんですか(*o*)
2CH内蔵のチップ+2CHのuartチップではどうなのでしょう?
Z80は特に好きでもないので、H8系なら楽かなあ程度ですけど。

226 :デフォルトの名無しさん:2007/02/05(月) 13:40:11
>>214
やる気があって高くない給料に納得できるのなら是非私の勤める会社に。
今、来年にはFPGAをばりばり使える(予定の)技術者を募集しています。
今年はC/C++を書きながらのFPGAの勉強になるから楽ではないと思うけど。

227 :デフォルトの名無しさん:2007/02/05(月) 14:04:12
なひさんですか?

228 :デフォルトの名無しさん:2007/02/05(月) 14:17:24
会社が九州の上のほうだったら飛びつくんだがな

229 :デフォルトの名無しさん:2007/02/05(月) 14:51:22
>>225
KC80はROM/RAMを外付けしなければいけない。
このサイズのROM/RAMは保守部品になっていて高いよ
8251もパッケージが結構大きいから値段はそれなりにする

どんな購入ルート持ってるか判らないけど
H8/3687 あたりなら高くても1個1,300円程度
1チップCPU2個の方が安価だと思うよ

UARTはパソコンにもRS232Cが付かなくなったように消えてゆく部品
これをわざわざ採用してしまえば、結局部品調達に苦労するのが見えている
どうしても安価にというならPICあたりを>>215の方法でUARTとして使うくらいだろうけど
結局複数の部品使うと苦労するよ。

230 :225:2007/02/05(月) 17:39:45
>>229 ありがとうございます。なるほど、チップの機能ではなくそういう事情で高くなるんですね。
今度ボード起こすときはROMもRAMもuartチップも積まない・・・CPUと端子だけみたいに
しないとコスト出せないのかあ。 スレーブのほうが低機能でよくても、異なるCPU積むより
同じの2個のほうが調達コストとかデバックとか考えたら安くつくんでしょうね。

231 :デフォルトの名無しさん:2007/02/05(月) 18:08:50
>>230
余程の価格差がないなら同じ物を二つ積むべし。
特にハード周りの調整コストが段違い。

232 :デフォルトの名無しさん:2007/02/05(月) 21:55:58
白けるけどKC80作った人は自殺したと聞いた。

233 :デフォルトの名無しさん:2007/02/06(火) 01:08:43
原因は?やっぱり仕事がらみ?


234 :デフォルトの名無しさん:2007/02/06(火) 07:09:32
基板上の部品一つが入手出来ないだけで
結局作り直しになるんだから、長期出荷の小ロット品は、部品出来るだけ使わない事だね。
その1チップマイコンが廃品種になる可能性もあるけど、
そうなったら諦められるだろ? というか出来るだけそのチップ使って在庫しておくしかないね。

そういう意味でPSoCには期待して見てたけど、なんか品種がどんどん増えてるからちょっとアレだな。
ROM/RAMサイズはフルスペック共通。品種種別はピン数だけくらいじゃないとな


235 :デフォルトの名無しさん:2007/02/06(火) 07:25:46
俺も、シリアルのEE-PROMだけが廃品種になったせいで設計しなおしになったり
 (そのEE-PROM 当時 TVチューナー用に使われてて安価だったもんだから)

電子VRが廃品種になっただけで、設計しなおしのコスト回収出来そうにない
売り上げだったもんだから  こっちも廃品種にするしかなかったり

今はもうICは1チップマイコンと アナログは358/393だけしか使わないぞと
74HCxxxとかのロジックも使ってしまう事はあるけど、怖いんだよな
だから、トランジスタと、フォトカプラを大量に使う設計に


236 :デフォルトの名無しさん:2007/02/07(水) 06:47:20
ジェリー・ワインバーグのXX人間学シリーズで今でも役に立ってること:
靴下は全部同じ柄にする-->洗濯したとき合わせるのが楽。ローテーションで平均にへたる。

237 :225:2007/02/08(木) 07:41:44
M16Cって、H8とぜんぜん違うアーキテクチャのシリーズなんですね。
三菱の石がずっと生き残ってきてるんでしょうか? H8よりは使いにくそうな気がしました。

238 :デフォルトの名無しさん:2007/02/08(木) 09:00:25
H8/300はレジスタ型   演算はレジスタ同士が基本    80/86系
M16はアキュムレータ型 演算はアキュムレータとメモリ間 68/65系


M16はH8に比べて品種が少ないのと
自動車分野でも使われてるから、比較的長寿命かなと期待してる


239 :デフォルトの名無しさん:2007/02/08(木) 20:54:14
あるルネサス代理店の話。

・H8系はROM食うわおそいわで半端。M16系にしたほうがいい。

ほんとなんかねぇ。


240 :デフォルトの名無しさん:2007/02/08(木) 20:56:41
M16ってスタローンとかシュワが昔脇に挟んで乱射してたやつみたいな名前だな

241 :デフォルトの名無しさん:2007/02/08(木) 21:10:58
M16系はアキュムレータ型でメモリと演算するから
ロード⇒レジスタ同士の演算⇒ストア が必要なH8に比べたら確かに効率的。
だからレジスタが少なくてもコードは組みやすい
レジスタが少ないから命令長も比較的短い

あ、H8にもH8/300だけじゃなうて、
H8/500シリーズってのが昔あって、
これはM16Cと同じようにレジスタとメモリ間で演算が出来た。
同じクロック数なら500シリーズが実際速かった
でもいつの間にか消えてっちゃったね

ただH8/300はレジスタが32bit化されてるけどM16Cはレジスタペアで
RAM空間が16bit以上になると多少面倒(でもM16Cの方が内蔵RAMは豊富なんだよね)


242 :デフォルトの名無しさん:2007/02/08(木) 21:35:01
例えばH8だと Cで a++ なんて書いても
1、メモリ⇒レジスタ
2、INC レジスタ
3、レジスタ⇒メモリ
の3命令とアセンブラレベルでなる

M16Cだと inc 命令1つ(3サイクル命令)


243 :225:2007/02/09(金) 04:02:50
なるほど、そういうアーキテクチャでしたか。H8/500はさんざん使いました。
割り込みとタスク両方からカウンタを触るのに、di/ei しないでいいのが嬉しかったりしました。

M16Cの内蔵メモリは、1K/2Kではありませんか?H8/16bitだと8K/16Kのシリーズがありましたが。

>>240 三菱は兵器作ってるんで、案外意識してたりして・・・

244 :225:2007/02/09(金) 04:16:58
ごめんなさい、M16C/26Aを見てました。28A、29AシリーズならRAM=8K/12Kがありました。
ルネサスのコンパイラはタダですよね?H8のコンパイラはライフボートのよりちょっとアホだった
覚えがありますけど。

245 :デフォルトの名無しさん:2007/02/09(金) 07:45:15
H8S/2649はUART4チャンネル持ってるし
M32CシリーズならUART5チャンネル持ってるけど、
これ1個ってのは誰も勧めないなんだな

246 :225:2007/02/09(金) 16:55:35
そ〜んなに上位のほうまで(^o^)見ませんでした。 さすがに石が高すぎるでしょう。
それより、前々スレで教えてもらった、タイマ端子でuartエミュレートさせるのを1CH分やる
手法のほうが、全体では安く上がるとおもいます。これはお試しコード書いてみていける、
とおもいました。4CHのうち1CHだけドライバ層を書き換えるだけでアプリは同じですみます。

あとはハード屋さんがいつボード起こす気になってくれるかなんですよね。

247 :デフォルトの名無しさん:2007/02/14(水) 06:13:14
SHなんかだとリアルタイムクロックが組み込まれてたりする機種もありますね。
それって当然ですけど天文時計とはずれてきますよね?
だからソフトでときどき書き込んでやる必要がある<--これってパソコンでも原則おなじですよね?

248 :デフォルトの名無しさん:2007/02/14(水) 06:43:27
ミサイルがJJYの信号拾って時刻同期してたら間に合わないんだよね

249 :デフォルトの名無しさん:2007/02/17(土) 02:53:39
JJYが判らないけど、ミサイルは時刻同期なんかしないんジャマイカ。
起動時からの慣性誘導+GPS情報による補正で地球上のたいていの所には行けるでしょ。

250 :デフォルトの名無しさん:2007/02/17(土) 05:41:00
>>249
GPSって時刻情報も含むんジャマイカ。

251 :デフォルトの名無しさん:2007/02/17(土) 07:16:47
>>250
なんの為に正確な時刻に同期する必要が?

252 :デフォルトの名無しさん:2007/02/17(土) 09:14:29
測定の殆どは時間刻みの正確さに頼ってる事がほとんどだからじゃないの?

時間刻みと時間とは関係ないけど、離れた2点で時間刻みを正確に得るには
時間が正確なのが一番簡単でしょ?

253 :デフォルトの名無しさん:2007/02/17(土) 14:32:50
>>251
時刻によって衛星の位置が変わるから

254 :デフォルトの名無しさん:2007/02/18(日) 17:01:34
利用料金は米国債で支払われている。買わないと精度が落ちる。

255 :デフォルトの名無しさん:2007/02/18(日) 17:17:02
意味分からんなw

利用権買ったオマケに米国債が付いてくるなら
一粒で二度おいしいじゃんw

256 :デフォルトの名無しさん:2007/02/18(日) 20:19:11
>>253
いや、そもそもCPUのタイマじゃ間に合わんほど
長く飛んでるもんなのか、ミサイルって?

相対的な時間が十分に拾えるなら時刻情報はいらんだろ?

257 :デフォルトの名無しさん:2007/02/19(月) 11:28:15
3分もあれば火星から月まで来るようなやつら相手に
GPSもくそもないわな

258 :デフォルトの名無しさん:2007/02/19(月) 21:02:28
>>257
なんだそれは

73 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)