制御系なら俺に聞いてもいいぜ(9)
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
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
0002デフォルトの名無しさん
2006/09/19(火) 09:10:510003デフォルトの名無しさん
2006/09/19(火) 14:42:030004デフォルトの名無しさん
2006/09/20(水) 09:44:03スレたてして暫くレスないと落ちる事があるみたいだから上げるね
0005デフォルトの名無しさん
2006/09/20(水) 09:52:54【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");
0006デフォルトの名無しさん
2006/09/20(水) 10:14:470007デフォルトの名無しさん
2006/09/20(水) 15:17:33シリアルに繋いだモデムにテキストとしてATZを流し込んでもだめだと思う
0008デフォルトの名無しさん
2006/09/20(水) 19:21:57たしか +++ 送って OK 確認してだったかな?
0009デフォルトの名無しさん
2006/09/20(水) 19:49:52ダウンロードページに行くと「特許関係でもうダウンロードできません」と言われます。
http://www.pointing.com/FTP.HTM
WinTabを手に入れることはもうできないのでしょうか?
0010デフォルトの名無しさん
2006/09/20(水) 22:29:29最近この業界に転職して現在PLCの設計をしていますが、
勉強していくのに初心者にもわかりやすいサイトとかないでしょうか?
現在 PLC(MELSEC)←---RS232C--→PC←--GPIB---→LCR
のような構成で設計していますが??ばかりです。
サイトでなくても「これからやれ!」というのがありましたら教えて下さい。
転職前はソフト屋やってたのでVB,JAVAは大丈夫なのですがPLCへの
命令の仕組みがさっぱりです・・・
駄文失礼しました。
0011デフォルトの名無しさん
2006/09/20(水) 22:45:46頭が痛くなってきた┐(´ー`)┌
0012デフォルトの名無しさん
2006/09/21(木) 20:21:48制御系なら俺に聞いてもいいぜ(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/
0013デフォルトの名無しさん
2006/09/23(土) 06:53:55即死避け age
0014デフォルトの名無しさん
2006/09/23(土) 13:12:03PLCのプログラムは1つの無限ループの中でコード走っているようなものだ
但し、I/Oは無限ループの最後尾または最前列でリフレッシュされるから気をつけろ
0015デフォルトの名無しさん
2006/09/23(土) 14:20:27「PLC"へ"の命令」
PLC(MELSEC)←---RS232C--→PC←--GPIB---→LCR
PLCへの命令= ↑ここ
0016デフォルトの名無しさん
2006/09/23(土) 17:37:54PLC なんて馬鹿向けの時代遅れの記述方法。機械設計者でも自分で設計できる
点で優れているだけ。
Java を使いこなすための 1/10 以下の勉強で PLC なぞ使いこなせる。難し
く考えすぎ。PLC の内部にはワンチップ・マイコンがあり、C で記述された
PLC インタープリタが動いているだけ。使うやつに技術力があれば、そのワ
ンチップ・マイコンを直接 C 言語でプログラムして制御したほうが効率的。
要は、コイルと接点があるだけ。コイルに電流を流すと、鉄でできた接点が
引っ張られてスイッチが閉じて、別の電線に電流が流れる。その電線の先に
コイルがあれば同じことが繰り返されるだけ。中学生レベルの知識で理解で
きる。昔は実際のコイルと接点でできてリレー素子を実際に電線で繋いでいた。
今の PLC は、昔の馬鹿でも解る回路をプログラムに使っているだけ。
PLC ぐらいで怖気ずくな。
001711
2006/09/23(土) 17:47:171)「PLCの設計」って、
�@PLC自体の開発における設計
�APLCを使ったシステムにおける、PLCのプログラム設計
どっち?
2)「PLCへの命令」
�@PCからPLCに対しての命令について
�APLCのプログラムにおける命令について
どっち?
0018デフォルトの名無しさん
2006/09/25(月) 17:31:00良かったら教えてください。教科書読んでるんですが、それからのステップが全く分からなくて・・・
0019デフォルトの名無しさん
2006/09/25(月) 18:22:350020デフォルトの名無しさん
2006/10/03(火) 03:22:428085はもう作られてないから製造の度にアキバで買い集めるらしい。
今の石で同等の基板起こせばいくらでも小さくできるが、ごつい機器の間に配線するので、
小さくしても無意味(配線部だけ相変わらずごつい)。っつか基板起こす手間と\が惜しいらしい。
CPUだけZ80かそれ相当のK80に取り替えたらそのまま動いてくれないでしょうか。
ソフト屋から見たらLSIC80使えるしちょっとした書き直しですむのに、と思えるので。
アドレス割付は、ROM=0-7FFF、RAM=8000-9FFF、8253=F000、8259=F200、
8251=E000,D000,C000,B000 ついでに8255=F400がついてます。この割付見ると、たぶん
アドレス信号の上位をデコードしてチップセレクト出すICが居るようです。
0021デフォルトの名無しさん
2006/10/03(火) 04:11:258085とZ80は周辺ICの制御の仕方が結構違う。
その辺を吸収するコードをZ80側に用意する気があるなら、
8085→Z80は難しくはないと思う。
後は、Z80の割り込みモードの違いに注意ってところで。
0022デフォルトの名無しさん
2006/10/03(火) 05:06:3385がメモリマップドI/Oの所がZ8だとin/out命令になるのですよね、それは直せます。
割り込みモードについて調べてみました。モード2を使うとベクタが連続になりますね。
8259の設定はベクタが4番地おき、というのを使っていましたから、ここらの相性が問題に
なりそうです。
002320
2006/10/03(火) 05:34:43Z80ではcall命令が来たら具合悪いですね。ここはどうするんだろ?
DW ルーチンアドレス、ではなくJP ルーチンを4番地おきに並べておいたら動くかな?
002420
2006/10/04(水) 00:58:52書かれています。Z80にはそういう信号は無いみたいですから、8259を使う基板にはZ80は
合わないみたいですね。
2年ぐらい前に安いROMライタのこと聞いたのですが、最近の事情はどうでしょうか?
自分でぐぐったらたくさん引っかかりすぎて結局探せませんでした。
0025デフォルトの名無しさん
2006/10/04(水) 01:29:51モード2 しか使ったことないから詳しい事は不明。
ってか、回路設計の本は無いのか?
002620
2006/10/04(水) 03:13:52>モードを 0 にすれば <--ありがとうございます。モード0のときの動作を調べてみました。
>このモードは、割り込みサイクル中に読み込んだ命令をそのまま実行します。
とありました。これだと8259の出してくるcall XX04おきを実行できて,、
ベクタにもジャンプ命令を置いておけばよさそうですね。
0027デフォルトの名無しさん
2006/10/04(水) 21:23:49飛ぶ先は0000hから8バイト置きの8個。
002820
2006/10/05(木) 04:52:58外付けuartの8251と外付けタイマの8253が出してくる外部割込みをどう処理するか?
の実装手法を聞いてるところです。
RSTは、「使用頻度の多いサブルーチンコールを1バイトで済ませる」時に有効な手法ですね。
0029デフォルトの名無しさん
2006/10/05(木) 07:39:21もしかしてAm9519?
0030デフォルトの名無しさん
2006/10/05(木) 10:42:44それとも、ワンボードで配線だけで差を吸収するんだろうか。
8251/8253は、割り込み線をZ80PIOのデータに繋いで、1ビットずつ割り込みできるようにしてやれば
Z80流にモード2で割り込み制御できるんだが。
0031デフォルトの名無しさん
2006/10/05(木) 13:07:57>それは「ソフトウェア割り込み」ですよね?
8259の割り込みでバスに乗っかるのはRST命令だよって話だ。
0032デフォルトの名無しさん
2006/10/05(木) 16:10:59どこの貧乏ですか
003320
2006/10/05(木) 16:47:26>>30 2行目のほうでできないか考えてます。
>8251/8253は、割り込み線をZ80PIOのデータに繋いで、1ビットずつ割り込みできるように
>してやればZ80流にモード2で割り込み制御できるんだが。
デバイス側が「ベクタ番号」をバスに出すようになってないとモード2は使えなくないですか?
>8259の割り込みでバスに乗っかるのはRST命令だよって話だ。
手元のデータブックでは「call命令のopコード(CDh)がデータバスに出力される」となってます。
貧乏もあるのですが、 CADで図面書いて検証して基板屋に出して、っていう一連が面倒
らしいのですよ。それでCPUだけ変えられないかと考えてみたのです。たぶん脚の数は同じ
でもピンの位置なんかの違いのほうが大きくてだめっぽいですね。
「近所の部署が作った基板をパクってuartだけ使う」ほうが現実的かも。
0034デフォルトの名無しさん
2006/10/05(木) 21:16:54>>8259の割り込みでバスに乗っかるのはRST命令だよって話だ。
>手元のデータブックでは「call命令のopコード(CDh)がデータバスに出力される」となってます。
NECの拡張だな、8259はcall命令は出さない。
RSTが1バイト命令なのは、2バイト目以降のフェッチが不要だからだ。
>CPUだけ変えられないかと考えてみたのです
さすがにそれは無理。あくまでバイナリ上位互換だからね。
フラットパッケージのZ80互換品をのせた8085ピン互換ボードでも作るしかないのでは?
0035デフォルトの名無しさん
2006/10/06(金) 00:15:228251がベクタ番号を出せないから、Z80PIOに中継させてベクタ番号を出させるんですよ。
今時のZ80互換チップはPIO内蔵しているんじゃないかと思ってね。
003620
2006/10/06(金) 06:31:25>>35 ナマのZ80じゃムリっぽいですね。KC80シリーズの、80A12なら、内蔵uart1本のほかに
外付け8本までつなげられます。CPUを選ぶとしたらこれが最適でしょう。タイマとuartだけしか
ついてない所がこの箱の目的にぴったし。内蔵RAMが512しかないので、RAMは必要ですが。
H8の8bitシリーズと性能的には互角に見えますが、お値段はどうなのでしょうね。
ボード起こさなきゃいけなくなったときに私の意見聞いてくれるといいな。
0037デフォルトの名無しさん
2006/10/06(金) 19:06:42そゆ話が出るってことは8085ピン互換小亀基板なんて起こせないよな…
昨今のプロセッサの、I/Oポートに信号配線して、
フルエミュでもいけてしまいそうな気すらする。
F/Wのつくりは難解? 解析済み?
規模的には外部仕様おさえてつくりなおしでもいい感じ。
003820
2006/10/07(土) 04:19:30引き継いだときはASMで5K行のスパゲッティでしたけど、私がCで書き直した後はアプリ部400、
メインループ30、init40、タイマ処理50、uart処理4CH分で350、define集めたヘッダ50、ベクタ部50で、
1K行位です。 uartの交通整理だけ(合流・分流・選択・除外・変換など)なのでかーんたん。
石が変わってもベクタ部とinitをその石用に書き直せばいいようになってます。
CとASMの行数比率2.5ぐらいでしたから、元のASMも平均的な品質だったとは思います。
私が「小さく書く偏執狂」で、平均的なプログラマが書くものの半分になるのがふつうなので。
0039デフォルトの名無しさん
2006/10/07(土) 04:49:44004020
2006/10/07(土) 05:12:31元々が差し迫った問題じゃなくて、ちょっと暇になったとき考えてみよう程度でした。
最近止まってたから、景気づけにと思いまして。
0041デフォルトの名無しさん
2006/10/07(土) 09:26:47今時のマイコンでスクラップ&ビルドした方が結局低コストかつ時間もかからん
気もするけど、どうなんだろう。
つーかその時間は早起きっていうより昼間寝てるヒキ(自主規制
0042デフォルトの名無しさん
2006/10/07(土) 10:18:19004320
2006/10/07(土) 15:26:48>>41さんのが正論ですよね。お客にもそう奨めます。H8のコンパイラも持ってるし、8〜16bit
ならどの石使われても即座に書き換えできます、とお客には言っておこう。
ところで三菱と日立の石ってキャリーの立ち方が反対だったと思うのですが、合体した時に
三菱のほうが折れたのでしょうか?
0044デフォルトの名無しさん
2006/10/08(日) 02:01:29現場の人間に新しい環境を理解する意志も能力もないので
高コストかけて延命する以外に実現性がない、とか
うちが丁度そんな感じだorz
0045デフォルトの名無しさん
2006/10/08(日) 04:49:08三菱の50747とかいう小さな8bitチップを使ったことがあるのですが、ご丁寧にデータブックの
表紙にジャンボの写真が印刷されていました。(紙のデータブックがあたりまえのいい時代。)
このチップがキャリーの立ち方が反対でした。引き算してマイナスになったときキャリーが0。
デバック中に気づいて、データブック確認して目を疑いましたよ。キャリー判定の箇所を
総ざらいするはめになりました。
0046デフォルトの名無しさん
2006/10/08(日) 12:05:52なんか勘違いでしょ。そんなCPUありえんと思う。
それだとSUBBのときはCは反転してから引き算されるのか?
オーバーフローのフラグと部分的にごっちゃになってるんじゃないか。
0047デフォルトの名無しさん
2006/10/08(日) 17:41:48はっきり言ってどちらでも構わないし、ゲートをけちったらそうなったん
じゃないの?
>>46になんでそのようなCPUがありえないのか聞いてみたい。
0048デフォルトの名無しさん
2006/10/08(日) 21:32:42そんな仕様にしたらSUBBの動作が直感に反するでしょ。
0049デフォルトの名無しさん
2006/10/09(月) 01:31:08ようでした。 もう20年近く昔の話ですが。
その後ソニーの8bitでも似たような命令セット見たことがあります。
0050デフォルトの名無しさん
2006/10/09(月) 04:11:28ンニーの8ビットって、すーはみのAPUに使われてた奴かな?
あれは6502のぱくりだ。
6502の設計はある意味究極なので、知識がないヤシはぜひつまみ食いしてくれたまい。
でも組み込みで6502系を採用したって話はなかなか聞かないなぁ。
0051デフォルトの名無しさん
2006/10/09(月) 04:16:480052デフォルトの名無しさん
2006/10/09(月) 07:22:03回路をケチるとボローは 桁借が無い時に1になります。
SUBBの時は(A + 全ビット反転(B) +CY) と実現するので、
これを理解すれば、ボローはキャリーの反転が自然だという事になりますね
0053デフォルトの名無しさん
2006/10/09(月) 10:04:03ARMは6502の子孫って聞いたけど
0054デフォルトの名無しさん
2006/10/09(月) 10:38:58そのためのロジックがあればボローを反転させるのは簡単だ。
0055デフォルトの名無しさん
2006/10/09(月) 18:07:10よく見ると連中のやってることはバブルソートですね。 個体間の順位(=ソートキー)があって
ある固体が電線にとまろうとするときに、自分より格下が居ると威嚇して追い払う。追い出された
固体はそのまた格下に対して同様の事を実行する。これが日が暮れるまで続きます。
ピュー太のソートと違うところは、翌朝大量の糞が道路に残って養鶏場の臭いになっている事。
情報処理にもエネルギーを使うのが実感できます。でも彼らの使うエネルギーは、糞は出すが
PCより効率良さそう・・・
0056デフォルトの名無しさん
2006/10/20(金) 20:35:45「CDドライブっつうのは、こんな原理で動くんですよ」というデモをしたいなと考えています。(普通の人、子供向け)
スピンドルの回転、ピックアップの前後移動、レーザーのOn/Offあたりを、実際に見せられたらなと思ってます。
必要な物品と技術的なハードルについて、御教示頂けないでしょうか?
もし、自作プログラムでATAPIなんかのコマンドを送ることで自由にドライブが制御できれば、話は簡単なのでしょう。
ですが、そもそもこんな低レベルの動作を、インターフェース(SCSI/ATAPI/USB)から制御できるのでしょうか?
トレイの開閉やデータ読み込みくらいの実例はWebにもあるのですが、メディアも不要なこんな動作については見つかりませんでした。
学ぶべき事柄や書籍などありましたら、ヒントだけでも構いませんので教えて頂けないでしょうか?
0057デフォルトの名無しさん
2006/10/20(金) 20:41:34透明ディスクでよさげと思う
0058デフォルトの名無しさん
2006/10/20(金) 22:33:58inv(R)B'Px
になるワケを教えて下さい。
お願いします。
0059デフォルトの名無しさん
2006/10/21(土) 10:45:390060デフォルトの名無しさん
2006/10/21(土) 22:32:56光量による、、、、、が
常識的に考えて、そんなわけ無いだろう
0061デフォルトの名無しさん
2006/10/21(土) 23:44:07"恥ずかしいからじっと見つめないでね。 はぁと" って書いてあるよ。
0062デフォルトの名無しさん
2006/10/21(土) 23:53:03ttp://www.sunagaimpulse.com/Syozai/Lasersite/Laserclass.html
0063デフォルトの名無しさん
2006/10/21(土) 23:54:53もちろん「見られる」角度に配慮すれば光線を直視することは回避できるだろうが、
レーザーって反射光でもまずい場合もあるよね確か。
0064デフォルトの名無しさん
2006/10/22(日) 00:09:55しかも便器を洋式から和式に替えて・・・
006556
2006/10/22(日) 03:30:08>>57
たしかにそうですね。ちょいと用意してみることにします。
>>59-64
直視(のぞきこみ)は避けねばなりませんが、紙に当てて
光ってるのを見る程度ならば問題ないと思います。
さらには、低出力でも見えやすいDVD用のレーザーを使う工夫も必要でしょう。
0066デフォルトの名無しさん
2006/10/22(日) 10:01:290067デフォルトの名無しさん
2006/10/22(日) 10:03:47まあこの業界(どもこそうかもしれんが)俺も含めて低レベルな奴が9割だからねえw
とりあえずこんなの見つけたけど。
いやまあググればすぐでてくるようだから、既に知ってるかもしれないが。。
http://itdesign.jp/cdromp/index.htm
これでとりあえず実現可能か試して、それから自分でATAPIのプログラミングについて
勉強するって手順でどうかなあ。
ATAPIに関してはCQからムックが出てるようだけど、あのシリーズって内容あてにならんことが
多いからなあ。
0068デフォルトの名無しさん
2006/10/23(月) 07:51:57その RとかB'とか inv() とかが、何なのか定義してみて
0069デフォルトの名無しさん
2006/10/24(火) 22:00:11B' はBの転置行列。
Q, R は単なる重み。
xの微分値がAx+Buの形で表される線形システムで、評価関数∫(x'Qx + u'Ru)が小さくなる制御入力uは
u = -(Rの逆行列 * Bの転置行列 * P * x)
で与えられる。
ただしPは次のリカッチ方程式(省略)を満たす解とする
と本に書いてあるんですが、入門書のためかその式の証明がありません。
リカッチ式あたりをいじって変形してやれば出てくるんですか?
0070デフォルトの名無しさん
2006/10/25(水) 04:14:16に使うの? アームの位置が目的のとこでぴたりと止まる、とか。
この業界だったら、使えるって判ってる式は証明のとこは飛ばして使っちゃうからなあ。
0071デフォルトの名無しさん
2006/10/25(水) 09:10:47ここは制御系プログラミングのスレで制御理論のスレではないからね。
板違いだから帰れとは言わないけど、答えられる人は少ないかも。
で、ググって見た、
ttp://ysserve.int-univ.com/Lecture/ControlMecha2/node27.html
ここの(2.402)式が少し形が違うけど>>58の式。導き方はその上に書い
てあるから読めば分かるんじゃない。漏れは分からなかったけどw
0072デフォルトの名無しさん
2006/10/25(水) 20:53:20ググったら「聞いてもいいぜ」なんて出てきたんで、早速聞いてみたんですが、
その前に、どのカテゴリのスレから確認すべきでした。
どう考えても数学系ですね。。
ありがとうございました。
0073デフォルトの名無しさん
2006/10/25(水) 22:11:38差すんだろうとは思うんだけどね。
リミットスイッチだのタリーだのポーリングしてチマチマやるようなのは
制御なんていうのはおこがましいよねw
0074デフォルトの名無しさん
2006/10/26(木) 05:36:460075デフォルトの名無しさん
2006/10/26(木) 21:27:090076デフォルトの名無しさん
2006/10/31(火) 00:34:01伝達関数を1次遅れ系に近似して導出する方法ってありますか?
0077デフォルトの名無しさん
2006/10/31(火) 08:20:52俺、なんか勘違いしてるのかな?
0078デフォルトの名無しさん
2006/11/08(水) 06:10:440079デフォルトの名無しさん
2006/11/11(土) 05:18:01面白いんだよね。大昔はbit誌のナノピコ教室とか好きだったし。
この石でsin/cos出してくれ、って言われたときはちょっとあせった。
0080デフォルトの名無しさん
2006/11/11(土) 07:58:33#お蔭で、sqrtよりsin/cosの方が速い罠。
0082デフォルトの名無しさん
2006/11/11(土) 13:53:37ひょっとして俺様定義の実数をアセで使ってるとか?
それならそんなことよりごく普通に10進の文字列との相互変換とか、
そのあたりの方が余程難しい気がするんだが。
っていうか三角関数ってテーブルを素直に参照するだけのやり方でも
pi/2まであれば十分なはずだけど。
008380
2006/11/11(土) 15:21:14あー、テーブルのエントリー数は0-90度を100個にしてたかな。だから厳密には度じゃなくて0-100グラジアン。
奇数で順番に引く方法で計算してた。16ビット整数だと高々256回回るだけだから。
>>82
そんな贅沢なものを使えるほど余裕がないときもあったのよ。
んで、10進16進変換辺りは10進補正命令も駆使して作った記憶がある。
0084デフォルトの名無しさん
2006/11/11(土) 15:29:19unit やintじゃないんだから単純にBCDに変換なんてできるわけないじゃんw
それともint + decimal pointなんていう効率の悪いことしてるのかな。
008580
2006/11/11(土) 15:39:340086デフォルトの名無しさん
2006/11/11(土) 16:14:01それなら確かに。
しかしそれじゃ利用範囲はかなり限定されそう。
0087デフォルトの名無しさん
2006/11/11(土) 22:21:110088デフォルトの名無しさん
2006/11/12(日) 02:53:02速度とか実用性はしらね
0089デフォルトの名無しさん
2006/11/12(日) 03:01:56「システム制御理論入門」(実教出版)なんだけど,
わけわからなくなって,新たに奨められた参考書
「現代制御論」(吉川井村)(昭晃堂)
買ったんだけど余計わからなくなって,問題解ければいいやと思って,
「演習で学ぶ現代制御理論」(森)
を買って確かにかなりわかりやすかったけどうちの先生数学チック
(Lyapunov方程式でA^TP+PA=-CC^Tにおける唯一解Pの存在条件出せとか)
なのが好きなんだよね.こんなかんじの現代制御で数学チックでわかりやすい問題集無いかな><
どなたか迷える私にご教授ください(汗
0090デフォルトの名無しさん
2006/11/12(日) 03:23:49ここが何の板だか分かった上での質問か?
009189
2006/11/12(日) 03:30:17不機嫌にさせてしまい申し訳ございませんでした!
009279
2006/11/12(日) 05:32:31のがめんどうなので、ROMが余裕あるかぎり1周分用意しちゃいます。
>>83 がsqrtの説明なんですか?頭悪いんでもうちょっとくだいてくれると嬉しい。
>>88 汎用性はゼロでいいです。精度は16〜32bit整数で計算できるように押さえます。
ex) 16bitのsin/cosなら±1.0の間だから、符号1bit 整数部1bit 小数部14bitで充分な精度。
速度と実用性こそまさに求められることです。なにせ3MHz(^o^) 今どき8bitの石でも20MHzなのに
0093デフォルトの名無しさん
2006/11/12(日) 07:10:05もし組めたとしても、リアルタイム性は確保できるのだろうか?
0094デフォルトの名無しさん
2006/11/12(日) 10:30:570095デフォルトの名無しさん
2006/11/12(日) 11:57:540096デフォルトの名無しさん
2006/11/12(日) 14:22:330097デフォルトの名無しさん
2006/11/12(日) 17:10:15おもってる。
0098デフォルトの名無しさん
2006/11/12(日) 17:20:130099デフォルトの名無しさん
2006/11/12(日) 19:37:53リアルタイムなところははサブCPUに任せて
010080
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;
}
四捨五入しなくていいなら掛け算も使わないのが味噌屋根。
0101デフォルトの名無しさん
2006/11/13(月) 02:07:12RTOSの上にJavaタスクが乗ってるって奴じゃ?
たとえばJBlendだとITRONの上にJavaタスクが乗ってる
リアルタイム処理はITRON、リッチな処理はJavaでやる
0102デフォルトの名無しさん
2006/11/13(月) 05:01:20ITRONを130MHzぐらいのSHで使ってみたけど、mSオーダーのリアル性はダメダメでした。
いいとこ10mSオーダーまでかな。MSECを1にしたら重くなるし。
0103102
2006/11/13(月) 05:10:552chで仕事の役に立つネタを拾う俺って・・・まあ、頭悪いんだからしょ〜がない\(^o^)/
0104デフォルトの名無しさん
2006/11/13(月) 05:48:42ジャズルジャズル
0105デフォルトの名無しさん
2006/11/13(月) 11:38:03簡単だけど、大きい数で時間がかかりすぎるかもね
16bitなら sqrtの結果は8bitに収まるんで
x^2のテーブル作ってバイナリ検索も簡単で、ソコソコ早いよ
0106デフォルトの名無しさん
2006/11/13(月) 15:38:10あ、0,1,4,9,・・・(255)^2を入れといて当たりの位置がルートですね?
これだと256個のテーブルの2分検索だから高々8回のループでよい、ということですか?
固定少数点で16bit求めようと思うともっと大変ですよね?
0107デフォルトの名無しさん
2006/11/13(月) 17:03:050108デフォルトの名無しさん
2006/11/13(月) 20:45:09入力が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) ;
と更新してゆくわけ
0109106
2006/11/14(火) 09:04:06求めたいときでも、そのアルゴリズムは使えますか?sin/cosなんか±1.0の間だからS4.11
みたいな16bitで持ってたので、そのオーダーの数値で少数点つきで扱うときに使えるといいなと。
アルゴリズム辞典みると、実数についてしか書かれてなくて、応用の仕方がわかりません。
0110デフォルトの名無しさん
2006/11/14(火) 09:35:070111デフォルトの名無しさん
2006/11/14(火) 09:57:40nは負数でも式の形は同じなので使える事は使えるよ
ただシフト方向が逆になるのでメンドクサイが
掛け算が使えるなら、2ビット単位に見て初期値を決めてニュートン法が一番早い
掛け算が使えないならこの筆算法がまあ我慢出来る範囲だと思うよ
0112106
2006/11/15(水) 06:06:540113デフォルトの名無しさん
2006/11/15(水) 11:06:34a2=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のシフト方向が反対になる
だからループで処理するより ループを展開して
書いた方がいいと思うよ
0114デフォルトの名無しさん
2006/11/25(土) 06:15:01バグが出て困ってます。入力はヘッダ文字〜<CR>で切り出してstrcpyで保存、タイマで数秒
ごとにそこから出力するようにしてるので、処理が間に合わない的なことはないはずなのですが
正体が判ったらネタ書きますね。
0115デフォルトの名無しさん
2006/11/27(月) 00:13:24単純に入力のバッファ溢れだったりしてな
0116114
2006/11/27(月) 04:20:15捨てると思ってましたけど、ヘッダを検出後、蓄積状態になってから入力ringに上書きが
起きたらそうなりますね。頭ABC,123,・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・<CR><LF>
↑この辺に別の頭CDE・・・がかぶったりします。
入力taskでちょっと重い処理=整数変換のsscanfとsprintfをやってたとき出ました。
タイマ処理で減算するタイマの種類も増えたし。 以前出力ringで上書きが起きて、そのときは
ringが置かれるアドレスによって出たり出なかったりしたことがあり、そっちに頭が行ってました。
0117114
2006/11/27(月) 04:40:40・入力処理では数値計算はやらない。→strcpy程度なら間に合うだろう。
・変換/編集は出力のときにやる=数秒に1回でいい。
・変換/編集の間に上書きがおきないよう、入力ringのサイズを増やす。
>>115さん、ありがとうございます。また2chが仕事に役立ってしまった\(^o^)/
0118デフォルトの名無しさん
2006/11/27(月) 04:57:00人が助けてくれたんだよ
役に立つとは何事か?
0120114
2006/11/27(月) 05:43:580121デフォルトの名無しさん
2006/11/27(月) 07:38:330122デフォルトの名無しさん
2006/11/28(火) 04:55:390123115
2006/11/29(水) 00:48:27ネタで初歩的なミス書いたのに、そのものズバリかよ。。。。。。。。
0124デフォルトの名無しさん
2006/11/29(水) 08:10:05多重割り込がかかるとだけ書いたら、スタックが2度使われてると文句が出たり
帰還の入ったデジタルフィルターを低い周波数に設定したらノイズが出るって文句が出たり
0125114
2006/11/30(木) 05:38:26>>117の対処でバッチリでした。あらためて、>>115さん、ありがとうございます。
この手のソフト、20回近く作ってるのに、ありとあらゆるミスをくり返してます。トホホ・・・
0126デフォルトの名無しさん
2006/11/30(木) 08:15:250127デフォルトの名無しさん
2006/11/30(木) 12:25:39本人以外に存在するってことが驚きだよ
0128デフォルトの名無しさん
2006/12/01(金) 00:26:32「CPUがおかしい」とか「ライブラリのバグ」とか「コンパイラのバグ」って
言う奴の報告なんて大抵あんなもんだろ
0129デフォルトの名無しさん
2006/12/01(金) 03:42:41RAMはこの位・・・」とかシステムの概要は説明されてるので、それ読んでる人にはそんなに
意味不明でもないな。同業だし。unix系とかcobol系の人には意味不明かも。
0130デフォルトの名無しさん
2006/12/01(金) 05:51:371年やっててそのレベルか・・・
0131デフォルトの名無しさん
2006/12/01(金) 12:08:00俺も最近、出力が止まるミスをやらかしたが、
割り込みで出力して出力中フラグを立てて、
次の割り込みで出すデータが無くなったらそれを倒す、って作ったら
割り込み内で処理が終了する場合があって、
そのときにフラグが永久にたったままに…
0132141
2006/12/01(金) 17:29:270133デフォルトの名無しさん
2006/12/01(金) 18:12:020134114
2006/12/02(土) 02:19:260135デフォルトの名無しさん
2006/12/02(土) 11:29:260136デフォルトの名無しさん
2006/12/02(土) 11:55:590137デフォルトの名無しさん
2006/12/02(土) 13:56:03隣のCHに出してた・・・orz
0138デフォルトの名無しさん
2006/12/02(土) 22:11:17だから、共通化して引数でCH指定しろと何度(ry
0139デフォルトの名無しさん
2006/12/03(日) 00:30:050140137
2006/12/03(日) 04:37:45刷り込まれてるのですよ。この場合だと、呼ぶほう 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の石使わせると「動かねエ・性能出ねエ・石ダメじゃん」は必至。
0141137
2006/12/03(日) 04:47:18デカくて、点々が荒い。客の会社であたりまえに使われてるDELLの17吋がキレイで夢みたい。
1と2の入口名をchONEputs()、chTWOputsとでもしないと、このディスプレイでは、またやりそう。
0142デフォルトの名無しさん
2006/12/03(日) 12:29:59あんたも同僚さんも教条主義的に物事考えすぎなんじゃないの?
その方法がよいか悪いかを判断する基準を、あんたの現場を知りもしない
どこかの学者さんとかに任せるの?w
プログラムは問題解決の手段なんだから、判断基準は、どちらがその問題を解決するにあたって
適合的かどうかでしょう。
まあそうはいっても、「特別の理由がない限りは」引数でChannelを指定する方法を
採用すべきだろうね。理由は、
(0) コードの直観性に関しては、呼び出すその部分だけ見ればどちらも大差ない。
(1) 余程頻繁に呼び出されるのでもない限り、Chによる処理の分岐程度のオーバヘッドは
大昔のマイコンのような貧弱な環境でも問題にならないはず。
(2) 指定するチャンネルを動的に変化させる必要がある場合、>>137式のコードの場合、
呼び出し元の数だけ呼び出し先を選択する余分なコードが必要になる上、
そのコードを読む者に「こんな冗長なことをあえてしているのには何か特別な理由があるのか?」
と余計な詮索を強いることになる。
0143デフォルトの名無しさん
2006/12/03(日) 15:23:21保守性を考えればどちらにすべきか一目瞭然ではないかと。
仮に性能が出ないというのであれば、それを実測した後に対処すればいいとおもうが。
0144デフォルトの名無しさん
2006/12/03(日) 15:56:53Ch1とか2とか抽象化している時点で>137の考えは破綻しているような。
0145137
2006/12/03(日) 16:14:35PGが見ることを考えて標準的な書き方にしといたほうがいいですね。いつか誰かが読んだとき
(2)みたいなことで頭ひねらせたらすまないですもんね。割り込み処理がCH分あるのは
しょうがないとして、タスク側のインターフェースはスキーリしますね。
箇条書きの項番が(0)から、ってのが、さすがクミコ屋さん。
0146デフォルトの名無しさん
2006/12/04(月) 08:10:031を使うか2を使うかは#define で切り替えればいいのだから
0147デフォルトの名無しさん
2006/12/04(月) 10:29:330148デフォルトの名無しさん
2006/12/04(月) 10:33:110149デフォルトの名無しさん
2006/12/04(月) 12:55:03secondary
tertiary
0150137
2006/12/04(月) 16:01:27メイン/サブだと、なんか主に使うCHとついでに使うCHみたいに感じますね。
実際はどれも並列で、使うときにどの装置とつなげるか適当に決めます。
0151デフォルトの名無しさん
2006/12/05(火) 07:31:300152デフォルトの名無しさん
2006/12/05(火) 17:47:03PE.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を無効にしない為には、どのようにすれば良いでしょうか?
0153152
2006/12/05(火) 17:48:04OR.B #imm,@(R0, GBR)
というのがあるんですが、これを使ってくれないのは何でなんでしょう?
0154デフォルトの名無しさん
2006/12/05(火) 22:11:03その OR.B #imm,@(R0, GBR) を #pragma inline_asm で使うか
その前後で割り込み禁止許可したらいいんじゃないの?
今 SHの環境は削除してるから C言語でもっと巧く出来るのかもしれないが
0155152
2006/12/06(水) 00:26:52H8/300では1命令で出来たので、苦労無かったのですが・・・
割り込みを禁止許可を前後に入れる方向でやってみます
0156デフォルトの名無しさん
2006/12/06(水) 04:42:42それだと全種類の割込みを止めてしまう。それよりはPEDRを使うことが判っているデバイス
(uartとかDMAとか)の制御レジスタの割込み許可bitを禁止する手法のほうが、
巻き添えを食う処理が少なくてベターだとおもいます。
0157デフォルトの名無しさん
2006/12/06(水) 11:18:04MOV.W L11,R0
add
OR #1,@(R0,GBR)
0158デフォルトの名無しさん
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
}
こんな感じでいいんじゃないの?
0159デフォルトの名無しさん
2006/12/06(水) 12:33:30どこの馬鹿が考えたのかと思う。
シンボルの再定義もできないんじゃ、ルーチン内でレジスタにシンボル割り当てて
高級言語のローカル変数みたいな使い方することができないじゃん。
0160デフォルトの名無しさん
2006/12/06(水) 14:01:02H8/M16 あたりから上はC言語でしょ?
0161デフォルトの名無しさん
2006/12/07(木) 05:57:35というよりは、cの最終フェーズのためにだけ作られたと考えたほうがいいでしょう。
ANSI にないbit代入の書式までcで書けるし。ベクタ部もcで書けるし。
でも sfr.1 = (判定式)? 1:0; みたいな書き方するとコンパイラがバグったな。
0162デフォルトの名無しさん
2006/12/22(金) 03:12:23文字くっきりでとても快適です。1と2見間違える対策にはこれがいちばんみたいです。
DOS窓でLSIC80走らせるだけにしてはえらくオーバースペックですけど。
0163デフォルトの名無しさん
2006/12/27(水) 21:59:420164デフォルトの名無しさん
2006/12/27(水) 23:51:380165デフォルトの名無しさん
2006/12/28(木) 21:57:340166デフォルトの名無しさん
2006/12/28(木) 22:41:500167困ったさん
2007/01/08(月) 23:16:00連続系の制御と離散系の制御の本質的な違いって説明せよ。
0168デフォルトの名無しさん
2007/01/08(月) 23:38:500169困ったさん
2007/01/08(月) 23:42:18知識まったくないんでわかりやすく説明してもらえませんか?(>ω<)
0170デフォルトの名無しさん
2007/01/08(月) 23:59:370171困ったさん
2007/01/09(火) 00:22:520172デフォルトの名無しさん
2007/01/09(火) 00:32:230173困ったさん
2007/01/09(火) 00:37:410174デフォルトの名無しさん
2007/01/09(火) 00:57:060175デフォルトの名無しさん
2007/01/09(火) 01:14:270176デフォルトの名無しさん
2007/01/09(火) 14:15:16xの値は?
0177デフォルトの名無しさん
2007/01/09(火) 17:24:510178デフォルトの名無しさん
2007/01/09(火) 22:32:42-3, 4
制御系と何か関係あるの?
0179178
2007/01/09(火) 22:33:230180デフォルトの名無しさん
2007/01/19(金) 07:41:51edit間違いは目に見えて減りました。不具合は「タイムアウトはこの位で」の辺りで、
これはつながる相手次第で現場合わせ的なとこがあるのでしょうがないかな。
DOS窓でmake実行するとトコトコ流れずに一瞬で終わってしまうのがなんか虚しい・・・
0181デフォルトの名無しさん
2007/01/20(土) 13:14:533つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われている
□自社に仕事を持ち帰れるように言われるとムカつく
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにする
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなく自分のプライベートについても指示して欲しい
□自分の月額金額を知らない
□派遣先社員より自分の生涯収入が低いのは当然だ
□派遣先に尻尾を振り、いつまでも派遣を続けることが大切だ
0182デフォルトの名無しさん
2007/01/24(水) 02:26:590183デフォルトの名無しさん
2007/01/31(水) 03:12:432Dhという文字になってしまうんですね。"\x82Txxx"という文字列では82hの次に'T'が出るのに。
Dが16進数だからというのは判るのですが、こういう場合どのような表記にすればいいのでしょう?
0184デフォルトの名無しさん
2007/01/31(水) 03:42:29LSICは
"\x82""Dxxx"
の記法は通るのかな?
通らないなら、\x82とDxxxでリテラルを分けて順次出力するなり、
プログラム側でくっつけてから一気に出力するなり。
0185デフォルトの名無しさん
2007/01/31(水) 04:42:32その後K&Rなんか見たのですが、\xhhで1文字になる、となってました。
コンパイラのバグか、仕様か、微妙なとこを踏んづけたなあと思いました。
0186デフォルトの名無しさん
2007/01/31(水) 07:57:08\xのあと、16進数と見做せる文字が4文字までは数値化されるはずです。
>183の例では、0x82Dと解釈され、文字列中のために上位が捨てられて0x2dとなったのでしょう。
0187183
2007/01/31(水) 13:44:48その辺は各コンパイラの「実装にまかせる」になってるのではないでしょうか。
183の場合ですが、\x82D0・・・だったので、4文字までならD0になりそうなものですが、
2Dhの後'0'でしたから。
0188デフォルトの名無しさん
2007/01/31(水) 15:24:08実装系によるのか?
\x082D0では?
0189183
2007/01/31(水) 16:10:01ことらしいです。¥xhhについては、何文字にしろとは書いてなかったです。
0190183
2007/02/01(木) 00:40:26\x0082D0・・・と書いたら08hと'2'、'D'・・・になりました。
やはり暗黙に3文字ということになっているようです。
0191デフォルトの名無しさん
2007/02/01(木) 03:39:25配線して動かすことって可能でしょうか? ハード屋さんは再開発論外で、ROMを実行できる
のがいいとか言ってて、そりゃあんまりと思いましたが。
82514台の割り込みが8259に入ってたのをIR0〜7のうち4本に繋げれば、タイマと割り込みは
自前でできそうに思えます。KC80のリセット時デフォはZ80互換ですし。
前スレでH8でuartエミュレートする相談とかしましたが、KC80のほうが石は安いですよね
0192デフォルトの名無しさん
2007/02/01(木) 10:33:290193デフォルトの名無しさん
2007/02/02(金) 00:59:530194デフォルトの名無しさん
2007/02/02(金) 07:58:16それじゃ三角形も渡来アングル?
0195デフォルトの名無しさん
2007/02/03(土) 09:07:45割り込み端子もあるんで回路少し工夫すれば8259も不要だろうけど
互換取る為に全部付けるわけ?
でもさ、KC80A12 に8251を4個にとチップ集めて
組み立てるコストから考えるとH8なりM16なり 1個でやった方が簡単だと思うけどねえ
0196デフォルトの名無しさん
2007/02/03(土) 09:32:01キミは前スレじゃなくて、2年前の・・・2つ前のスレの人だね
1年半、どっかから部品集めては作ってたのか・・・・
UART2個乗ってる1チップで適当なのを2個積んで
ポート同士をつなでハンドシェークで通信させるのがソフトもハードも楽で、コストも低いだろうに
0197191
2007/02/03(土) 14:11:03>>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) とかやるんですよね?
0198デフォルトの名無しさん
2007/02/03(土) 14:53:030199デフォルトの名無しさん
2007/02/03(土) 16:17:37そのハード屋リストラ汁
0200デフォルトの名無しさん
2007/02/03(土) 16:40:33OAKS16MINI
http://www.oaks-ele.com/oaks16_mini/oaksmini.htm
これ2つ買って パラレルポートをつないだ方が簡単だと思うのだが?
0201デフォルトの名無しさん
2007/02/03(土) 16:47:57何をやりたいかで手段を考えるべきではないだろうか?
0202デフォルトの名無しさん
2007/02/03(土) 16:49:22いっそFPGAでやたらPinだけでてるサブ基盤作って使いまわせ
0203191
2007/02/04(日) 03:59:56>>200さんの見てみました。>>196さんのお奨めとポリシーは似てるみたいですね。2-CPUで
ハンドシェイク取る機能の作りが厄介そうな気が・・・共有メモリとか、そのメモリの排他制御とか・・・
>>201 やりたいことは、4800のuart、4CHの交通整理(合流・分流・選択・除外・変換)です。
新しくCPU決めてボード起こしなおすと\100ぐらいかかるからできない、ってハード屋さん
言うんですよ。 それで小手先で石だけ替える技がないかなあと・・・
>>202 命令セット見れば思い出すのでマクロは要りません。
FPGAって判りませんが実験用の基板みたいな奴のことですか?
足の変換ボードだけのコスト、CPU+uartチップ(+電源+コネクタ)のコストって考えると
足の変換ってのも・・・あ、それもCADで図面書いて基板屋に外注するとすごいコストになるのかな
0204デフォルトの名無しさん
2007/02/04(日) 04:06:44(′・ω・`)つ �I�I�I�I�I�I�I�I�I�I
アゲル
0205デフォルトの名無しさん
2007/02/04(日) 04:44:510206デフォルトの名無しさん
2007/02/04(日) 04:49:13D.P.S.
0207191
2007/02/04(日) 05:30:33>>204 アリガト・・・マソなんですよ、実は
0208デフォルトの名無しさん
2007/02/04(日) 09:15:21秋月の加速度センサかなんかをPICで
計測するプログラムをCで書いてる?
ttp://n.limber.jp/n/CRRPZ70Hq
0209デフォルトの名無しさん
2007/02/04(日) 10:20:52そんなハード屋なんかから仕事貰って自分を落としてどうする。
おまえ、うちの会社に来い。大した給料は出せないがFPGAを一から勉強させてやるぞ。
0210デフォルトの名無しさん
2007/02/04(日) 10:46:121つのメッセージのブロックサイズはどれくらいなの?
せいぜい256バイト程度でしょ?
あと、ハードフローは使ってるの?4800程度ならフローも不要じゃないの?
だったら >>200のCPUボード使って30万くらいでソフト一式作ってあげるよ
0211デフォルトの名無しさん
2007/02/04(日) 11:03:130212デフォルトの名無しさん
2007/02/04(日) 11:04:27ぼくもいっていいですか?
0213デフォルトの名無しさん
2007/02/04(日) 11:20:210214デフォルトの名無しさん
2007/02/04(日) 11:34:320215デフォルトの名無しさん
2007/02/04(日) 11:37:47ハンドシェークって・・・・チップ間の通信は全部ソフトで実現するんだよ
ポートは沢山あるから
片方は完全にスレーブにして、シリアルから1バイト受信する都度 FIFOに入れてパラレルで送信するだけ
逆にデータを送る時もFIFO入れてマスターが全て管理するようにすれば
何の工夫もいらないだろう
⇔データ8bit 双方向
→COM2/3 COM2かCOM3かの種別
→ReqRead バスから読みたい
→ReqWrite バスに書きたい
←ACK バスにデータを書いたか、バスからデータを読んだかしたよ
←NG 今データ無い・又は送信出来ないのにそんなReq送らないでしょ
←COM2-今送れない(送信FIFOフル)
←COM3-今送れない(送信FIFOフル)
←COM2-受信データ有
←COM3-受信データ有
0216デフォルトの名無しさん
2007/02/04(日) 12:00:34・ACK/NGを出してる間はReqが落ちるのを待ち、ACK・NGを落とす
・バスはオープンにしてReqが何も無ければ待つ
・ReqWriteがあれば
FIFO-Busyでなければバスから読んでFIFOに書き ACKを立てる
FIFO-BusyならNGを立てる
・ReqReadがあれば
FIFOデータをバスに書いてACKを立てる
FIFOデータが空ならNGを立てる
--- 上で待つと書いてるのは実際にそこで待つのではなくreturnして次のポーリングを待つという事
0217デフォルトの名無しさん
2007/02/04(日) 12:10:21そのステータスをポートで表示するだけ。
だからまあFPGA使っても殆ど同じコードというか、同じ事するだけだね
マスターもスレーブとの通信用に小さいFIFOを4つ持って
NG/ACKを見て、それが落ちてれば送受信FIFOとステータスを見て
送りたければバスに書いてReqWrite
データを読みたいならReqReadするだけ
0218デフォルトの名無しさん
2007/02/04(日) 17:12:25きっと>>204にとっては、まだ夜。。。。。
0219デフォルトの名無しさん
2007/02/04(日) 17:51:39死ねよ
0220デフォルトの名無しさん
2007/02/05(月) 01:04:300221デフォルトの名無しさん
2007/02/05(月) 01:27:010222デフォルトの名無しさん
2007/02/05(月) 03:20:110223191
2007/02/05(月) 05:55:43>>215-217 ありがとうございます。勉強になるなあ、メモメモ・・・
>>210 ブロックは建前上256、実質150ぐらい。フローも無しです。
OAKSミニ、MPUの仕様のとこ見てみたら、RAMがちょっと少ないですね。ringの他に、
再送用に記憶したり、複数のCHからの情報を合成したりする記憶も要るので。
元のシステムで8KBなのは石が遅い分もあるのですが、せめて4KBぐらい・・・
ってSRAM増設の事例が出てましたね。 ソフト的にやりたいことは全部出てますね。
「汎用ボードでやったら?」ってハード屋さんに言っても、工場の基準とかあるからうんとは
言わなそうです。(けっこうダーティな環境で使われるので、9pinDSUBなんかじゃなくごつい
接続端子がついてます。) 通信周りだけならこんなに安いんだよ、って喚起するのはありかな。
0224デフォルトの名無しさん
2007/02/05(月) 07:49:39他に必要なのはMAX232C系のレベル変換だけでしょ
そんなもん、ピン変換の基板自作するコストで作れるでしょ
俺なら片面基板でも作れるけどね
この条件ならいくらでも探せるだろ。
Z80系が好きなら東芝のTMP91シリーズなんてのもあったけど・・・もう廃品種で
今はその上位のTMP900シリーズだもんな
0225191
2007/02/05(月) 13:33:002CH内蔵のチップ+2CHのuartチップではどうなのでしょう?
Z80は特に好きでもないので、H8系なら楽かなあ程度ですけど。
0226デフォルトの名無しさん
2007/02/05(月) 13:40:11やる気があって高くない給料に納得できるのなら是非私の勤める会社に。
今、来年にはFPGAをばりばり使える(予定の)技術者を募集しています。
今年はC/C++を書きながらのFPGAの勉強になるから楽ではないと思うけど。
0227デフォルトの名無しさん
2007/02/05(月) 14:04:120228デフォルトの名無しさん
2007/02/05(月) 14:17:240229デフォルトの名無しさん
2007/02/05(月) 14:51:22KC80はROM/RAMを外付けしなければいけない。
このサイズのROM/RAMは保守部品になっていて高いよ
8251もパッケージが結構大きいから値段はそれなりにする
どんな購入ルート持ってるか判らないけど
H8/3687 あたりなら高くても1個1,300円程度
1チップCPU2個の方が安価だと思うよ
UARTはパソコンにもRS232Cが付かなくなったように消えてゆく部品
これをわざわざ採用してしまえば、結局部品調達に苦労するのが見えている
どうしても安価にというならPICあたりを>>215の方法でUARTとして使うくらいだろうけど
結局複数の部品使うと苦労するよ。
0230225
2007/02/05(月) 17:39:45今度ボード起こすときはROMもRAMもuartチップも積まない・・・CPUと端子だけみたいに
しないとコスト出せないのかあ。 スレーブのほうが低機能でよくても、異なるCPU積むより
同じの2個のほうが調達コストとかデバックとか考えたら安くつくんでしょうね。
0231デフォルトの名無しさん
2007/02/05(月) 18:08:50余程の価格差がないなら同じ物を二つ積むべし。
特にハード周りの調整コストが段違い。
0232デフォルトの名無しさん
2007/02/05(月) 21:55:580233デフォルトの名無しさん
2007/02/06(火) 01:08:430234デフォルトの名無しさん
2007/02/06(火) 07:09:32結局作り直しになるんだから、長期出荷の小ロット品は、部品出来るだけ使わない事だね。
その1チップマイコンが廃品種になる可能性もあるけど、
そうなったら諦められるだろ? というか出来るだけそのチップ使って在庫しておくしかないね。
そういう意味でPSoCには期待して見てたけど、なんか品種がどんどん増えてるからちょっとアレだな。
ROM/RAMサイズはフルスペック共通。品種種別はピン数だけくらいじゃないとな
0235デフォルトの名無しさん
2007/02/06(火) 07:25:46(そのEE-PROM 当時 TVチューナー用に使われてて安価だったもんだから)
電子VRが廃品種になっただけで、設計しなおしのコスト回収出来そうにない
売り上げだったもんだから こっちも廃品種にするしかなかったり
今はもうICは1チップマイコンと アナログは358/393だけしか使わないぞと
74HCxxxとかのロジックも使ってしまう事はあるけど、怖いんだよな
だから、トランジスタと、フォトカプラを大量に使う設計に
0236デフォルトの名無しさん
2007/02/07(水) 06:47:20靴下は全部同じ柄にする-->洗濯したとき合わせるのが楽。ローテーションで平均にへたる。
0237225
2007/02/08(木) 07:41:44三菱の石がずっと生き残ってきてるんでしょうか? H8よりは使いにくそうな気がしました。
0238デフォルトの名無しさん
2007/02/08(木) 09:00:25M16はアキュムレータ型 演算はアキュムレータとメモリ間 68/65系
M16はH8に比べて品種が少ないのと
自動車分野でも使われてるから、比較的長寿命かなと期待してる
0239デフォルトの名無しさん
2007/02/08(木) 20:54:14・H8系はROM食うわおそいわで半端。M16系にしたほうがいい。
ほんとなんかねぇ。
0240デフォルトの名無しさん
2007/02/08(木) 20:56:410241デフォルトの名無しさん
2007/02/08(木) 21:10:58ロード⇒レジスタ同士の演算⇒ストア が必要なH8に比べたら確かに効率的。
だからレジスタが少なくてもコードは組みやすい
レジスタが少ないから命令長も比較的短い
あ、H8にもH8/300だけじゃなうて、
H8/500シリーズってのが昔あって、
これはM16Cと同じようにレジスタとメモリ間で演算が出来た。
同じクロック数なら500シリーズが実際速かった
でもいつの間にか消えてっちゃったね
ただH8/300はレジスタが32bit化されてるけどM16Cはレジスタペアで
RAM空間が16bit以上になると多少面倒(でもM16Cの方が内蔵RAMは豊富なんだよね)
0242デフォルトの名無しさん
2007/02/08(木) 21:35:011、メモリ⇒レジスタ
2、INC レジスタ
3、レジスタ⇒メモリ
の3命令とアセンブラレベルでなる
M16Cだと inc 命令1つ(3サイクル命令)
0243225
2007/02/09(金) 04:02:50割り込みとタスク両方からカウンタを触るのに、di/ei しないでいいのが嬉しかったりしました。
M16Cの内蔵メモリは、1K/2Kではありませんか?H8/16bitだと8K/16Kのシリーズがありましたが。
>>240 三菱は兵器作ってるんで、案外意識してたりして・・・
0244225
2007/02/09(金) 04:16:58ルネサスのコンパイラはタダですよね?H8のコンパイラはライフボートのよりちょっとアホだった
覚えがありますけど。
0245デフォルトの名無しさん
2007/02/09(金) 07:45:15M32CシリーズならUART5チャンネル持ってるけど、
これ1個ってのは誰も勧めないなんだな
0246225
2007/02/09(金) 16:55:35それより、前々スレで教えてもらった、タイマ端子でuartエミュレートさせるのを1CH分やる
手法のほうが、全体では安く上がるとおもいます。これはお試しコード書いてみていける、
とおもいました。4CHのうち1CHだけドライバ層を書き換えるだけでアプリは同じですみます。
あとはハード屋さんがいつボード起こす気になってくれるかなんですよね。
0247デフォルトの名無しさん
2007/02/14(水) 06:13:14それって当然ですけど天文時計とはずれてきますよね?
だからソフトでときどき書き込んでやる必要がある<--これってパソコンでも原則おなじですよね?
0248デフォルトの名無しさん
2007/02/14(水) 06:43:270249デフォルトの名無しさん
2007/02/17(土) 02:53:39起動時からの慣性誘導+GPS情報による補正で地球上のたいていの所には行けるでしょ。
0250デフォルトの名無しさん
2007/02/17(土) 05:41:00GPSって時刻情報も含むんジャマイカ。
0251デフォルトの名無しさん
2007/02/17(土) 07:16:47なんの為に正確な時刻に同期する必要が?
0252デフォルトの名無しさん
2007/02/17(土) 09:14:29時間刻みと時間とは関係ないけど、離れた2点で時間刻みを正確に得るには
時間が正確なのが一番簡単でしょ?
0253デフォルトの名無しさん
2007/02/17(土) 14:32:50時刻によって衛星の位置が変わるから
0254デフォルトの名無しさん
2007/02/18(日) 17:01:340255デフォルトの名無しさん
2007/02/18(日) 17:17:02利用権買ったオマケに米国債が付いてくるなら
一粒で二度おいしいじゃんw
0256デフォルトの名無しさん
2007/02/18(日) 20:19:11いや、そもそもCPUのタイマじゃ間に合わんほど
長く飛んでるもんなのか、ミサイルって?
相対的な時間が十分に拾えるなら時刻情報はいらんだろ?
0257デフォルトの名無しさん
2007/02/19(月) 11:28:15GPSもくそもないわな
0258デフォルトの名無しさん
2007/02/19(月) 21:02:28なんだそれは
0259デフォルトの名無しさん
2007/03/01(木) 08:02:480260デフォルトの名無しさん
2007/03/02(金) 06:56:360261デフォルトの名無しさん
2007/03/03(土) 09:35:53巡航ミサイルとかじゃね?
0262デフォルトの名無しさん
2007/03/10(土) 01:28:23俺のところもこないだそれに近い事があったな。
まあコンパチ製品があったからよかったが。
0263デフォルトの名無しさん
2007/03/10(土) 01:36:24ここ人いねーなー。
0264デフォルトの名無しさん
2007/03/10(土) 06:44:518*8-->16 16*16-->32 という掛け算が無いんですよね。なので16*16で32bitの結果を得たい
とき、どちらもlongにキャストして掛け算するのですが、当然重いです。
なんで標準装備になってないんでしょうね・・・
0265デフォルトの名無しさん
2007/03/10(土) 08:05:49インラインアセンブラとかで書くから必要無いし・・・
それにDSPスタイルのように、固定小数点でも色々だし
0266デフォルトの名無しさん
2007/03/11(日) 21:39:48ディジタル制御について詰まっています。
その手の本で机上の計算方法があるのですが、実際にプログラムに展開するまでがわからんのです。
よい道標はないもんでしょうか。
0267デフォルトの名無しさん
2007/03/11(日) 21:48:19本読んで具体的な質問もできないくらいならあきらめれ
0268デフォルトの名無しさん
2007/03/11(日) 22:29:060269デフォルトの名無しさん
2007/03/11(日) 22:39:46こういう勘違いしてる奴が多くて困るよ。
0270デフォルトの名無しさん
2007/03/11(日) 23:05:43どうしても押し込み型の作り方になるのは。
0271デフォルトの名無しさん
2007/03/12(月) 01:03:54人いないかと思ったがレスありがと
>>267
具体例のなかったことについてはすまぬ
例えば、伝達方程式を導くことができたなら、マイコンなりに実装するのは
その伝達関数のz変換を実装することになるのか?
あきらめるわけにはいかんのでヒントをオクレ
文献を読んだけど、ディジタル制御の本で関数導出からデジタル制御の実装まで
書いた本って意外とないのね。
0272デフォルトの名無しさん
2007/03/12(月) 06:01:55しゅつりょくはどんな量なのか、書いちゃまずいの?そういうの書かなきゃ話すすまないじゃん。
0273デフォルトの名無しさん
2007/03/12(月) 07:08:38Z変換の結果まで求まっていて、それをどう書けばいいのか判らないのか?
0274デフォルトの名無しさん
2007/03/12(月) 07:26:370275デフォルトの名無しさん
2007/03/12(月) 07:38:31http://www.amazon.co.jp/s/ref=nb_ss_b/250-0492448-1389050?__mk_ja_JP=%83J%83%5E%83J%83i&url=search-alias%3Dstripbooks&field-keywords=%8EO%8F%E3+%92%BC%8E%F7&Go.x=12&Go.y=12
ディジタル信号処理入門―マイコン時代の波形処理技術の基礎と応用 なんて読んだ?
まだ中古なら手に入ると思う
http://www.amazon.co.jp/gp/offer-listing/4789831175/ref=sr_1_olp_6/250-0492448-1389050?ie=UTF8&s=books&qid=1173652365&sr=1-6
あと谷萩隆嗣先生のは持ってるよね?
http://www.amazon.co.jp/exec/obidos/search-handle-url/250-0492448-1389050?%5Fencoding=UTF8&search-type=ss&index=books-jp&field-author=%E8%B0%B7%E8%90%A9%20%E9%9A%86%E5%97%A3
0276デフォルトの名無しさん
2007/03/12(月) 12:58:110277デフォルトの名無しさん
2007/03/12(月) 17:20:270278デフォルトの名無しさん
2007/03/12(月) 17:25:130279デフォルトの名無しさん
2007/03/12(月) 17:35:330280デフォルトの名無しさん
2007/03/12(月) 22:11:53携帯なんて、完全に少数派
0281デフォルトの名無しさん
2007/03/13(火) 00:01:30本来ITRONはGUIなんぞ載せようがない
小型のTargetに強みがあるわけで、
携帯に使われてたことの方が異質
>>270
いや、押し込むにしといたって、
あたりぐらいは付けて設計しないとエライ目にあうぞ
0282デフォルトの名無しさん
2007/03/13(火) 00:34:58入力がどんな量っていうのは、デジタル制御においてはハードの検出系のA/D変換の結果と考えていますが
考え方が違うのですかね。出力はPWMってことではだめですか?
>>275
書籍紹介ありがたう
参考にさせてもらいます
0283デフォルトの名無しさん
2007/03/13(火) 01:05:54ピントがずれてる。要するに何をやりたいのか全く分からん。
0284デフォルトの名無しさん
2007/03/13(火) 01:12:080285デフォルトの名無しさん
2007/03/13(火) 05:58:05別分野の人にも通じるとおもうけど、きっと言っちゃいけない大事なことなのね。
まあ、何bitのA/D→変換→何bitのPWM、変換の式や時系列はこれこれにしたいのだが、
この部分がわからんぐらいに書いてくれないと伝わらないよね。
0286275
2007/03/13(火) 07:04:41機械制御系の話なんだね。
機械制御系だと制御系の応答特性がはっきり判ってる事は滅多にない
それが判らない以上、Z変換とかの理論は、まあ机上の空論みたいなもんだ
実用的にはPID制御に毛を生やしておけば、まあ普通は十分なんじゃないの
0287275
2007/03/13(火) 07:15:49信号処理なんかと違って、制御は、特性が刻々と変化してゆく事が多い。
Z変換した各係数が変化してゆくイメージだね。
だから、逆に古典理論そのままに、パラメータを意識しすぎると巧くゆかない。
そこにノウハウが、やっぱり多少は必要で、まあ簡単な話じゃないよ
0288デフォルトの名無しさん
2007/03/13(火) 15:12:22そーなんですか!
制御系の研究してる院生なんですが、現実とはなんとも恐ろしい世界ですね。
しかし、それならH無限大なり適当な適応制御なりのロバスト性の強いものにした方が
いいんじゃないの、とか思っちゃうけどそうでもないんですね。
動的に変わっちゃうなら、いまの適応制御じゃどうしようもなさそうですが。
0289デフォルトの名無しさん
2007/03/13(火) 18:32:15ま、相手の電源が切れちまってるとかなw
0290デフォルトの名無しさん
2007/03/13(火) 19:31:38そこまで含めたロバストな制御器作ろうと思ったら
(例え設計可能でも)ロクな性能でませんなw
それはスーパバイザーがなんとかする話ではでは。
もしかして、それでも大丈夫なほどPIDは頑強だとか…
0291266
2007/03/13(火) 21:32:32情報出し惜しみしてすんません。
電圧レギュレータを作成しようとしています。電圧値をA/Dにて取り込みPWM制御(キャリア:20kHz)で出力電圧の安定化を図りたいと思います。
現状はPID制御である程度特性が出ていますが、現物合わせ色が強いのでより良い方法について探していました。
書きっぷりから判るように、制御工学は学んでいません(´Д⊂グスン
0292デフォルトの名無しさん
2007/03/14(水) 00:32:56その程度のフィードバック制御なら、
理屈どおりに動かない現物への調整や
刻々と変わる環境条件に合わせこむための
現物あわせがメインになるんじゃあるまいか?
0293デフォルトの名無しさん
2007/03/14(水) 05:09:50マイコンじゃなくて抵抗とコンデンサの奴とかもあるし。何でまた自作を?
0294デフォルトの名無しさん
2007/03/14(水) 07:59:020295デフォルトの名無しさん
2007/03/14(水) 08:20:30電圧は入力側と出力側のどっち? あるいは両方?
出力値からのフィードバックだけなら、単に電源IC入れた方がいいわな。
0296デフォルトの名無しさん
2007/03/14(水) 08:22:520297デフォルトの名無しさん
2007/03/14(水) 08:26:18それができないなら沈黙すべきだろ。
俺はよくわからんから質問内容に関しては沈黙するよ。
0298デフォルトの名無しさん
2007/03/14(水) 08:37:46誰のことを言ってるんだ??
0299デフォルトの名無しさん
2007/03/14(水) 10:10:58本来 情報システム板
http://science6.2ch.net/infosys/
で扱うべき話題なんだろうけど、あっちはダメだからコッチに来るんだろうが
ここは、 汎用系・オープン系・制御系(組込系) というように別けた場合の制御系のプログラミングについての話題
を扱うスレであって
制御理論を扱うスレではないんだよ。
多少は判る人もいるから相手はしてくれるだろうけど、チョッと学生さんの卒論レベルだと
0300デフォルトの名無しさん
2007/03/14(水) 10:38:010301デフォルトの名無しさん
2007/03/14(水) 10:50:300302デフォルトの名無しさん
2007/03/14(水) 13:03:46そこはもうなんつうかアレな場所になってますな
0303デフォルトの名無しさん
2007/03/14(水) 13:11:290304デフォルトの名無しさん
2007/03/14(水) 13:18:05まあ、温度制御くらいなら内容量がゆっくり変化する程度だろうけど
それでも相転移するような内容物なら急激な特性変化はあるだろうし
機械物は、そもそも動かす事で負荷も変わるわけで
そういう変化を含めての使える範囲で使うという事でしょ
0305デフォルトの名無しさん
2007/03/15(木) 11:44:39あながちスレ違いでもない気がするし、>>299の情報システム板も何か違うと思う。
0306デフォルトの名無しさん
2007/03/15(木) 12:37:38回答を得たいならそれなりに情報出せって事さ。
それなりに情報出て具体的な話になれば、エンジニアが多いからまあね。
でも、どうしたらいいの? だけで質問されてもこっちも頓珍漢な話しかできないからお互い気まずい。
0307デフォルトの名無しさん
2007/03/16(金) 23:23:58YRPに何度か行ったって書いてたから
0308デフォルトの名無しさん
2007/03/18(日) 16:01:38アドレスは「下16bitのみ」で書いてあって、はじめにとか概要の所には上位アドレスはこれだ、
とか書いてないみたいなのです。H8/30xxシリーズでは制御レジスタアドレスはFFFFFFxxに
定義すればよかったのですが、こちらでも同様でいいのでしょうか? それとも00FFFFxx?
0309308
2007/03/18(日) 16:18:000310デフォルトの名無しさん
2007/03/19(月) 15:20:23マ板の携帯スレに投下してきてくれw
0311308
2007/03/22(木) 04:26:33コンパイラ使ってみたら、@aa:8のアドレッシングをポートI/Oに使うところで対象アドレス
空間が違うから冗長な命令が出てしまった。ルネサスのコンパイラ+へう+JTAGで\20ぐらい・・・orz
ルネサスのコンパイラにはsfrプリミティブ無いからポートアクセスの書式めんどうだし。
0312デフォルトの名無しさん
2007/03/22(木) 09:23:430313デフォルトの名無しさん
2007/03/22(木) 10:12:24>sfrプリミティブ無い
そんなことはないでしょ?
0314308
2007/03/23(金) 06:30:22具体的にはCD借りてインスコしてから判りますが、ルネサスのH8/3000とSHの使ったときには
無かったので、無いだろうと思ってます。 ライフボートのsfrはこんな感じで使えました↓
sfr SMR0 = 0xFFFFFFxx; /* I/Oレジスタのアドレス空間 */
SMR0.7 = 0; /* RXRDYビットをオフる。 */
ルネサスだとSMR0をビットフィールドを持つ構造体に定義して、(*(char*))0xFFFFxx番地に
写像して、その構造体.bitフィールド=0; とか書くことになります。う〜めんどくさ。
0315デフォルトの名無しさん
2007/03/23(金) 06:38:31SMR0.bit7 とか SMR0.b7 なら代用が出来るけど、そんな記法使うと移植性がなくなるじゃん
0316デフォルトの名無しさん
2007/03/23(金) 06:57:58制御止めたほうがいいよ。
0317308
2007/03/23(金) 07:38:16必要で、SMR0.7に翻訳されます。移植性と言う点では同じだとおもいます。
もう長いことやってるので、年金もらうまで辞めません(w
最近の、使いもしないdefine何百行も書くやり方はノイズを埋め込んでいるようで嫌いです。
0318デフォルトの名無しさん
2007/03/23(金) 07:49:340319デフォルトの名無しさん
2007/03/23(金) 09:42:120320デフォルトの名無しさん
2007/03/23(金) 10:20:420321デフォルトの名無しさん
2007/03/23(金) 11:34:29をやるなら、struct/unionで型作って
#define SMR0 ((*(型*))0xFFFFxx)
でいいじゃない。
sfr の定義から 一括置換できるでしょ
0322デフォルトの名無しさん
2007/03/23(金) 12:00:300323デフォルトの名無しさん
2007/03/23(金) 12:45:33ルネサスはWebで配布してるよ、sfrの定義
defineの山でノイズだらけだけど
0324デフォルトの名無しさん
2007/03/23(金) 13:03:080325314
2007/03/23(金) 15:00:42ライフボートのコンパイラではそういう定義をみんな自分で作ってたので、最小限の名前しか
つけなかったです。
ルネサスので、ポートに対し bclr/bset を吐かせるのに、PORT.bitフィールド=0/1; なら出ると
おもいますが、PORT &= 0x7F; PORT |= 0x80; でも bclr/bset が出ますか?
もらったら試してみようと思っていますが、ご存知の方がいらしたら教えてほしいです。
0326デフォルトの名無しさん
2007/03/23(金) 15:32:04PORT.byte = 0x7f;
PORT.bit.b0 = 0;
こんな風に書く
っていうか、普通にCの仕様の範囲内でやってる
bclr/bsetは、ルネサスのコンパイラならやってくれるらしいと、
中の人が書いてる本にあった
0327デフォルトの名無しさん
2007/03/23(金) 18:01:570328デフォルトの名無しさん
2007/03/23(金) 19:35:410329314
2007/03/24(土) 04:21:56H8は「このbitが1であることを確認したあと読み取ってからゼロを書いてね」っていう
ポートが多いですよね。そういうときバイト書き込みだと冗長になりますね。
if( PORT & 0x80 ) {
PORT = PORT & 0x7F;
} なんて流れになります。他のbitを変更しないために読み取る所が冗長。
1bitのフィールドに0/1を代入すれば bclr/bset が出るのは推測つくのですが、
1bitのマスク操作で出るかどうかはコンパイラの丁寧さ次第なんですよね。
AduCのコンパイラはチビ助の石にしては丁寧なコードを吐いてくれましたが、
ルネサスのはあんまし期待できそうにないです・・・
0330デフォルトの名無しさん
2007/03/24(土) 08:06:54H8のビット操作命令はRead-Modify-Writeだから明示的に読み出す必要は無いんじゃないか?
バイト書き込みにしたって、マスクするときに読んでるんだからわざわざチェックする必要はない。
PORT &= 0x7F;
は、
mov.b @PORT:8, r0l
and.b H'7F, r0l
mov.b r0l, @PORT:8
または
bclr #7, @PORT:8
となるはず。
# 関係ないけど、h8300-{hms,elf}-gccはbclr/bsetを吐いてくれない・・・
0331デフォルトの名無しさん
2007/03/24(土) 08:45:39気になるなら64K制限があるのは無料だから試してみればいいじゃない
0332デフォルトの名無しさん
2007/03/24(土) 09:14:250333デフォルトの名無しさん
2007/03/24(土) 15:29:570334デフォルトの名無しさん
2007/03/25(日) 14:53:07H∞制御を勉強しようと思うのですがよい参考書があったら教えてください。
現代制御は学生時代に勉強しましたが、状態空間表現には慣れましたが極配置法くらいしかやってません。
いきなりH∞はハードル高すぎるでしょうか。
0335デフォルトの名無しさん
2007/03/25(日) 15:46:580336デフォルトの名無しさん
2007/03/25(日) 16:03:32確かに。俺なんか制御系ってきくとPCにPIOボードを刺してサーボモータ制御したり
シーケンサをラダーでプログラミングしたりってことを思い浮かべてしまう。
0337334
2007/03/25(日) 16:19:330338334
2007/03/25(日) 16:32:540339デフォルトの名無しさん
2007/03/25(日) 16:41:30ココが一番マシだとは思うのだけど、実務家はH∞制御なんて興味無いかもしれないな
0340デフォルトの名無しさん
2007/03/25(日) 17:02:05仲間に入れてやれよ。
0341334
2007/03/25(日) 17:19:10確かに…
やっぱりここに居ようかな。
漏れはどっちかっていうと実務に応用できる形で勉強していきたいです。
なんでH∞なんかに興味を持ったかというと、
現代制御を使ってみてシミュレーションではうまく制御できるのに実装するとうまくいかなくなるという状況に多く遭遇したからです。
実装するとうまくいかなくなる以前にシミュレーションでも誤差を含めて(物理パラメータを数%狂わせるとか)やるとうまくいかなくなります。
極配置法や最適制御ではなかなか実現に限界があると感じました。
そこでH∞制御ではどうか、とういうことなのです。
0342デフォルトの名無しさん
2007/03/25(日) 17:30:38振り子の角度によって応答特性が変わってしまうだろ?
現実の制御はもっと複雑なのを相手にしなくちゃいけないから、万能薬は難しいさ
0343334
2007/03/25(日) 18:01:07全てに適するものは全てに最適ではないという言葉を聞いたことがあります。
しかし、ある程度考えられるパラメータの変動、たとえば、倒立振り子の例だと、物理定数(たとえば慣性モーメント)はわかっているがその定数は最大で5%の誤差が含まれているというような場合、
その5%の中でのワーストケースに対して制御器を設計するというようなことは出来るのではないでしょうか。
ワーストケースに対して制御器が設計できれば少なくともその5%の中でパラメータの変動があったとしても制御できるということにはならないでしょうか。
そのあたりの定量的な話を勉強してみたいんです。
0344デフォルトの名無しさん
2007/03/25(日) 18:03:41これを誤差と見るのかどうか
0345334
2007/03/25(日) 18:09:59非線形性の話と制御対象のパラメータの誤差の話がありますが、いま漏れが困ってるのはどっちかっていうと制御対象のパラメータの誤差の方です。
0346デフォルトの名無しさん
2007/03/26(月) 17:33:11量産でばらつきが出るならしょうがないけど
H∞は手持ちの本ではこの辺りに載ってた
良いかはわからない
線形ロバスト制御
http://www.coronasha.co.jp/np/detail.do?goods_id=1498
MATLABによる制御系設計
http://www.coronasha.co.jp/np/detail.do?goods_id=1498
0347デフォルトの名無しさん
2007/03/26(月) 17:34:03MATLABによる制御系設計
http://www.tdupress.jp/cgi-bin/html.cgi?i=ISBN978-4-501-31930-4
0348334
2007/03/26(月) 22:29:24情報ありがとうございます。
教科書としても結構使われているみたいですね。
確かにモデリングの問題はあるかもしれないです。
制御対象のパラメータが正確に同定出来れば問題ないのですが、必要なパラメータの間接的な同定しか出来ないので、誤差が入り込む余地を増やしてしまっています。
直接同定できる、あるいは既知のパラメータをうまく使ったモデリングが出来ればよさそうな感じもします。
0349デフォルトの名無しさん
2007/03/29(木) 19:33:22http://news23.2ch.net/test/read.cgi/news/1175158400/
お前ら登録する?回路図見放題らしいぞ。
このスレの連中関係ないようで関係あるだろ。
0350デフォルトの名無しさん
2007/03/29(木) 23:18:37で、そこの回路図を参考に作ったいかなる問題も、当局は一切関知いたしませんってか?
0351314
2007/03/30(金) 16:19:58PORT.byte &= 0x7F;ではやはり、mov, and movが、
PORT.BIT.b0 = 0; ではbclr #0,@aa:8 が出ました。
生成されたI/Oのヘッダでは、例えば SCI0.SCR.BIT.TEIE = 1; みたいな書き方になって、
叩く数は多いがコメント不要な記述性が得られますね。
アドレスのイミディエイト値が:24ではなく:32で出るのが気になりますが、あとはふつうでした。
0352334
2007/03/30(金) 23:49:52解を求めるのにMATLABやSCILABなどのツールの力を借りればなんとか漏れでも使えそうな感じです。
0353266
2007/04/06(金) 23:22:13事後報告です。漏れのわからなかったこと言うのは伝達関数のコードへの展開で
関数hz=yz/xzとしたときにyz=hz*xzにばらしてZ変換を差分方程式でy[k]=x[k]...と展開しなおすことがわからなかったです。
伝達関数導出にはscilabが非常にわかりやすかったですな。アナログフィルタをモデル化して伝達関数を
導出し実装できたときには失禁するかと思った。
電圧レギュレータは、理想をモデル化してもノイズ、検出遅れ、分解能落ち、計算落ち等の問題よりうまくできてないです。どちらかというとデジタルフィルタやハードの見直しの方が効果がでかかった。
ありがたう
0354デフォルトの名無しさん
2007/04/08(日) 01:23:430355デフォルトの名無しさん
2007/04/15(日) 08:14:14マニュアルを読み比べて、クロックのMAXが違うこと、RAMの空間が違うこと、程度は
わかりましたが、他に知っとくべきポイントなど、ご存知の方ご指摘お願いします。
内蔵I/Oのレジスタアドレスは同じ、ROMもサイズは違うが0〜と認識してます。
0356デフォルトの名無しさん
2007/04/15(日) 15:11:20そこまでピンポイント的に一致する知識を持ってる奴がこのスレを見る可能性。
ひょっとしたら日本に数十人しかいないかもしれないのに。
0357355
2007/04/15(日) 16:53:22けっこうレス貰ったのですよ。なので、だめもとでも・・・と。
300シリーズの頃はシンプルでしたねえ。2000,3000シリーズになってからなんかややこしい。
0358デフォルトの名無しさん
2007/04/15(日) 18:45:49これからは君がレスしてあげる側にまわらなきゃ
0359デフォルトの名無しさん
2007/04/16(月) 18:46:360360355
2007/04/17(火) 05:36:570361デフォルトの名無しさん
2007/04/17(火) 05:38:17禿しく今更だけど、CiNii辺りで適用事例の論文探すのもいいかもしらない
0362デフォルトの名無しさん
2007/04/20(金) 03:30:37void func(unsigned long f) {
unsigned long wk;
・・・
wk = 937;
wk <<= 7; // (937<<7)=0x1D480
wk += (32-f%9); // これならADD.L #H'0001D480,ER2が出る
これの展開は、下記になる。
SUB.L ER2,ER2
MOV.B #H'20:8,R2L
MOV.L ER4,ER0
SUB.L ER1,ER1
MOV.B #9:8,R1L
JSR @$DIVUL$3:24
SUB.L ER1,ER2
ADD.L #H'0001D480,ER2<------この値(937<<7)を足す命令が出る
MOV.L ER2,ER1
0363デフォルトの名無しさん
2007/04/20(金) 03:33:44wk = (937<<7)+(32-f%9); と書くと、展開が下記になる。
SUB.L ER2,ER2
MOV.B #H'20:8,R2L
MOV.L ER4,ER0
SUB.L ER1,ER1
MOV.B #9:8,R1L
JSR @$DIVUL$3:24
SUB.L ER1,ER2
SUB.L #H'00002B80,ER2<--------この値は(20000h−1D480)だが、ER2は
MOV.L ER2,ER1 FFFFD4xxになってしまう。
0364362
2007/04/20(金) 03:36:59>>362を得ました。ルネサスのコンパイラはいまいち信用ならないと思ってましたが・・・
こんなのあるといちいちlstファイル読まないと不安でたまりませんorz
0365デフォルトの名無しさん
2007/04/20(金) 03:54:30おまい、右辺式中の型が左辺式の型と同じだと思ってる厨房か?
0366362
2007/04/20(金) 04:25:52(937<<7)が16bitで評価されるよ、っていうことですか?
0367362
2007/04/20(金) 04:45:060368362
2007/04/20(金) 05:07:33MOV.L #119968,ER1
MOV.L ER0,ER6
MOV.L #9,ER5
JSR @?UL_MOD_L03
SUB.L ER6,ER1
119968(=(937<<7)+32)からf%9を引くコードになってますよね?
0369362
2007/04/20(金) 05:15:21MOV.L #H'0001D4A0,ER2
SUB.L ER1,ER1
MOV.B #9:8,R1L
JSR @$DIVUL$3:24
SUB.L ER1,ER2
MOV.L ER2,ER1
ってことはやっぱり、(937<<7)の評価がライフボートとルネサスで違うみたい
0370362
2007/04/20(金) 05:46:26「左辺値は単独の変数でなければならない」はありましたけど。
これかな、と思える記述は「定数はintである」でした。これだとライフボートのほうが
間違いということになってしまいそう。
0371デフォルトの名無しさん
2007/04/20(金) 07:07:1232bit値を使うような時は 数値にL つけるなり、型変換するなりやっとけよ
0372デフォルトの名無しさん
2007/04/20(金) 07:18:430373デフォルトの名無しさん
2007/04/20(金) 07:22:570374362
2007/04/20(金) 13:08:57なっちゃってるので、(unsigned long)のキャストつけても遅かりしでした。
0375デフォルトの名無しさん
2007/04/20(金) 13:18:380376デフォルトの名無しさん
2007/04/20(金) 13:27:520377デフォルトの名無しさん
2007/04/21(土) 03:33:380378362
2007/04/21(土) 05:53:10(unsigned)'a' 見たいな表記じゃだめなの? 日本語だったら16bitだから(unsigned short)'あ'
とか書けば、shiftJISなら0x82a0になるとおもう。
0379デフォルトの名無しさん
2007/04/21(土) 08:17:48#組み込み用じゃないけど。
0380デフォルトの名無しさん
2007/04/21(土) 11:20:04困ってたことがある。誰か教えてクレ。
0381デフォルトの名無しさん
2007/04/21(土) 13:46:14'ア'u とか出来るのかと思ってた
0382デフォルトの名無しさん
2007/04/21(土) 18:18:370383デフォルトの名無しさん
2007/04/22(日) 02:57:41つーか、何でそんな面倒なことをしたがるのか?
つらっとHEXで書いちまえば良かろうに
定数は#defineしろってのは、また別の次元の話だが
0384デフォルトの名無しさん
2007/04/22(日) 05:46:480385デフォルトの名無しさん
2007/04/22(日) 06:29:170386デフォルトの名無しさん
2007/04/22(日) 10:55:24CPUにもよるが、普通は
算術シフトは、最上位ビットを保持する。(符号反転しないよう)
論理シフトは、単に右の値で埋められる。
0387デフォルトの名無しさん
2007/04/22(日) 11:01:410388デフォルトの名無しさん
2007/04/22(日) 11:53:040x40を8ビットレジスタで1ビット左シフトした場合に算術シフトは0x00になって
論理シフトは0x80になると言っているようだね。
>>387
という訳で、左シフトなのは目に入っているんでしょう。
>385はそういう左シフトを知らないのだとして、>386にはそういうCPUの具体例を挙げて欲しいな。
0389デフォルトの名無しさん
2007/04/22(日) 11:56:57わ、わかってねぇ・・・。
0390デフォルトの名無しさん
2007/04/22(日) 13:31:220391デフォルトの名無しさん
2007/04/24(火) 09:10:51どっちが速いんですか? 何KBぐらいで逆転、とかありますか?
0392デフォルトの名無しさん
2007/04/24(火) 10:43:46eepmov?
その昔計算した記憶があるが…BSCの設定とかも絡むからなあ。
まあKByte単位ならDMACの方が速い。
0393デフォルトの名無しさん
2007/04/24(火) 12:57:54DMACへの設定分のオーバーヘッドを考慮すれば、だいたいの目安は見積もれるよ。
キロバイト単位の転送なら、DMA圧勝。
でも、ハードウェアのDMAへの対応方法によるから、一概に言えないのが難だよね。
0394デフォルトの名無しさん
2007/04/24(火) 20:51:34H8SのEEPMOVは割り込み受け付けるんだっけ?
言うまでもなくデバイス<->メモリだったらDMACを使うべし。
0395デフォルトの名無しさん
2007/04/24(火) 21:44:44eepmov.wは受け付けたような。なんか注意事項があったような気もするが。
そういやDTCなんてのも付いてなかったっけ?
0396394
2007/04/25(水) 04:42:35ありがとうございます。そういうの聞きたかったんです。
内蔵RAM上でならノーウェイトでしょうから、話は簡単ですよね。
誰かに「DMA動作中はDMAがバス取っちゃうから、転送中CPUが別のことできる訳ではない」
と聞いたことあるんですが、それだとDMA開始したら終了までフラグ見てループするしかない
のでしょうか? (割り込みで終了を受けても、別の処理が動くわけではないなら)
DTCの章も読んだのですが、DMAとどう違うの?/何のためにこれがついてるの? など
???がいっぱいです。
0397394
2007/04/25(水) 04:52:51eepmov.w
mov.w R4,R4
bne eepmovの番地 というコードを見たことがあります。割り込むといったん抜けるみたい。
ルネサスcで eepmovw(buf,(char*)0x800000,512); と書くと、
MOV.L #_buf,ER6
MOV.L #H'00800000,ER5
MOV.W #H'0200:16,R4
EEPMOV.W は出るのですが、
while( R4 ); とか書けませんよね。 こういうのどうするのかな。
0398デフォルトの名無しさん
2007/04/25(水) 04:54:34メモリtoメモリのバースト転送の場合、H8じゃ事実上転送終了まで何もできませんな。
SHみたくキャッシュ乗っかってるのならまだしも。
作法としては、メモリ<->デバイスのようなサイクルスチール転送と同様に、ちゃんと終了を待ってください。
バースト転送でも割り込みは入りますが、割り込みじゃなくその場でループして
終了を見張っても問題あるまい。
以上、データシート読まずにカキコ。
H8Sは扱ったことなかったりして。
0399394
2007/04/25(水) 05:46:27マニュアルに「eepmovと比べてこの位速いよ」とか書いててくれれば親切なのに・・・
0400デフォルトの名無しさん
2007/04/27(金) 03:17:17nopとかレジスタ命令が1クロックなのは想像つきますが、bset/bclr port:8 の命令は
何クロックだと思えばいいのでしょうか? 内蔵fROM動作の場合で考えたのですが、
「基本動作タイミング」の章で、内蔵ROMは1ステートアクセス、内蔵周辺モジュールは2ステート
アクセス、と書かれていました。この記述から、
bld #0,R0L 1ワード命令のアクセス1ステート+実行1ステート
bst @FFFFxx:8 2ワード命令のアクセス2ステート+実行2ステート
と理解してよいでしょうか? 実行の所は4ステートと考えるべき??
0401デフォルトの名無しさん
2007/05/04(金) 05:20:21マニュアルには転送が起こらないような書き方してありますが、
256バイトやるんじゃないかと思うんですけど。
0402デフォルトの名無しさん
2007/05/06(日) 06:04:28使ったことがある奴がたまたま見てれば答えるかもしれんが
基本的にここはルネサスのユーザーサポートじゃねぇんだ
そんなこたぁ、サポートに聞け
0403デフォルトの名無しさん
2007/05/06(日) 06:30:58使ったことがある奴がたまたま見て答えるんだよ 。
知らなきゃ黙っとけ
0404デフォルトの名無しさん
2007/05/06(日) 08:49:55H8はHewにソフトエミュレータが入ってるだろうから、試せばいいと思うんだが
0405デフォルトの名無しさん
2007/05/06(日) 12:28:12ログ保存
http://mononeta.seesaa.net/article/39104850.html
0406401
2007/05/06(日) 16:09:17へうがデバックモードになってくれなくて、どたばたしてます。とりあえず、私のはスルーしてください
0407デフォルトの名無しさん
2007/05/11(金) 09:42:460408デフォルトの名無しさん
2007/05/11(金) 11:06:580409デフォルトの名無しさん
2007/05/11(金) 16:20:46のとこには書いてなかったんですよ。昔会社にあった奴には載ってた覚えがあるんですけど、
もう忘れてるし。論理演算ではCYが不変な石が多いけど、たしか8085は違うんじゃ?
って、覚えてる人いたらレスください。
0410デフォルトの名無しさん
2007/05/11(金) 18:18:05Z80あたりの資料をあたれば何かわからんか?
違うのはSIM/RIMだけだろう。
0411デフォルトの名無しさん
2007/05/12(土) 03:55:198085もそうだと思われます。私、探し方がへたなんですね。ヒントくださってありがとうございます。
0412デフォルトの名無しさん
2007/05/14(月) 04:58:31globalなデータの最後の番地+そのサイズよりも DATASEG = 8000-8ED6 (0ED7) の行で
示される範囲がいつも大きかったのです。 static がglobalの後ろに置かれるのも知ってます。
今回チューニングの必要があって、乗算も除算もsprintfもstrxxxも使わないコードを書いた所、
見事にRAMの最終と変数の末尾が一致しました。ということはclibでstaticを使ってる奴が居る
らしいです。石のアーキテクチャ上、stackを使うと遅くなるのでしょうがないのでしょうね。
0413デフォルトの名無しさん
2007/05/14(月) 07:19:150414デフォルトの名無しさん
2007/05/14(月) 08:18:05time.hにもstrtok()のように明示的に内部に静的領域を持っている関数が多い。
0415デフォルトの名無しさん
2007/05/14(月) 17:19:03初期値のセクションがないぞとか怒られたことある。
0416デフォルトの名無しさん
2007/05/14(月) 17:36:570417デフォルトの名無しさん
2007/05/14(月) 21:42:490418デフォルトの名無しさん
2007/05/18(金) 04:05:20書こうとおもったら、トンデモコードを吐かれてしまった。BLDとBSTだけでいいのに、こんなの:
word.BIT.BD = byte.BIT.B6;
SUB.B R1H,R1H
BLD.B #6,R1L
BST.B #0,R1H
MOV.B R1H,R2L
BLD.B #0,R2L
BST.B #5,R0H
BLDしたbitをゼロのバイトのLSBに入れて、そのバイトを別のバイトに移して、そのLSBから
BLDして、目的の位置へBSTしてるの。もうね、お前アホかと・・・
結局R0上だけで移すASM書きました。BLD,BST,BSTが8回。表引きのが実行速いのは
判りますが、0xXXXXを256個書くのもめんどう<--こっちも用意しておいたほうがいいかも。
0419デフォルトの名無しさん
2007/05/18(金) 08:23:47サイズの変更を伴っているから、最適化が巧く働いていないんだろ
ビットフィールドは、いったんその型に変換しなくちゃいけないから
そんなものだろ
0420デフォルトの名無しさん
2007/05/18(金) 12:08:02ライフボートのなら sfrp.13 = sfr.6; ですんなりいくのに・・・ぶつぶつ。
0421デフォルトの名無しさん
2007/05/18(金) 13:06:290422デフォルトの名無しさん
2007/05/19(土) 05:35:19unsigned char BYTE; /* Byte Access */
struct { /* Bit Access */
unsigned char B7:1; /* Bit 7 */
unsigned char B6:1; /* Bit 6 */
unsigned char B5:1; /* Bit 5 */
unsigned char B4:1; /* Bit 4 */
unsigned char B3:1; /* Bit 3 */
unsigned char B2:1; /* Bit 2 */
unsigned char B1:1; /* Bit 1 */
unsigned char B0:1; /* Bit 0 */
} BIT;
} t_8bits;
0423デフォルトの名無しさん
2007/05/19(土) 05:37:46unsigned char WORD; /* Word Access */
struct { /* Bit Access */
unsigned char BF:1;
unsigned char BE:1;
unsigned char BD:1;
unsigned char BC:1;
unsigned char BB:1;
unsigned char BA:1;
unsigned char B9:1;
unsigned char B8:1;
unsigned char B7:1;
unsigned char B6:1;
unsigned char B5:1;
unsigned char B4:1;
unsigned char B3:1;
unsigned char B2:1;
unsigned char B1:1;
unsigned char B0:1;
} BIT;
} t_16bits;
0424デフォルトの名無しさん
2007/05/19(土) 05:45:31_UWORD bit_double(_UBYTE c) { // 8bit-->16bit変換ルーチン
// 8bitの文字dotパターンの横を倍にする。ex: 00111010-->0000111111001100
register t_16bits word;
register t_8bits byte;
byte.BYTE = c; // 1つのレジスタ上でできるのだがcでは書けない
word.BIT.BF = byte.BIT.B7;
word.BIT.BE = byte.BIT.B7;
・・・こういうのを16行書いて、
return word.WORD; 最適化オプションは「サイズ優先」にしてます。
同じレジスタでやれば最後の BIT.B0 = byte.BIT.B0;は要らないんですが、cだとそう書けない。
wordのunsigned char はunsigned shortのコピペミスです。
0425デフォルトの名無しさん
2007/05/19(土) 08:13:13Word.H:=tbl[(c shr 4) and $0f];
Word.L:=tbl[c and $0f];
0426デフォルトの名無しさん
2007/05/19(土) 10:51:02typedef union { // WORDとBIT共用体
unsigned char U8[2]; // 2byte
unsigned U16;/* Word Access */
・・・
で、
unsigned bit_double(unsigned char c) { // 8bit-->16bit変換ルーチン
// 8bitの文字dotパターンの横を倍にする。ex: 00111010-->0000111111001100
register t_16bits word;
word.U8[0] =c;
word.BIT.BF = word.BIT.B7;
word.BIT.BE = word.BIT.B7;
word.BIT.BD = word.BIT.B6;
word.BIT.BC = word.BIT.B6;
と書いたら
MOV.B R0L,R1H
BLD.B #7,R1L
BST.B #7,R1H
BLD.B #7,R1L
BST.B #6,R1H
とコンパイルされたよ?
0427デフォルトの名無しさん
2007/05/19(土) 10:53:23unsigned bit_double(unsigned char c) { // 8bit-->16bit変換ルーチン
// 8bitの文字dotパターンの横を倍にする。ex: 00111010-->0000111111001100
register t_16bits word;
word.U8[0] =c;
word.BIT.BF =
word.BIT.BE = word.BIT.B7;
word.BIT.BD =
word.BIT.BC = word.BIT.B6;
word.BIT.BB =
word.BIT.BA = word.BIT.B5;
・・・・
のように書いたら
MOV.B R0L,R1H
BLD.B #7,R1L
BST.B #6,R1H
BST.B #7,R1H
BLD.B #6,R1L
BST.B #4,R1H
BST.B #5,R1H
BLD.B #5,R1L
BST.B #2,R1H
BST.B #3,R1H
となったよ。 けっこうコンパイラ賢いじゃない
0428デフォルトの名無しさん
2007/05/19(土) 10:57:38× word.U8[0] =c;
○ word.U8[1] =c;
0429デフォルトの名無しさん
2007/05/19(土) 11:13:24x := x and $5555
x:= x or (x shl 1)
とした方が少し短いよ
0430デフォルトの名無しさん
2007/05/19(土) 18:08:37手法ですね。助かります。428みたいに上下を気にしないでいいように、word.WORD = c; って
やって、wordの中で下から上へ移せばいいですね。
>>429のアイデアが理解できないです。5555hでandしたら1つおきに0になっちゃいますよね?
0431デフォルトの名無しさん
2007/05/19(土) 18:41:00word.BIT.BC = word.BIT.B6;
・・・・
word.BIT.B2 = word.BIT.B1;
とやって
>>429 をやれってことだよ
0432デフォルトの名無しさん
2007/05/19(土) 18:45:22>>418 は、別の構造体から別の構造体にコピーしてる。
しかも、サイズが違うわけだ。
これではコンパイラも、なんとか動くコードを吐くのが精一杯さ
0433418
2007/05/20(日) 01:45:26word.WORD = c; // 1つのレジスタ上で移すため
MOV.B R0L,R1L
EXTU.W R1
MOV.W R1,R0
word.BIT.BF = word.BIT.BE = word.BIT.B7;
SUB.B R1L,R1L
BLD.B #7,R0L
BST.B #0,R1L
MOV.B R1L,R1H
BLD.B #0,R1H
BST.B #6,R0H
SUB.B R1L,R1L
BLD.B #6,R0H
BST.B #0,R1L
MOV.B R1L,R1H
BLD.B #0,R1H
BST.B #7,R0H
最適化オプションをスピード優先にしてもサイズ優先にしても同じでした。なんでだろ??
>>431 (*o*)ガーン 気がつかなかった
0434418
2007/05/20(日) 04:46:070435デフォルトの名無しさん
2007/05/20(日) 09:14:290436418
2007/05/21(月) 04:35:33いろいろありがとうございました。これは回避の仕方も判ったし、これで終わりにします。
0437デフォルトの名無しさん
2007/05/24(木) 09:28:43http://japan.renesas.com/fmwk.jsp?cnt=/cisc.jsp&fp=/newcpu
新CPUは既存のCISC CPU「M16C」「R32C」の高いコード効率と
「H8S」「H8SX」の高速データ処理性能を兼ね備えた次世代CPUです。
http://www.edresearch.co.jp/mtb/0705/164.html
新CPUは既存CPUとの互換性を維持し、既存製品の延長上の展開にスムーズに対応
どんな合体をするのか妄想してみないか?
0438デフォルトの名無しさん
2007/05/24(木) 09:39:35http://www.google.com/search?q=%E6%96%B0%E8%A7%A3%E3%81%95%E3%82%93+%E5%90%88%E4%BD%93
(;´Д`)
単なる合体じゃなく、H8Sなどを参考にして書き直したとか
そんなんじゃないかな?
0439デフォルトの名無しさん
2007/05/24(木) 09:59:32H8-300系と M16C系の両方のバイナリ互換は当然無理。
論理演算でボローがクリアされるかどうかとか、命令の中身も多少異なる。
また、M16Cは16ビットのメモリ空間をバンク切り替え式に拡張してるのに対してH8は32bit化してる
単純なトランスレータの提供では解決出来ないだろう。
両方の命令体形をフラグで切り替えられるとか、
マイクロコードの一部が書き換えられるとか
0440デフォルトの名無しさん
2007/05/24(木) 11:16:33内臓I/O → 自動生成ツールで互換性を確保
それ以外 → Cで書いてりゃ問題ない
というオチを期待してみる。
0441デフォルトの名無しさん
2007/05/24(木) 11:27:34既存製品の延長上の展開 って事は、ようは作り直せって事だ
あと、SIO何個とか複雑なタイマーとかで品種増やすより
シンプルなCPUをI/Oプロセッサとして何かつけて
それで SIOとかタイマーとか自作させてくれれば便利なんだけどな
0442デフォルトの名無しさん
2007/05/25(金) 23:52:55H8がここに含まれていないのはなぜだろう?
0443デフォルトの名無しさん
2007/05/26(土) 04:04:400444デフォルトの名無しさん
2007/05/27(日) 02:06:06日立と合体したら、M16Cなんかはキャリーの立ち方はH8と同じになったのかな?
0445デフォルトの名無しさん
2007/05/27(日) 16:45:19同じにはならんだろう
新しいのはどっちで設計するんかな
0446デフォルトの名無しさん
2007/05/27(日) 21:12:15絶対可憐チルドレンのエロ同人って、これのことか?
zipもあった
0447デフォルトの名無しさん
2007/05/27(日) 21:50:59名前はR16Cで決まり。
ただし、ハードウェアマニュアルは日立系の書式を切望します。
0448デフォルトの名無しさん
2007/06/06(水) 03:38:52数文字分は外字パターンが書き込める奴。
前に使った制御コード使いまわせると思ってたらご破産になっちゃった・・orz
0449デフォルトの名無しさん
2007/06/06(水) 08:32:430450デフォルトの名無しさん
2007/06/06(水) 12:11:310451デフォルトの名無しさん
2007/06/06(水) 16:14:20お客さんが言ってました。意外だったのはサムスンですらやってないらしいこと。
HD44780と同等だと称してるのはオリエントディスプレイとかいろいろ見つかったけど、
まだデータブックは見つからない。お客さんの取引関係とか、なんかあるんでしょうね。
0452デフォルトの名無しさん
2007/06/07(木) 13:27:17ではないみたい。それだったらノリタケitronとかじゃだめなのかなあ?
0453デフォルトの名無しさん
2007/06/09(土) 10:22:23いつだったかのインターフェースのソースをもとにデバイスディスクリプタを
取得するところまで作ったんだけど、どうしてもディスクリプタの読み込みのところで
STALLエラーが帰ってくるUSBがある。他のはOKなのに。
でもこの駄目なUSBはwindowsとのやり取りだとOKなんだよね。
さっぱり原因がわからん
0454デフォルトの名無しさん
2007/06/09(土) 11:18:04俺様独自の意味でUSBって言葉を使われても
他人には何のことかさっぱり意味わからないと思うんだけどどうだろう。
0455デフォルトの名無しさん
2007/06/09(土) 14:31:15045685
2007/06/09(土) 17:09:53SL811でUSBメモリの読み書きをやりたい。
が、最初のディスクリプタの取得で駄目になるUSBが
あるんで原因がわからず詰まってる。
0457デフォルトの名無しさん
2007/06/09(土) 19:10:24USBって言葉はその名の通りバス自体のことを指すんだけど
0458デフォルトの名無しさん
2007/06/09(土) 21:48:25分かった!
きっと使ったコネクタかケーブルのことに違いない
んなわけない(w
0459デフォルトの名無しさん
2007/06/10(日) 19:23:39それは個体差だよ。返品汁。
0460デフォルトの名無しさん
2007/06/11(月) 06:11:21取らずに強引に読み書きしちゃうんでは?
0461デフォルトの名無しさん
2007/06/11(月) 10:40:32エラー処理とかちゃんとやってなくて、応答遅いのがダメとかじゃないの?
0462デフォルトの名無しさん
2007/06/18(月) 09:53:48ラベル:
PUSH.L ER3
STM.L (ER4-ER6),@-SP ってなってる。出口もこれと対称。
なんで STM.L (ER3-ER6) ってならないんでしょうね?
0463デフォルトの名無しさん
2007/06/18(月) 11:08:18つ プログラミングマニュアル
そういうものです
0464デフォルトの名無しさん
2007/06/20(水) 15:26:42static const _UBYTE table[] = { ・・・ };
}
と
void INT_MTU0_TGI0A(void){
const _UBYTE table[] = { ・・・ };
}
の違いってありますか?
割り込み関数内に定数を書いたのですが、
下だと割り込みかかった時点で、変な所にプログラムが飛んでいるみたいで
正しく動作しないんです・・・
0465464
2007/06/20(水) 15:28:51CPU : SH-2
開発環境 : HEW4
です。
0466デフォルトの名無しさん
2007/06/20(水) 16:00:53そりゃそうだろ
蟹炒飯をもう一度ちゃんと読み直してこい
0467デフォルトの名無しさん
2007/06/21(木) 05:48:02>>465 下の書き方なら関数の外に書くとglobalな定数になるよ。でも、上の書き方が間違ってる
とは思えない。その定数がglobalにならないだけで。
intprg.cに__interrupt(vect=nn) INT_MTU0_TGI0A(void) { /* sleep */ } という形で実体があるので、
これをコメントアウトして、自分の書いた割り込みを __interrupt(vect=52) void INT_MTU0(void) {
で始めると、ベクタが自分のそれを指すようにできるけど。
0468464
2007/06/21(木) 09:03:46上の書き方だと、正常に動いています(明記してなく、すみません・・・)
下の書き方だと、毎回table[]への初期化が始まる訳ですね。
今は関数外に置いています。
今は、蟹炒飯って何の事だろう・・・と、そっちの方で悩んでいます
0469デフォルトの名無しさん
2007/06/21(木) 09:09:350470制御初心者
2007/06/24(日) 20:48:15そこで質問です。これまではロボットのモータの回転角をポテンショメータで検出
してきたのですが、ポテンショメータとエンコーダを併用することでより精度良
く制御できると聞きました・・・が、調べてみてもなかなか具体的な方法がわかりま
せん。ポテンショとエンコーダを併用することってあるんでしょうか?具体的な
方法まで教えてもらえるとかなり助かります。
長文ですいませんm(_ _)m
0471デフォルトの名無しさん
2007/06/24(日) 23:15:110472デフォルトの名無しさん
2007/06/25(月) 00:55:03可変抵抗だから温度ドリフトとかガリとか出るからでないかい?
エンコーダーのパルスタイミングでポテンショメータの補正掛けていけば
稼働状態で温度保証が出来るとか…
推測でスマソ
0473デフォルトの名無しさん
2007/06/25(月) 06:18:26モータの軸にロータリエンコーダ、関節とかに直接ポテンショメータとか?
モータの軸の場合はバックラッシュがある事が問題
つまり正転から逆転に入った時にいくらか遊びが出来る。
制御対象から直接信号をもらうと、このバックラッシュが入ってないから
良いかというと、無いのは無いで困る。 だから両方に付けたいってことじゃないの?
0474デフォルトの名無しさん
2007/06/25(月) 08:22:13いい歳こいて恥ずかしがりやさんなのかなw
0475デフォルトの名無しさん
2007/06/25(月) 09:02:29オープン制御とクローズ制御
0476デフォルトの名無しさん
2007/06/25(月) 09:35:410477デフォルトの名無しさん
2007/06/28(木) 22:54:27SH2で、全割り込みの優先レベルを1にしているのに、多重割り込みになってしまいます...
なぜでしょうか?
0478デフォルトの名無しさん
2007/06/28(木) 23:46:47そして何よりも 処理の速さが足りない
0479デフォルトの名無しさん
2007/06/29(金) 00:13:28�@割り込み先で(内部)割り込みの要因フラグをクリアしてない
�A割り込み先でマスクレベル下げてる
0480477
2007/06/29(金) 10:00:37>>478
全部優先って何でしょうか
>>479
�@でした。ありがとうございます。
でも何で要因フラグをクリアしてないと多重で入ってくるんでしょうか
0481デフォルトの名無しさん
2007/06/29(金) 10:09:22割り込み終了直後に、割り込み要因フラグが立ちっぱなしになってるので、
また割り込みが発生。これの繰り返し。
よく陥るパターン
0482477
2007/06/29(金) 11:15:16ごめん、要因はクリアしてました。
どっちにしてもなんで同じ割り込みレベルで多重割り込みになってしまうのでしょうか
0483デフォルトの名無しさん
2007/06/29(金) 11:22:03全部同じだから。全部優先。
0484デフォルトの名無しさん
2007/06/29(金) 11:33:17>それらの割り込みが同時に発生したときは、
>表6.3 に示す「デフォルト優先順位」に従って処理されます。
SH7040ハードウェアマニュアルに書いてあったが。。。
0485デフォルトの名無しさん
2007/06/29(金) 11:42:03それとも割り込みが終わってRTEを実行して割り込みがかかる事を自分用語で多重割り込みと言ってるのか?
0486477
2007/06/29(金) 13:00:33受信割り込み中にタイマー割り込みが入ります。
>>484
SH7144のマニュアルだとデフォルト優先順によって割り込みが選択され、実際に割り込みに入るかどうかはマスクとの比較と読めます...
0487デフォルトの名無しさん
2007/06/29(金) 13:05:14そのタイマー割り込みで保存されてる SR を見てみりゃいいじゃない
0488デフォルトの名無しさん
2007/06/29(金) 13:09:58選択できないの? H8の16ビットシリーズなんかには付いてるけど。
マスクしかだめなら、IPRxでuartのほうを高くしてやる。
一般に「割込み処理が短い」奴は高くしても問題ない。
0489477
2007/06/29(金) 13:31:58ちゃんと設定した1になってます。
>>488
uartを高くしてもタイマー中にuartが入るので、結局多重割り込みになりませんか。
処理速度は問題ではなくて、共有メモリの都合で多重割り込みにしたくないです。
0490デフォルトの名無しさん
2007/06/29(金) 14:01:00割り込み終了するまで、レベル1の割り込みは入ってこれない筈なんだが・・・
どうやって多重に割り込んでいると判別した?
0491477
2007/06/29(金) 14:36:06受信割り込みでハンドラの最初で上とは違うデバッグポート(※B)をHにしてハンドラの最後でポートをL
それをオシロで見たら※BがHの間に何回も※AがHになってました。
処理時間を見たかっただけなんですが、そこで多重割り込みを発見しました。
途中でEIするようなところは無いです...
0492デフォルトの名無しさん
2007/06/29(金) 14:39:19タイマー割り込み中にスタックに保存されたSRを見たんだね?
SRは当然書き換えられてるよ。
それなら、そのタイマーはNMIでかけられているのだとしか考えられないのだが
そんな筈はないよね?
だから、タイマー割り込み中でスタックに保存されたSRを見て、SRと一致しなければポートをパタパタさせるようにして試してみたら?
0493488
2007/06/29(金) 16:21:11SHシリーズでは多重割込みがあたりまえ、という設計思想のようですね。
そうすると、489のほうの事情をもうすこし知りたいな。「共有メモリの関係で」というが、
違う種類の割り込みで共有して使うようなメモリがあるの? スタックサイズがあんまり取れない
とか? SHならRAMも豊かだとおもうし、どんな事情なんだろ。
0494デフォルトの名無しさん
2007/06/29(金) 16:31:36>I3〜I0ビットに設定されているレベルと同じか低い優先レベルの割り込みは無視されます
6. SRとプログラムカウンタ(PC)がスタックに退避されます。
7. SRのI3〜I0ビットに、受け付けられた割り込みの優先レベルが書き込まれます。
だから、このとおりにハードがなってるなら、何もしなければ多重割り込みはかからない筈
誰かが、どこかでSRを書き換えてるんだろ。
0495デフォルトの名無しさん
2007/06/29(金) 16:53:390496デフォルトの名無しさん
2007/06/30(土) 08:35:060497デフォルトの名無しさん
2007/06/30(土) 20:24:40ちなみに俺は言語処理系が専門で、今まで C や Lisp 等のコンパイラを作ってきた。
例えばコンパイラの分野でいう Tiger book (Appel のヤツ) に相当する
コンパクトで内容がしっかりしてる教科書って何だろう?
0498デフォルトの名無しさん
2007/06/30(土) 20:26:59デジタル回路入門とかから始めたら?
0499デフォルトの名無しさん
2007/06/30(土) 20:54:07マイコンとかPLDとかシーケンサとかモデリングと制御系設計とか
0500497
2007/06/30(土) 21:01:00言語処理系では狭すぎる(就職)ので、見聞を広げるのが目的です。
たしかに制御系と言っても漠然としてますね。
コンパイラ屋なので機械語レベルまでは理解出来ますが、それで外部機器を
制御するとなると、もうチンプンカンプンなんです。
こんな俺にオススメの一冊って何かありますか?
0501デフォルトの名無しさん
2007/06/30(土) 21:13:57すぐ飲み込めそうに思うけどな。
0502デフォルトの名無しさん
2007/06/30(土) 21:26:360503デフォルトの名無しさん
2007/07/01(日) 00:21:22xBSD系のカーネルソース一式
0504デフォルトの名無しさん
2007/07/01(日) 00:33:56制御系でそんなん薦めてどうすんだよ
リソースがふんだんにある環境下での
メモリ管理やタスク管理の勉強をしても
いみねーだろ
0505デフォルトの名無しさん
2007/07/01(日) 00:35:570506デフォルトの名無しさん
2007/07/01(日) 00:39:530507デフォルトの名無しさん
2007/07/01(日) 00:41:42それでもデータシートくらいは読まないとあかんよ
0508デフォルトの名無しさん
2007/07/01(日) 00:43:25タイミングチャートとか、重要だね。
ホールドタイムとか、ディレイとか言われてどうすればいいか分かれば一人前。
0509デフォルトの名無しさん
2007/07/01(日) 01:12:43だからこういう業界の人は恥ずかしいんだよねw
いまだに「低水準の技術 = 高度」などという時代錯誤というか中学生みたいな
意識をもった自分のズレ具合を自覚してないのが多いんだよ実際。
0510デフォルトの名無しさん
2007/07/01(日) 01:20:18ハードとのタイミング合わせ以外にする事なんて、あるんか? え?
0511デフォルトの名無しさん
2007/07/01(日) 02:36:04マルチスレッディングやスレッド同期のことが一通り解説してある。
インターフェース回路の初歩的な知識ならどんな本も大して変わらないから、
立ち読みでもして解りやすいのを選ぶと良いと思う。
ヒステリシス特性とかファンインファンアウトとかオープンドレインとか
トランジスタのスイッチングの原理だとか、
ちょこっと電気的な知識もあるといいかも。
0512デフォルトの名無しさん
2007/07/01(日) 02:44:30コンパイラ屋やってる人の知識を考えると、何がわからないのかよくわからない。
I/Oをドライブして何らかのワイヤプロトコルをしゃべる所とか、
ステッピングモーターとかDCモーターを駆動して機械動かしたり、センサやA/D入出力が
どう実現されてるかといったプロセッサコアの外側のデバイスの原理を見たいということ?
それともパーツ単位ではなくて例えば自動車の自動走行制御のシステムを
どう実装するのか、蟻の視点で逐一見て、理解したい、ということ?
外部情報の取り込み〜制御理論〜物理世界デバイスの駆動の3セットを
どう組み合わせてトータルで動いてるのか、とか。
0513デフォルトの名無しさん
2007/07/01(日) 05:24:31排他制御の基本概念とかはコンパイラには無縁(だった)からね
並走するコード(およびハード)の制御の理解ってのは最初は
時間かかると思う
0514デフォルトの名無しさん
2007/07/01(日) 10:34:43IOが分からんってことでしょ
0515デフォルトの名無しさん
2007/07/01(日) 10:55:43就職用の勉強なら VHDL/Verilog の方が有効だと思うよ
0516497
2007/07/01(日) 11:28:02OS の本とかは読んだことがあるのですが、とにかく実際に機器を動かしたことが
ないので実感が湧かないんです。昔のマイコン世代の人がうらやましい。
>>507 さんのおっしゃるように、なにかキットを購入して動かしてみて、
あとから理論を学ぶ方がいいと思いました。
0517デフォルトの名無しさん
2007/07/01(日) 11:52:00マイコン世代のチマチマした知識なんて一週間で網羅できると思うけどね。
覚えること少ないし、難しい理論なんて何もないし。
0518デフォルトの名無しさん
2007/07/01(日) 12:00:080519デフォルトの名無しさん
2007/07/01(日) 12:11:39俺の認識じゃw
同じ低水準でも、例えばCPUの挙動を固体電子工学レベルで把握しているとかなら
本当にすごいが、バスやポートの挙動がどうだのタイミングチャートがどうのって
工業高校レベルの話じゃ、「低水準」っていっても別の意味になっちゃうよ。
0520デフォルトの名無しさん
2007/07/01(日) 12:57:140521デフォルトの名無しさん
2007/07/01(日) 13:23:57時代錯誤はおまえの方だよ。
0522デフォルトの名無しさん
2007/07/01(日) 13:48:47俺はしがないOS屋だけど
とんでもない糞ドライバ書く奴が
どういう人間なのか良くわかった
0523デフォルトの名無しさん
2007/07/01(日) 17:49:56手を動かして体で理解したのとでは、
誰にも理解できないバギーなコードと
確実に動きメンテもしやすいコードくらいの違いがある
0524デフォルトの名無しさん
2007/07/02(月) 23:08:36でもね、この制御系の業界って、理論は後回しにして長年手だけ動かしてきた人の
イタいコードが結構な量あると思います。
雑誌や書籍のサンプルソースを見るたびに「初級者がこんなのを模範と思って
お手本にしてしまったらどうするんだろう」という気になります。
0525デフォルトの名無しさん
2007/07/02(月) 23:47:260526デフォルトの名無しさん
2007/07/02(月) 23:52:54kwsk.特に書名plz
0527デフォルトの名無しさん
2007/07/03(火) 00:09:06むしろこの業界の特徴は、しつこいようだけど技術全体のパースペクティブが
全然見えてない「井の中の蛙」が多いことだと思うね。
45未満の人間には、「オールマシン語スゲエ」みたいな、そいつ自身の中高生時代の
恥ずかしい感覚がそのまま修正されずに引きずられているような馬鹿みたいな
勘違い君が多い。
もちろんきちんと世の中の技術の中で自分のやっていることの位置づけが見えているが故に
謙虚な人も、本当に優秀ですごい人も中には居るんだけど。
0528デフォルトの名無しさん
2007/07/03(火) 02:55:560529デフォルトの名無しさん
2007/07/03(火) 05:06:32類は友を…
0530デフォルトの名無しさん
2007/07/03(火) 06:58:22理論先行で推敲しないでコーディングすればそうなるのでは?
まわりが”推敲中=遊んでる”みたいな感覚でみるとそうなるような?
0531デフォルトの名無しさん
2007/07/03(火) 07:54:25コストをかけたら利益が減るし、他の仕事も振れないのだから
会社から見たら「遊んでる」以外の何物でもないな。
バグはあって当然なんだし、あっても適当に誤魔化したり逆に
改修費用や追加工数を稼ぐチャンスなのだから、推敲して過剰品質に
なるのは厳禁。
0532デフォルトの名無しさん
2007/07/03(火) 08:25:20改修費用や追加工数で稼げるのは短期。
0533デフォルトの名無しさん
2007/07/03(火) 08:27:263つ以上、チェックがつけばアナタの性格はひん曲がっており、
ネガティブ負け組派遣人生を歩んでいます。
□派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□昼食は必ず派遣先の社員と行くべきだ
□自分の仕事で問題が発生しても解決するのは自分の仕事ではない
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□チビは派遣先にかわいがってもらいやすから派遣には有利だ
0534デフォルトの名無しさん
2007/07/03(火) 09:04:11奴隷商人は儲けだけ考えてるのか?
0535デフォルトの名無しさん
2007/07/03(火) 09:06:37おまえみたいな奴はわざと実装ミスさせるんだろ?
0536デフォルトの名無しさん
2007/07/03(火) 10:28:34最近も全く考えてない糞ソースのメンテの仕事がきて閉口した
0537デフォルトの名無しさん
2007/07/03(火) 10:30:140538デフォルトの名無しさん
2007/07/03(火) 10:49:53ソレは 話が変だぞ。
仕事だったら、糞だろうがなんだろうが、メインテナンスするのが仕事だろうに。
基本的にプログラムは作った所に著作権がある。
そのメインテナンスを作った所がやるというのは理屈に適ってる。
それを他に出すというのがソモソモ変な話だが、
そこが開発した=著作権保持者だというなら、その糞をメインテナンスするのに金を出すというのだから有難い話だろうに
0539デフォルトの名無しさん
2007/07/03(火) 10:54:52そんなとこに仕事させるなよ。
0540デフォルトの名無しさん
2007/07/03(火) 11:41:02うち、駄目ソースがコピペ元になってさらに各所でいい加減ににモディファイされて
同時多発的に火を噴いて会社つぶれかけたよ。
長くこれで飯喰いたかったらまともなソース出せる奴雇っとかないとヒドい目に遭うよ。
0541デフォルトの名無しさん
2007/07/03(火) 12:19:29長く飯食えるわけない派遣が一時的に投入され、いい加減なソースを書き捨てるのが現状。
0542デフォルトの名無しさん
2007/07/03(火) 12:41:15実装で言葉遊びしたいだけなら、”よそでやれよ。”と言いたい。
0543デフォルトの名無しさん
2007/07/03(火) 12:53:440544デフォルトの名無しさん
2007/07/03(火) 12:54:51わけのわからん事を言うなよ。 糞ソースと判ってるマトモな奴なら誰もコピペしないだろうに。
糞ソースと判らずにコピペしてるか、判っててもソレを無理やり使われてるか、
どっとにしたって、元のソースに責任はないだろうに。
逆に、人のコード勝手にコピペしといて金よこせってくらいのもんだろ。
0545デフォルトの名無しさん
2007/07/03(火) 13:04:58まず、うちが作ったソースじゃない。
メンテすることになったのは、作ったところでは手におえない拡張が必要になったから。
間違って請け負ってしまったみたいな仕事だ。
金はもらったがスケジュールもむちゃくちゃ。
作業をする為のボードがいつまで経っても出来上がらず仕事を始められない。
結局はソースの内容を知ってる人についてもらって、変更が必要な個所だけ俺が手を入れたような状態。
本当はもっと時間をもらって俺が全体に改修を入れたほうが後々面倒が減ると思ったくらいだよ。
まあ、インデントだけは統一してやったが。
同じ機能なのにアルゴリズムが違う関数が三つも四つもあるんだぜ。
それが違う場所から呼ばれてる。どうしてくれるってんだ。
0546デフォルトの名無しさん
2007/07/03(火) 13:09:17>同じ機能なのにアルゴリズムが違う関数が三つも四つもあるんだぜ
は普通にみかけるので、どこが糞なのか判らん。
元のソースがあって、その修正で楽しましたって話であって
作った方が早かったって話じゃないんだろ? だったら元のソースにありがとうくらい言えよ。
結局、問題は
1、スケジュールもむちゃくちゃ。
2、作業をする為のボードがいつまで経っても出来上がらず仕事を始められない
事の方だろうに
0547デフォルトの名無しさん
2007/07/03(火) 13:31:27しっかりした仕様書さえあれば、一から作ったほうが早かったよ。マジで。
それすらなかったからな。
0548デフォルトの名無しさん
2007/07/03(火) 13:41:22しっかりした仕様書があれば、誰だってコード修正するより作った方が早い。
でもしっかりした仕様書を作るのはプログラム作るより時間がかかる大変な作業なのも当然の話。
そんな しっかりした仕様書のある仕事なんてやった事が一度でもあるなら幸せものだ。
0549デフォルトの名無しさん
2007/07/03(火) 13:46:23まあ、仕様書も自分で作ったけどな。
0550デフォルトの名無しさん
2007/07/03(火) 13:58:590551デフォルトの名無しさん
2007/07/03(火) 15:29:100552デフォルトの名無しさん
2007/07/03(火) 15:46:260553デフォルトの名無しさん
2007/07/03(火) 17:58:110554デフォルトの名無しさん
2007/07/03(火) 20:24:080555デフォルトの名無しさん
2007/07/03(火) 21:28:510556デフォルトの名無しさん
2007/07/03(火) 21:37:12派けんのこーどは掻き捨て
0557デフォルトの名無しさん
2007/07/04(水) 02:32:09ちょっと駄目な奴が作った地雷だらけのオリジナルを
やっつけ仕事にあてがわれた新米が中途半端な理解に基づいてコピペ&モディファイする。
ラボ環では問題が出ないがフィールドで発火する。
ちょっと駄目な奴のソースは奥行きが無い分新米には食いつきがいい。
0558デフォルトの名無しさん
2007/07/04(水) 03:17:07コピペされたときにその辺の処理すっとばされて使われててワロス
っつーか全米が泣いた
055985
2007/07/04(水) 23:49:41ある処理がfor分で結構回ってしまうんだけど、その間にシリアルでデータを受信
したらエラー応答を返したいんだけど、タイマ割り込み内でデータ受信処理(バッファを
いじるためその前後で禁止許可してる)を呼ぶと、正常にシリアル受信できなくなった。
なんかいい方法ないかな。
0560デフォルトの名無しさん
2007/07/05(木) 00:33:47割り禁中に割り禁と解除をしなければいいお
0561デフォルトの名無しさん
2007/07/05(木) 00:58:050562デフォルトの名無しさん
2007/07/05(木) 00:58:260563デフォルトの名無しさん
2007/07/05(木) 01:01:18だいたい、よくて3命令以内だな。アセンブラの換算で。
0564デフォルトの名無しさん
2007/07/05(木) 01:01:36よく把握できてないんでしょ。
まあ単に説明能力が劣悪なだけかもしれんけどね。
0565デフォルトの名無しさん
2007/07/05(木) 01:05:130566デフォルトの名無しさん
2007/07/05(木) 01:06:02いつの時代の話それ?
というか、昔だって単に割り込みのプライオリティを適切に設定すれば
済むだけの話だけど。
0567デフォルトの名無しさん
2007/07/05(木) 01:06:440568デフォルトの名無しさん
2007/07/05(木) 01:08:27割り込みが受け付けられないなんて、制御系の命を断つようなもんだろ。
息を止めて全力疾走してるようなもんだぞ。やばいって。
0569デフォルトの名無しさん
2007/07/05(木) 01:17:02マイコンの通信の割り込みなんて実際には数100us程度の猶予がある。
一方命令サイクルは今時どんな鈍亀のマイコンだって100nsのオーダー。
あとは単純な算数の問題。わかるね。
0570デフォルトの名無しさん
2007/07/05(木) 01:19:22一概に何命令以内なら大丈夫、なんて言えない。
0571デフォルトの名無しさん
2007/07/05(木) 01:21:15おまいさんは、全部の割り込み内の処理時間の合計を計算して言ってるのか?
それとも単に通信割り込みの事だけを言っているのか?
後者なら、おまいはワンチップマイコンの世界から出てくるなw
0572デフォルトの名無しさん
2007/07/05(木) 01:23:43すげーたいへん、ポーリングでポート伺いでは間に合わないときとか。
PWM駆動とかをサブクロックだけで動かすとかな。
0573デフォルトの名無しさん
2007/07/05(木) 02:02:00派遣契約を切られたにもかかわらず「次の派遣先でも切られてしまって生活できません」
などと 言って泣き落としで再契約した派遣のことです。
今月初め、半年前に切った派遣が出社してきてみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。
派遣でスキルアップ、派遣で収入アップとか言うなら一箇所にしがみつかず
複数の会社を渡り歩いてください。
ひとつの会社で派遣向けの単調な仕事をしていたらスキルアップなんてありえないでしょう。
身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
0574デフォルトの名無しさん
2007/07/05(木) 03:22:53「イベント」を発行しておいて、メインループでそのイベント処理としてforループを含む処理を
する。そうすれば受信はふつうの割込み処理でOK。
プログラマの都合で「このタイミングで受信したらエラー」なんてのはエゴの強いプログラミング
の典型じゃん。エラーは「内容」とか「プロトコル違反」とかそういうのについて出すべきで、
物理的な受信は常に開けておくものだと思うよ。
0575574つづき
2007/07/05(木) 03:37:04入れちゃうんだよ。マイコンの速さを無限だと錯覚するんだよね。
タイマ割り込みでどうしても必要なのはソフトタイマのカウントぐらい。それ以上複雑な処理は
イベントにしてタスクレベルで処理させるように仕掛けとく。例えばタイマnがブレークしたら
何の処理、という奴。タイマnを張るのはたいていアプリ層だから、張るところとブレーク処理を
セットで作っておく。例えば1秒毎の処理とかあったら、それもカウンタブレークの度にイベント。
この前見た奴で、timer.cが1500行もあって、1mS割り込みでそれらのあちこちを実行してるの。
もちろんふつうはバラけてるからいいんだけど、最悪の集中したら1mS超えちゃう(w
0576デフォルトの名無しさん
2007/07/05(木) 08:25:35言いたいことは分からんでもないけど、そいう低レベルのことをあまり
力説するのもそれはそれで恥ずかしくないか?
たぶんその程度のこと、誰に教えられなくても自分で気づいたでしょ?
つまり君程度の頭の人間がそうなら、たいていの人間が自分で考えれば
自明に分かる問題、ということだ。
というか、別にISRで処理を完結するのも場合によっては悪くないでしょ。
何度も言うがどんなマイコンにも割り込みの優先順位の設定ぐらいできるんだよ。
0577デフォルトの名無しさん
2007/07/05(木) 08:46:46仕事してて一番面白い頃かもしれないね。
0578デフォルトの名無しさん
2007/07/05(木) 09:57:140579デフォルトの名無しさん
2007/07/05(木) 10:01:260580デフォルトの名無しさん
2007/07/05(木) 10:19:43タイマ割り込み内でforループしてるわけではないです。
タイマフラグ内でイベントフラグを立てても、メインがforループしてるので
イベントフラグを処理できるのがループを抜けた後になってしまうので、
それだと応答返すのが遅くなってしまうのでどうしたものかと。
0581デフォルトの名無しさん
2007/07/05(木) 11:03:16アルゴリズムを見直したら?
0582デフォルトの名無しさん
2007/07/05(木) 13:03:41送信に待ちが発生するなら、待ちループは忌避するのが割り込み処理のセオリー。
普通に考えるとこれはタイマー用のスレッド立てる流れだとは思うんだけど、
ひょっとしてメインのスレッドで通信処理してるかい?
多分ここは通信処理用に優先度の高いスレッド立てるスジのはずなんだけど。
0583デフォルトの名無しさん
2007/07/05(木) 13:40:03その長い処理のループ中に 適当に通信用の手続きを挟むのは無理なの?
無理なら、タイマー割り込みでタスク切り替えをしたらどう?
スタック用の領域をもう一つ取れるくらいメモリが空いているならだけど。
タスクってのは>>522が言ってるスレッドの事だけど
スレッド2つなら、自前で書いても スタックポインタ をタイマー割り込みで切り替えるだけだから簡単。
でも、まあ長い処理中に、適当に通信用の関数を挟む方が楽だよ
0584デフォルトの名無しさん
2007/07/05(木) 14:00:45Windowsで言うとYield()てのがあるな。
あるいは、全体をイベントドリブン構成にして
長ループが発生しない仕組みにするという方法もある。
このやりかたはシングルタスクでも可能。
0585デフォルトの名無しさん
2007/07/05(木) 19:24:48>>559はカスだけど、その意味不明な文章の意味を勝手にエスパーして回答する奴も
同じぐらいカスだと思う。
エンジニアがESP(要するに勝手な妄想というか、思い込みの激しい奴だな)で動いてどうする。
0586デフォルトの名無しさん
2007/07/05(木) 20:08:050587デフォルトの名無しさん
2007/07/05(木) 21:16:23勘違いしているかもしれんが、俺は推測する・仮説を立てることを否定しているわけではない。
推測は推測に過ぎないことを忘れる(あるいは最初からそう認識してない)
様がカスだと言っているわけね。
0588デフォルトの名無しさん
2007/07/05(木) 21:24:06お前、仕事したこと無いだろ
0589デフォルトの名無しさん
2007/07/05(木) 23:32:440590デフォルトの名無しさん
2007/07/06(金) 19:02:420591デフォルトの名無しさん
2007/07/06(金) 20:55:08状態遷移型とか、
フラグ駆動みたいなスタイルとか、
簡易インタプリタとか、
になるんだけど、
そのあたりが苦手な人がけっこういるよね。
0592デフォルトの名無しさん
2007/07/06(金) 22:36:52・1コマンドごとにイベントドリブンしてたら、超遅いシステムになっちった。
・てきとうに同期コマンド類も混ぜたら、ループ内で遷移しないスクリプト書かれちゃった。
0593デフォルトの名無しさん
2007/07/06(金) 23:38:010594デフォルトの名無しさん
2007/07/06(金) 23:47:16それこそエスパーを召還する必要がありそうだなw
0595デフォルトの名無しさん
2007/07/07(土) 00:14:360596デフォルトの名無しさん
2007/07/07(土) 07:29:19・ モード(番号で状態を表現する)変数を沢山作って状態を表現
switch case の山になる奴ね
・ 関数を沢山作って 関数ポインタで状態を表現
分析がチャンとされてたらいいけど、いきなり思いつきで書かれたようなのは・・・・・
フラグ駆動 ってのは シーケンサ(PLC)みたいな方式で動く奴だろと勝手に想像
これは確かに慣れてない他人が読むのは難しい
0597デフォルトの名無しさん
2007/07/07(土) 07:39:12これは状態遷移型?
それとも簡易インタプリタ型?
0598デフォルトの名無しさん
2007/07/07(土) 11:08:21それって誰のレスから始まってる話なんだ?
0599デフォルトの名無しさん
2007/07/07(土) 12:48:33メモリ上にある何かを状態推移で処理するとインタープリタとかに使えるし、
ファイル入力を状態推移で喰って木構造作るとコンパイラやトランスレータに使える。
通信に使うとプロトコルになるし、I/Oで使うと制御になる。
だから、状態遷移の話はどこからともなく湧いて来るもんじゃね?
0600デフォルトの名無しさん
2007/07/07(土) 15:52:30時分割を考えると...
0601デフォルトの名無しさん
2007/07/11(水) 04:57:08sfr類初期化時、TIERx=0x41(TGRAとのマッチで割り込み)、uartのほうはRE,RIE,TE,TIEを
立ててから、set_imask_ccr((_UBYTE)0); ってやってるんですけど。
MSTPCRレジスタの、使うデバイスのところを0にしても同じでした。
30xxなんかだとこの辺はすんなり行ったのに・・・どこが違うんだろうorz
0602デフォルトの名無しさん
2007/07/11(水) 09:52:55大麻のカウンコが回ってるのは確認できた?
SCIの送出はできてる?
0603デフォルトの名無しさん
2007/07/11(水) 09:58:120604601
2007/07/11(水) 16:46:28しました。外部割込みは使ってないので、起きるはずのはTPUとuartだけです。
INTC.INTCR.BYTE = 0x20; で、割り込み制御モード2を選択しました。
0605デフォルトの名無しさん
2007/07/11(水) 16:57:33デバッガの代わりにしてみたら
0606デフォルトの名無しさん
2007/07/11(水) 17:08:570607601
2007/07/11(水) 17:21:15ということみたいですね。明日試してみます。>606さん、ありがとうございます。
0608601
2007/07/12(木) 15:07:45レベル相互でがやがやして決めてくれるのに。 「このレベル以下の割り込みを待たせる」
みたいな使い方が想定されてるんですかね<---EXR
このEXRというのはsfrでなく、CCRみたいに特別な命令で触るレジスタでした。
そのために set_imask_ccr()みたいに、set_exr()とか and_exr() or_exr()などがmachine.hに
定義されてました。
0609デフォルトの名無しさん
2007/07/12(木) 15:26:42多重割り込みを使いたいときの為では?
SHには昔からある。
0610デフォルトの名無しさん
2007/07/12(木) 18:19:220611デフォルトの名無しさん
2007/07/12(木) 18:29:560612601
2007/07/13(金) 05:57:14気がするのですよね。500シリーズあたりから似た感じはありましたが。
0613デフォルトの名無しさん
2007/07/13(金) 10:48:10ペンディングにすべき割り込みレベルがわかってないとマスクできないヂャマイカ
EXRは単にCCRに入らないからあわてて拡張したものでそ。
0614デフォルトの名無しさん
2007/07/13(金) 16:03:35よーく考えて使いなさいって事でしょ?
基準になる割り込みレベルはマイコンが知ってないとおかしくなるのでは?
0615デフォルトの名無しさん
2007/07/15(日) 03:20:21もはや1秒に2000命令だよw
0616デフォルトの名無しさん
2007/07/15(日) 05:30:35でもそれで1秒に2000命令ってどういうことだ?
まさか、ヤツのスタンドは時を
0617デフォルトの名無しさん
2007/07/15(日) 06:37:01そんなトロい石で何やらしたの?
0618601
2007/07/15(日) 08:15:180619デフォルトの名無しさん
2007/07/15(日) 10:21:52SCIでは送信ができたのですが
SCIFではなぜか送信したいコードの前に0x00がついてしまいます。
べた書きでデータを2個セット(0x30,0x31)しても
0x00,0x30,0x00,0x31が送信される。
なにかの設定ミスだと思うが原因がわからない。
どなかた教えて下さい。
0620デフォルトの名無しさん
2007/07/15(日) 12:37:31SHは使ったことが無いんだが、、、
現象だけみると、
SCI:
送信バッファorDMA無しでデータ長は8bit(1word)固定
SCIF:
送信バッファorDMAを使って複数wordの送信設定が可能
となってる時にSCIFへ16bitのデータとデータ長を
設定してるように見える
0621デフォルトの名無しさん
2007/07/15(日) 14:14:20SCIF.SCFTDRに送信データをセットしているのだが
ハードマニュアルを見てもソフトのヘッダファイルを
をみても8bitレジスタだがらしれはないと思う。
たしかにその他の設定レジスタは16bitが多いいのだが・・・
0622デフォルトの名無しさん
2007/07/15(日) 20:21:05時計とかじゃない?
0623デフォルトの名無しさん
2007/07/15(日) 22:56:29TIEするタイミングが悪いとか?
0624デフォルトの名無しさん
2007/07/15(日) 23:01:000625デフォルトの名無しさん
2007/07/15(日) 23:06:080626デフォルトの名無しさん
2007/07/16(月) 00:02:28過去の自分自身に打ち勝つのさ
0627デフォルトの名無しさん
2007/07/16(月) 04:10:26劣化しない&歪まない条件であれば。
パターンを全て記録、といっても全て記録できないので
間引いて記録し、途中は線形予測する。
0、100、200,300、400とあれば途中の予測は計算でできるだろ?
細かい部分の予測は大域と狭域を別けて、狭域(微細)な部分は近似模様など
をパターン化して記録しておく。
姿勢や状態による歪むなどの未知条件が含まれるのならば、ニューラルネット
ワークで抽象学習するのが効率的である。
0628デフォルトの名無しさん
2007/07/18(水) 03:46:42まともな対処は、(A)クロックを分周可能なものに変える (B)64文字ずつソフトで送出完了を
待って送信。(今の場合1040バイトほど送る必要があるのでちょっと辛い) が考えられますが、
(C)全二重できなくなるが、送信時だけstop=2で送出し、送信終了時stop=1に切り換える。
は使えそうでしょうか?体験した方がいたら、いけるとか無駄だからやめとけとかお願いします。
0629デフォルトの名無しさん
2007/07/18(水) 07:27:36まともな対応は、まずソフトを疑う事でしょうね。
それともPC側の動作がおかしいの?
双方STOP2にすれば解決するの?
0630628
2007/07/18(水) 08:19:2466文字目辺りでSTOPbitの幅の半分以上ずれるので、次のstartbitを検出しなくなります。
PC側でSTOP1だと思ってて、マイコンからSTOP2で送出すれば、1文字10bitの中では
bitの真ん中近くでサンプルでき、次のstartbitが規格より若干遅めに来るように見えるのでは
と考えたのですが。
>1文字毎に調歩同期 が始まるのは、「STOPbitの真ん中を検出した直後から」 なのか
「stopbitが所定の時間続いた後から」 なのか、明確にしているuartの石は少ないでしょう。
前者なら多少速くてもついてくるが、後者だとアウトなんですよね。
0631デフォルトの名無しさん
2007/07/18(水) 08:56:55双方stop2にして解決しないなら、受信側がデータを取りこぼしてるか、送信側が送りそびれているだけだろ
0632デフォルトの名無しさん
2007/07/18(水) 09:19:320633デフォルトの名無しさん
2007/07/18(水) 09:44:57常識通りになってないUARTが存在するのかもしれないが、
まあ、普通はない。
だから双方ストップ2にしてみる事だね。
0634628
2007/07/18(水) 14:18:20双方STOP2にしても受信側が1つ目のSTOPbitでstart待ちに遷移するならば解決しますね。
>>632 オシロでは送出文字のbitパターンは確認できてますから、送りそびれてないのは確認
できてます。 >>628で、PC側でデータを取りこぼしてると言ってます。
>>631 スタートbitの検出で同期するのは理解してますよ。その先の状態遷移はいろいろ実装
方法があるのです。ふつうはstartbit検出の後、所定のクロックで規定される「bitの真ん中」に
当る時点で8bit[+pari][+stop]を検出して、RXDがHiであればstartbit検出待ちに戻る、Hiで
なければ(フレーミングエラーを表示し)Hを待ってからstartbit検出待ちに戻る、でしょう。
で、628のように送信側のクロックが少し速いと、最初のうちはbitの真ん中付近でサンプリング
してたのが、次のバイトではstartbitの立ち下がりより僅かに遅れて検出が始まり・・・で数十byte
後にはサンプリング位置がbitの境界からずれて正しい検出ができなくなります。<--byte中の
Lobitをstartだと思って検出を始めるから以後間違った8bitかフレーミングエラーが連続する。
これをどうやって救おうかというネタなんです。
0635628
2007/07/18(水) 14:59:11同期を行う」(以後各bitの8/16の位置でサンプリングする)と書かれています。また、STOP2の
場合は2bit分マークが続くことを見る、となっています。ここに少し「ごまかし」が感じられます。
(図では書いてあるが言語による明記が無いから)
マークの1bit分の時間より僅かに早く次のstartbitの立ち下がりが来たとき、おそらくマーク半分
過ぎていれば次のstartbitの立ち下がりは検出できるのでしょうが、半分より早く来た場合は
ノイズとみなしてRXD=Hを待ってから立ち下がりを検出するようになっていると推測します。
~~~~|___|~1~|~2~|~3~|~4~|~5~|~6~|~7~|~8~|~~~| (左が先)
_________________________________________________|<----次のstartbitがここより早くなると同期できない
半分かどうかはともかく、「末尾マーク開始〜終了の間のどの辺まで次のstartbit立ち下がりを
許すマージンを採るか?」については石の設計者の裁量が入るのではないかとおもいます。
0636628
2007/07/18(水) 15:02:160637デフォルトの名無しさん
2007/07/18(水) 15:22:10まあでも、
PC側に使ってるのはUSB?
普通は、ボーレートの16倍でサンプリングするから、そういう事はないのだけど
変な設計のものがあるのかもしれないね。
あるいはPC側のボーレートも2%くらいズレてるとかさ
でもまあH8なら STOP2にしても、受信時のSTOPビットは1ビットしか見ないから大丈夫。
0638デフォルトの名無しさん
2007/07/18(水) 15:40:39ロジアナで本当にずれているのか確認する。
UARTにズレのないクロックを供給してみる。
とかやってみれば...
0639628
2007/07/18(水) 17:33:06PCによって取れる奴と取れない奴がありましたから、機種により、送信データの先頭でしか
同期を取らないPCと、1byte毎に同期を取り直すPCがあるようです。
マイコン側をSTOP2、PC側をSTOP1にしてもダメなPCはダメでした。
>>638 クロックは判っているので、ずれているのは確かです。別のチップの都合で今は変な
クロックを使ってみたのですが、だめなら分周して誤差ゼロになるクロックに変えてもらうこと
になるでしょう。
0640デフォルトの名無しさん
2007/07/18(水) 18:01:54誤差は1%以内にしてくれってデータシートに書いてあるけど...
外れのハード屋に当たったみたいだね?
0641デフォルトの名無しさん
2007/07/18(水) 18:05:450642628
2007/07/18(水) 18:25:12ってのが本音かと。
>>639 別チップと共通クロックで動ければ水晶1個ケチれてラッキー!ぐらいの発想で始まった
ので、そんなに外れとは思いません。今回の確認で、僅かに違うだけなのに水晶2個になるのは
ちょっとくやしいです。
>>640 そうですね。私も20MHzの8bitのときは確か1%弱で収まったので、今回もその位を期待
したのですが、1%強になってしまって・・・弱と強がこんなに違うとはビクーリでした。
0643デフォルトの名無しさん
2007/07/18(水) 18:31:30通信なめたハード屋みたいだね?
0%になるクロック使えばいいのに?使えない理由でもあるんかね?
0644デフォルトの名無しさん
2007/07/18(水) 18:53:45この人って口ぶりからして「自信満々に勘違いする」タイプの人だよw
オシロで確認したから送信側に問題はないはずだ、ってオシロでそんなこと
わからないだろうw
0645デフォルトの名無しさん
2007/07/18(水) 18:56:14フロー制御してないから、単純に取りこぼしてるのだろう。
0646デフォルトの名無しさん
2007/07/18(水) 19:01:14どうせマイコン側が9bitモードの設定になってるとか、そんなマヌケなオチだと思うよ。
UARTなんて±3%ぐらいずれてても平気で受信しちゃうわけで、1%程度の誤差で
同期がとれなくなるなんてありえない。
それにそんな理由なら受信するバイト数とは無関係にそういう現象がおこるはずだ。
0647デフォルトの名無しさん
2007/07/18(水) 19:03:090648デフォルトの名無しさん
2007/07/18(水) 19:04:14そんなことないやろ
PC内臓のUARTなら16550互換の筈で、わざわざ新規に設計した方がコストアップになる。
ありえん。
0649デフォルトの名無しさん
2007/07/18(水) 19:20:24>>>641 それはないでしょう。1本でも接続する端子は減らしたいもの。RXD/TXD以外はヤだ!
つまりそれは、FGも繋がないからノイズ出捲くりでもOKだし、ハードウェアハンドシェイクも捨てると言うことで宜しいか?
#まさか、SGも繋がないとは言わないだろうけれど……
0650デフォルトの名無しさん
2007/07/18(水) 21:35:38電池駆動の1個10円で製造するようなマイコンでは
取りこぼしする程度の性能しかないよ。おまえは組み込み系の
底で動くマイコンをしらなすぎ
0651デフォルトの名無しさん
2007/07/18(水) 21:42:13富豪プログラミング(違)に慣れてるんだろう。仕方ないよ。
0652デフォルトの名無しさん
2007/07/18(水) 21:45:41て言うか、ボーレートも書いてない時点でネタでしょ。
# もしマジなら、シンクロとか言う前にレンタルでいいから
# プロトコルアナライザ借りて見てみることだな。
0653デフォルトの名無しさん
2007/07/18(水) 21:54:38>>628はマイコン側で受信に失敗してるとか言ってないの。
っていうか、日本語読めないのかな。
誰がマイコンの話してるんだ?
意味わからんよまったく。
0654デフォルトの名無しさん
2007/07/18(水) 23:00:33そりゃ、パワー不足だろ?
0655デフォルトの名無しさん
2007/07/18(水) 23:00:50マイコンの話は主眼じゃないでしょ
そういう劣悪な環境でもちゃんと動作するプログラムを書く人がいる
一方でまともな環境なのにろくに動かないプログラムを書く人もいる
という話なのに何をいっているのか
0656デフォルトの名無しさん
2007/07/18(水) 23:02:16こんな馬鹿初めて見たわ
0657デフォルトの名無しさん
2007/07/18(水) 23:46:28いちいち突っ込むなよ。
0658デフォルトの名無しさん
2007/07/19(木) 00:34:26ところで、なんでFIFO付きを使ったの?
なんか一癖ありそうと思って、俺は敬遠して普通のSCI使ったんだが・・・(SH7080)
0659デフォルトの名無しさん
2007/07/19(木) 05:09:260660628
2007/07/19(木) 07:26:08>>644 オシロで各byteのbit構成見れますよ。きっちり矩形波で、角がなまってないとか、1bitの
長さからクロックも判ります。
>>643 使えない理由ではなく、>>642のまんなかの理由です。
>>649 グラウンドはあります(w ハードフロー制御はたいてい使いません。
0661デフォルトの名無しさん
2007/07/19(木) 07:39:14115,200bpsとかだと、フロー制御無しだと厳しい場合もあるんじゃないの?
0662デフォルトの名無しさん
2007/07/19(木) 08:24:44割り込みがかかると思ってるの?w
0663デフォルトの名無しさん
2007/07/19(木) 09:05:0310*16/115200で 1.4ms割り込みが禁止されたらアウトだろ
0664デフォルトの名無しさん
2007/07/19(木) 11:17:50そんな時間割り込み止めるような設計する方が...
0665デフォルトの名無しさん
2007/07/19(木) 12:24:22「あくびが出るような」処理をわざわざ抑制する理由ってあるのかねw
Windowsってそんな間抜けな設計になってたっけ?
0666デフォルトの名無しさん
2007/07/19(木) 12:29:150667デフォルトの名無しさん
2007/07/19(木) 12:32:360668デフォルトの名無しさん
2007/07/19(木) 13:20:05割り込み禁止でなくても HDDのDMA転送とかでバスが占有されて動けないとかさ、色々あるんじゃないの?
なんといってもレガシーだから、古い設計のままの部分同士が喧嘩するのかもな。
といっても19200bps以上はフロー制御入れてるから、実際そんな事になったわけじゃないが
>>635 のようなUARTが存在するよりは割込禁止やバスが占有されて取りこぼす事の方がありえるように思うよ
0669デフォルトの名無しさん
2007/07/19(木) 14:25:44今の時代にバスを占有するって...
0670デフォルトの名無しさん
2007/07/19(木) 17:02:15そういえば、数秒間割込み禁止でつっぱしるSCSIカードなんて物も昔はあった…
0671デフォルトの名無しさん
2007/07/19(木) 19:02:31オーバーランしちゃうなんて話はただの一度も聞いたことない。
0672デフォルトの名無しさん
2007/07/19(木) 19:53:15この幸せもの?
0673デフォルトの名無しさん
2007/07/19(木) 23:16:57良かったな。PC系ばっかりで。
0674デフォルトの名無しさん
2007/07/20(金) 00:04:29そういう「俺だけが他の誰も知らない真理を知っている」的な心情って
むしろ身の程知らずま馬鹿にありがちなものだと思うんだけど、
自分で書いてて恥ずかしくならないのかね。
こんなスレにいるんだから貧弱なHWの経験の方がむしろ多いぐらいだ。
ただ、俺は君と違って「ハード寄りのコードを書いてる俺の方がPCのプログラマより
ずっと高級なんだ」なんていう恥ずかしい勘違いは決してしないが。
0675デフォルトの名無しさん
2007/07/20(金) 00:07:040676デフォルトの名無しさん
2007/07/20(金) 00:07:350677デフォルトの名無しさん
2007/07/20(金) 01:02:560678デフォルトの名無しさん
2007/07/20(金) 23:27:23> そういう「俺だけが他の誰も知らない真理を知っている」的な心情って
いや、このスレだと >>671 だけが知らないってことだと思うぞ。
て言うか、何でそんな被害者意識満開なの?
0679デフォルトの名無しさん
2007/07/20(金) 23:30:58嫌味が通じないようだからはっきり言うけど、
そんなことは断じてありえないから言ってるんだけどね。
486以降のCPUにとってUARTの割り込みを拾うなんて回転すしの皿を取ること以下だぞw
0680デフォルトの名無しさん
2007/07/20(金) 23:47:26Winがシリアル取りこぼすのは処理能力の問題じゃなくて
デバイス丸見えなドライバ構造とアバウトなタスクスケジューリングの
せいじゃないのか?
0681デフォルトの名無しさん
2007/07/21(土) 01:02:12>ずっと高級なんだ」なんていう恥ずかしい勘違いは決してしないが。
なら黙っておればよい。
↑の文は「俺もハードよりのコードを書いてるんだぜ」という意味の言葉であり
慢心がありありとみてとれる。
だから他人から低級と揶揄される。
>被害者妄想ねえw
>
>嫌味が通じないようだからはっきり言うけど、
>そんなことは断じてありえないから言ってるんだけどね。
だが、被害者妄想かどうかは自分では評価できない。
従ってまた愚かさを露呈する。
半年ROMってろ
0682デフォルトの名無しさん
2007/07/21(土) 02:46:360683デフォルトの名無しさん
2007/07/21(土) 05:22:400684デフォルトの名無しさん
2007/07/21(土) 06:27:510685デフォルトの名無しさん
2007/07/21(土) 06:44:36そりゃ9600bpsなら取りこぼしは無いかもしれないが115200bps、230400bpsとか 460800bpsの話をしてるんじゃないのか?
0686デフォルトの名無しさん
2007/07/21(土) 10:49:480687デフォルトの名無しさん
2007/07/21(土) 11:47:28> 486以降のCPUにとってUARTの割り込みを拾うなんて回転すしの皿を取ること以下だぞw
そりゃそれに専念してりゃね。
そんなもんに構ってられないようなシステムなんて想像もつかないんだろ?
>>685
115.2Kbps ぐらいまでは惰性で理解できるけど、460.8Kbps なんかは UART でやるべき
なのか?
0688デフォルトの名無しさん
2007/07/21(土) 11:56:05だから専念しなくて済むのと引き換えに「割り込み」という、
システムに有限個しか存在しえない割り込みを消費してるんだよ。
でなきゃ何のための割り込みだよw
しかし、なんか学生クンが多いのかね。
0689デフォルトの名無しさん
2007/07/21(土) 12:02:49先生、わかりません。
0690デフォルトの名無しさん
2007/07/21(土) 13:05:38そりゃ PC だけ性能があるマシンを組み込み用に使えば、まったく余裕のよっちゃんだろうけど
windowsで絶対大丈夫なんて、それはタマタマ旨く行ってるだろだろうに
この前も、USB-シリアルブリッジのICのRTS/CTS/DTR/DSRをパラレル的に使ってて
それじゃ1Kの入出力も保証できないよって言ったら、 いや20Kで動いてるから20Kだってさ
トランザクション単位に送ってくれるドライバもあるかもしれないが
フレーム単位にしか処理しないドライバだったらどうするんだよと
パソコンとセットで売るんならいいんだろうけど、どのパソコンでも動くもん売ろうと思うなら
取りこぼしはありえるとして設計するべきだと思うよ。
0691デフォルトの名無しさん
2007/07/21(土) 13:32:27486時代だって理論上ほぼ完全にありえんと言ってるのにw
いやまあ、こういう筋書きならよく聞いたりしたことはあった。
VBでMSComm使って機器と通信してるんだが、機器からの送信データを取りこぼしが
頻繁に起こるという。
で、どんな処理をしてるのかたずねれば、UIスレッドで発生するVBのイベントを
マイコンの割り込み的に使って、つまり数バイト受信するごとに発生する(はずの)
イベントで受信処理を行うんだと。
そのプログラムを書いた彼は、これはWindowsにリアルタイム性がないからだ、
とOSのせいにしていたが、俺に言わせればそんなのプログラムの設計が根本的に
間違ってるだけの話だ。
0692デフォルトの名無しさん
2007/07/21(土) 13:35:48先生、わかりません。
0693デフォルトの名無しさん
2007/07/21(土) 13:36:23元を正せば ”PCが” 受信データを取りこぼす(>>628)
って話じゃなかったか?
で、”(Winの)PCが”処理おっ付かなくて取りこぼすなんてことは
絶対無いと(>>646)主張してる奴が居ただけのような
単純にかみつきやすそうなレスに噛み付いてるだけの
構ってちゃんが居るんじゃないのか?
0694デフォルトの名無しさん
2007/07/21(土) 13:47:52うんうん。つまりこうだね
PCでもS/Wの設計が不味いとシリアルの取りこぼしは「容易に起こりうる」 と
これを問題が起きてる奴に向かって「絶対に起きない」とは、
普通言わないんじゃないかな?
0695デフォルトの名無しさん
2007/07/21(土) 13:51:57そのFIFOのサイズは規定されてるのか?
取りこぼさないと言ってる奴はどのwindowsでもそのサイズが十分にあるという事を言いたいのだろ?
windowsアプリは10ms下手したら100msくらい処理時間をもらえない場合も普通にあるわけで
0696デフォルトの名無しさん
2007/07/21(土) 13:56:02自分の世界にこもってる人が問題ないと言ってるだけのような気がする。
0697デフォルトの名無しさん
2007/07/21(土) 13:58:33また馬鹿なことを言うよ。
問題の切り分け、という概念がチミの頭には存在しないのかい?w
OSのネイティブな機能として取りこぼしが起こりうるか、って話をしているのであって(以下略
っていうかありうるって言ってる奴はそれ実体験を語ってるの?
0698デフォルトの名無しさん
2007/07/21(土) 14:00:23それはUIスレッドの話だよw
というか、君割り込みってどういう物か理解してるかい?
0699デフォルトの名無しさん
2007/07/21(土) 14:16:36たぶん、>>628はここで聞いたのが間違いだったと思ってるだろうね…^^;
0700デフォルトの名無しさん
2007/07/21(土) 14:26:28そりゃ組込屋だから理解してるが、割り込みがかかっても
データを取りこぼさないには アプリがデータを見れるまでFIFOに保存しておいてやらんとあかんだろ。
そのFIFOのサイズは十分にあるのかい?
windowsアプリは専門外だから詳しくないのだが、どうもハードウエアFIFOそのまましか見えないように思えるのだが?
0701デフォルトの名無しさん
2007/07/21(土) 14:45:00フリースレッド内でバッファリングすればいいからね。
フリースレッドに制御がなってこない時間が10msのオーダで発生する、
というのは異常でもないかぎりないから取りこぼしはまずあり得ないねえ。
いや694みたいな人がいるから別のより正確な言い方をすると、
取りこぼさずに受信するコードを書くのが不可能、ということはありえない。
0702デフォルトの名無しさん
2007/07/21(土) 14:56:21そのサイズによって、どのボーレートで
10msが十分な時間間隔かどうかの答えが出るんだからさ、それを書かないと、単なる妄想やろうだろうに
0703デフォルトの名無しさん
2007/07/21(土) 15:14:47もちろん可変。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpfileio/html/_win32_setupcomm.asp
設定可能な上限がどう決まるのかよく覚えてないが、俺はたいばい馬鹿の一つ覚えで
4096にしていたから少なくともその数値は問題のない値といっていいと思う。
必要なキーワードは提示したからあとは興味があったらお好きに調べて。
すでに批判があるようにスレ違いだからもうこれで打ち止めにする。
0704デフォルトの名無しさん
2007/07/21(土) 15:20:48あの、FIFOとリングバッファは違うんですけど...
0705デフォルトの名無しさん
2007/07/21(土) 15:23:09なるほど。 この設定をしていれば、後は割り込みの禁止区間が異常じゃない限りはまあ大丈夫だろうな
FDDやUSBに受信しながら書き込むとかじゃない限りは
>>704
いや、このリングバッファはFIFOの事だよ。
0706デフォルトの名無しさん
2007/07/21(土) 15:29:21リングバッファはFIFOだけど、俺がいってるのはUARTが持ってるFIFOのことです。書き方が悪かった。
0707デフォルトの名無しさん
2007/07/21(土) 15:40:59リングバッファは設定可能で、その設定したリングバッファが溢れるまでにアプリ層からアクセスすればOK
という事で、正しく調整されれば、まず溢れる事はないだろう。
もっとも割り込みが1mS禁止されるなどの状況がありえるパソコンなら別だろうけど
0708デフォルトの名無しさん
2007/07/21(土) 15:44:30ハードウエアFIFOが16バイトで足りないときがアルんですよ。
0709デフォルトの名無しさん
2007/07/21(土) 15:46:12それが出来ないならフロー制御をして下さい。
0710デフォルトの名無しさん
2007/07/21(土) 15:48:00回避方法は色々あるけど、32バイトは欲しいところ
0711デフォルトの名無しさん
2007/07/21(土) 15:51:57制御系プログラマは、与えられたハードで工夫するのがお仕事ですので、がんばって下さい。
0712デフォルトの名無しさん
2007/07/21(土) 15:53:34金勘定プログラマはお気楽なんですか?
0713デフォルトの名無しさん
2007/07/21(土) 17:30:55廃人増やしてどうする、金勘定系。
0714デフォルトの名無しさん
2007/07/21(土) 18:15:59今までで一番ひどかったのは
ピン番間違えてふつーのポートにつながったシリアル入出力を無理やり
手で実装したことかな。
悲しいけど、やってて楽しいんだよなこういう車輪の再開発って。
0715デフォルトの名無しさん
2007/07/21(土) 18:45:450716デフォルトの名無しさん
2007/07/21(土) 19:19:11いや、そのパソコンの話だろ
0717デフォルトの名無しさん
2007/07/21(土) 19:47:24呪縛っつーか16550なんて8251にFIFOつけただけみたいなもんだろ
0718デフォルトの名無しさん
2007/07/21(土) 20:22:01制御すること考えると結構違いがあると思う。
0719デフォルトの名無しさん
2007/07/21(土) 21:37:54> システムに有限個しか存在しえない割り込みを消費してるんだよ。
って書いてるから、割り込み要因が複数あることは知ってるのに UART
の割り込みに構ってられないほど上位の割り込みがガンガン来る状況は
想像できないんだな。
>>707 > もっとも割り込みが1mS禁止されるなどの状況がありえるパソコンなら別だろうけど
>>710 > 回避方法は色々あるけど、32バイトは欲しいところ
ボーレートもPCの性能もわからんのに、根拠のない値を言い切る奴って...
0720デフォルトの名無しさん
2007/07/22(日) 00:17:28>構ってられないほど上位の割り込みがガンガン来る状況
そんな状態はそもそも正常な状態ではありません。
異常な状態です。
異常な状態は、(そういう状況が起こらないようにシステムトータルで考える
べき事柄であって)プログラマが考慮すべきことではありません。
端的に嘲笑的に言えば、君はたとえば何事かの処理が可能かどうかを考えるときに、
CPUが熱暴走する場合のことも考えるのかい?w
そんな場合のことを考えるのであれば、すべてのことが不可能だといわざるを得ないね
0721デフォルトの名無しさん
2007/07/22(日) 01:46:53温室の中では本当に動くプログラムは書けないぜ、坊や。
0722デフォルトの名無しさん
2007/07/22(日) 02:28:20>CPUが熱暴走する場合のことも考えるのかい?w
・・・つーかこれ、普通に考えるべきことだろ。
山頂に設置する無人ロガーが熱暴走したときに
交換費用請求されたらイヤだろ。
0723デフォルトの名無しさん
2007/07/22(日) 02:32:31駄目なVxDとかいかにもありそうだ。
NTベースはまず無いと思うけど負荷100%が持続するような状態だと取りこぼしもあるんじゃないか?
0724デフォルトの名無しさん
2007/07/22(日) 03:13:48熱暴走だけじゃないぞ。OSのバグとか停電とか断線とか。
何かの拍子にコネクタ1個外れたら大事故起こしましたなんてのは洒落にならんからな。
そこまで極端な話をしなくても、データ取りこぼしの可能性程度は考慮するのが当たり前。
0725デフォルトの名無しさん
2007/07/22(日) 03:20:12人工衛星や惑星探査機で無人ロガーが熱暴走したり
メモリが紫外線や宇宙線にやられたりしても動く作り方を知らないんだろうよ
0726デフォルトの名無しさん
2007/07/22(日) 03:51:38どこのメモリがビット化けしてもそれなりに動くプログラムって
どうやって作るかわかんないけど、超憧れるよね。
NASAに就職して勉強して帰ってきたいといっつも思うよ。
0727デフォルトの名無しさん
2007/07/22(日) 04:13:55どこのメモリでもってわけじゃないけど、重要なデータを入れる領域だけビット化けに耐える構造にすることは割とよくある。
冗長性を持たせるだけなんでそんなに難しくはないよ。
0728デフォルトの名無しさん
2007/07/22(日) 04:42:44って方法なら使ったことあるんだけど これって一般的なの?
0729デフォルトの名無しさん
2007/07/22(日) 04:47:52そういえば普通磁気記憶にはCRC入ってるよな。
ていうかECCメモリーはエラー訂正するんだよな。
0730デフォルトの名無しさん
2007/07/22(日) 06:29:070731デフォルトの名無しさん
2007/07/22(日) 06:57:25> 異常な状態は、(そういう状況が起こらないようにシステムトータルで考える
> べき事柄であって)プログラマが考慮すべきことではありません。
まあ、こんなこと言ってるようなので所詮コーダレベルなんだろ、許してやれよ >> ALL
>>728
組み込みなら、一般的だと思う。
>>729
ECC の最後の "C" は、Correct だからな。
最近のサーバでは ECC は当たり前として、メモリーモジュールが壊れた場合に備えて、
ミラーリングで救済して稼動中にホットプラグで交換できるらしい。
>>730
ノイズとかの一時的な要因の可能性があるならリセットとかで復旧を試みるけど、ROM
自体が化けてると訂正のしようがないから致命的エラーで止めるしかないと思う。
0732デフォルトの名無しさん
2007/07/22(日) 07:24:44昔から設計するときECCは当たり前(必須)だったよ
今はなんでもサーバっていってるから市場が違うのかもしれんが…
組み込み屋じゃなくてすまん
0733デフォルトの名無しさん
2007/07/22(日) 08:17:15じゃ、おまえが模範になる質問回答をやってくれ。
0734デフォルトの名無しさん
2007/07/22(日) 08:59:55メモリに限らず、電源もホットプラグ交換できるね。
同じ会社のサーバ機でも、ダメなシリーズはただのPCだけど。
0735デフォルトの名無しさん
2007/07/22(日) 11:22:13ああ、「最近のサーバでは ECC は当たり前として」を「昔のサーバでは ECC が当たり前
でない」と取っちゃったか。句読点の打ち方まずったな、すまん。
× 最近のサーバでは ECC は当たり前として、メモリーモジュールが壊れた場合に備えて、
○ 最近のサーバでは、ECC は当たり前としてメモリーモジュールが壊れた場合に備えて、
>>733
なんに噛み付いてるのかさっぱりわからん。
理解力もしくは説明能力がないんだろうな。
>>734
あと、FAN とか CPU や PCI ボードまでできる奴もあったりする。
> 同じ会社のサーバ機でも、ダメなシリーズはただのPCだけど。
まあ、安いサーバの構成は PC とほとんど同じで、保守とかが違うだけと言うのもありが
ちだし。
0736デフォルトの名無しさん
2007/07/22(日) 11:55:48なお同社は19日、柏崎刈羽原発で記録した地震観測データを公開したが、
97台ある地震計のうち旧型の63台で、本震データが消失していたことも
明らかにした。通信回線が混雑しため、本震データを東京のサーバーに
転送する前に、地震計内部で余震データに書き換わってしまったという。
3月の能登半島地震の際も北陸電力の志賀原発で同様の事象が発生していた
ため、東電では2008年度までにすべての地震計を新型に更新する予定だった。
タイムリーで激ワロス
組み込みでこんなプログラム作ってたらすぐクビだろ
0737デフォルトの名無しさん
2007/07/22(日) 12:09:01上書きしても地獄、更新を停止しても地獄。
どのみち地獄は回避できないんだぞ。
もちろん「回線が最大N日死ぬ場合を想定してシステムを設計すべし」という
批判なら批判として成立する可能性は無くもない。
その場合、そのシステムが設計された時点でそれが技術的に可能だったかどうかの
判断が必要になる。
問題をプログラムの問題に矮小化するのは>>719と同類の愚を犯してるよ。
プログラマとしては、考えても仕方がないことは仕方がない。
0738デフォルトの名無しさん
2007/07/22(日) 12:11:13という安全工学の発想を否定するものではない。
0739デフォルトの名無しさん
2007/07/22(日) 12:24:090740デフォルトの名無しさん
2007/07/22(日) 12:36:27どうしても削除しなければならない場合は、この小さいものから順に削除してゆくというアルゴリズムくらいは実装してよかったのかもな
0741デフォルトの名無しさん
2007/07/22(日) 12:46:27そんな重要なデータ送るのに公衆回線つかうなよ
0742とりあえず煽ってみる
2007/07/22(日) 13:15:57一部中の人だけど、地震計ってたぶんどこのメーカのものも古い順に消去するか、最大加速度の小さい順に消去するか、
どちらかでできるようになっているはず。それに地震の波形データなんてただの飾りですよ。偉い人には(ry
だいたい壊れちゃった(壊れかかった)建物で測った波形データそのものが死活的に必要なはずがない。何に使うのよ?
あ、ちなみに地震計は組み込みですよ。当たり前だけどWindowsなんて怖くて使えない。周辺では使うけど、
故障することを前提にシステムを組むのは当然。
0743デフォルトの名無しさん
2007/07/22(日) 13:17:53とっとと地震計を交換している真最中だったらしい。
新型に交換済みの分のデータは無事だったらしいよ。
0744デフォルトの名無しさん
2007/07/22(日) 13:43:41前回の時点で容量増やしてプログラムをちょこっと修正するだけでも違ったのにな
0745デフォルトの名無しさん
2007/07/22(日) 14:16:45電力会社だからな。ちょこっと修正するだけでも手続きとか予算とか大変なんだろ。
実際にリプレイス中だったんだから上出来ではないかと。
0746デフォルトの名無しさん
2007/07/22(日) 17:52:073つ以上、チェックがつけばアナタの性格はひん曲がっており、
ネガティブ負け組派遣人生を歩んでいます。
□派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□仕様とは正社員から口伝されるものだ
□耳で聞いた仕様を正確に覚えていないのは自分の責任だ
□昼食は必ず派遣先の社員と行くべきだ
□自分の仕事で問題が発生しても解決するのは派遣の仕事ではない
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□チビは派遣先にかわいがってもらいやすいから派遣には有利だ
0747デフォルトの名無しさん
2007/07/22(日) 17:57:490748デフォルトの名無しさん
2007/07/22(日) 17:58:440749デフォルトの名無しさん
2007/07/22(日) 21:32:560750デフォルトの名無しさん
2007/07/23(月) 01:01:59知恵のない奴とか頭悪いなとか書いてありますけど、もうちょっと謙虚に
構えた方がいいかもね。
0751デフォルトの名無しさん
2007/07/23(月) 23:32:45になってるだけだと思う。
>>720
>>構ってられないほど上位の割り込みがガンガン来る状況
> そんな状態はそもそも正常な状態ではありません。
とか書いてるけど、だからできませんとか言うのは簡単だけど、そんな
ことではお飯のくいぶちが減っちゃう。このときは、シリアル側でリト
ライするようにして、取りこぼしても正しく動くようにした。
>>736-737 の例は、中身をよく知らないので、新聞読んだ時は大きな波
形を残せばいいのにと思ったけど、>>742 によると既にそういう設定も
できるらしいので、プログラムの問題と言うより運用の問題と思う。
まあ、この世界自分の知らないことはたくさんあるので、「謙虚」な心
を忘れるとダメと言うことには、激しく同意する。
0752デフォルトの名無しさん
2007/07/24(火) 01:07:02表紙のやつ)の記事で、詳細は失念しましたが「ここの消費電流は、この○○は、
などと聞かれたら『わかりません』と答えればいい」とかいうような記述、
つまりはハード寄りのことはわからんと開き直っていいということが
書いてありまして。
組み込み初心者の教育を売りにしている(ように思える)こんな雑誌が
こんなことでいいのかと思いましたよ。
0753デフォルトの名無しさん
2007/07/24(火) 01:15:41いや、「S/W技術者にとってH/Wのことは知ったことじゃない」って
文脈でもない限り、分からん物を分からんと言わずに
適当に答える奴が一番危険で、エライことになることもあるから、
あながち間違いじゃないだろ。
客や素人は、何の専門家なのなんてことは気にしないのが普通なんで、
相手次第で「詳細なデータは社に戻って確認してから〜」といった
言い回しでその場は切り抜けて、専門家に振るといった対人スキルの
問題なんかは、学者先生の知ったことじゃないんだろう
0754デフォルトの名無しさん
2007/07/24(火) 01:20:07回答するのがS/W屋として一番誠意ある回答じゃないの?
なにしろそのとおりに作っているんだし
0755デフォルトの名無しさん
2007/07/24(火) 01:41:40ケースはあるよな。
逆にブレーンストーミングやってるなら、突拍子もない意見
でも言わないよりはマシだったりする。
要するに、文脈を想定せずにどうのこうの言ってもしょうが
ないってこと。
0756デフォルトの名無しさん
2007/07/24(火) 03:39:300757デフォルトの名無しさん
2007/07/24(火) 11:26:470758デフォルトの名無しさん
2007/07/24(火) 12:32:54本人はおそらく全く自覚がないと思うが、これって帝国陸軍の精神主義そのものだよw
それは「科学する心」と正反対のものだ。
0759>>751
2007/07/24(火) 21:32:590760デフォルトの名無しさん
2007/07/24(火) 21:48:04可能な範囲で努力するのと不可能なことをやろうとするのは全く違うと思うよ。
たまにいるんだよね、簡単にできることなのに不可能だと言い張る奴。
0761デフォルトの名無しさん
2007/07/24(火) 21:50:32じゃ、君が手本を示してやればいいじゃん。
0762デフォルトの名無しさん
2007/07/24(火) 21:55:120764デフォルトの名無しさん
2007/07/24(火) 21:58:11お、すごいじゃないか?
0766デフォルトの名無しさん
2007/07/25(水) 08:40:37いつの間にか出来る事になっていて、しかもその会社の命運をかけられて、
胃に穴を開けながら仕事してるうちに、その会社潰れた経験した俺としては、
「出来るかもしれない」レベルなら「出来ない」と客には言うべきだと
0767デフォルトの名無しさん
2007/07/25(水) 11:50:55それはいくらなんでも、会社がバカなんでしょう
君が気にする事ではないと思う
0768デフォルトの名無しさん
2007/07/25(水) 13:18:18リスク管理のできない会社や客は淘汰されるべきだな。
議事録にでも記録しておいてなんか言って来たらそれを証拠にしる。
0769デフォルトの名無しさん
2007/07/25(水) 15:18:250770デフォルトの名無しさん
2007/07/25(水) 23:35:13それはいくらなんでも、会社がバカなんでしょう
君が気にする事ではないと思う
0771デフォルトの名無しさん
2007/07/26(木) 00:06:20出来ないことが分かった時点でちゃんと「出来ない」と主張しなきゃ。胃に穴を開ける前に。
>>769
なんだそりゃ?kwsk
0772デフォルトの名無しさん
2007/07/26(木) 05:27:09hoge = huga ^= 1 ? yy:zz; って書いてしまったorz
hoge = (huga ^= 1) ? yy:zz; のつもりだったが、
hoge = huga ^= (1 ? yy:zz); と解釈されるのね。かっこをサボると痛い・・・
0773デフォルトの名無しさん
2007/07/26(木) 08:03:500774デフォルトの名無しさん
2007/07/26(木) 12:40:27なんて言う奴、多分居ないから
付けといてよ・・・括弧
自分だって「別に優先順位に自信が無いから括弧付けるんじゃないんだからね!」
と心でつぶやきながらコーディングしてるよ
0775デフォルトの名無しさん
2007/07/26(木) 18:03:56論理演算が絡むともう駄目
0776772
2007/07/26(木) 18:05:09ビキニみたいにぎりぎりつけない主義ってわけじゃないんです。
後でC&R見たら、比較式>?式>^=式 だったので、1段階差でした。付けりゃよかったorz
0777デフォルトの名無しさん
2007/07/26(木) 19:06:120778デフォルトの名無しさん
2007/07/26(木) 19:16:30そういう信条の奴っていそうだな
0779デフォルトの名無しさん
2007/07/26(木) 19:16:500780デフォルトの名無しさん
2007/07/27(金) 06:40:550781デフォルトの名無しさん
2007/07/27(金) 15:59:13そういう小物のテストプログラム持ってると、マイコン変わったときに有利なような気がする。
0782デフォルトの名無しさん
2007/07/27(金) 17:12:36バグるのは気にも留めないようなとこなんですよね。
0783デフォルトの名無しさん
2007/07/27(金) 17:24:550784>>751
2007/07/27(金) 22:57:40huga ^= 1 ? yy:zz;
を見て、
(huga ^= 1) ? yy:zz;
って解釈されると考える奴の方がおかしいと思うけど。
0785デフォルトの名無しさん
2007/07/27(金) 23:31:42最適化したら動かなくなったとか
0786デフォルトの名無しさん
2007/07/28(土) 00:07:00PCがヂュアルCPUの時代、最適化がどれだけ影響するかが気になる。
パイプライン、先行命令実行、コアを増やすしか能がなくなってきたノイマン型CPU
そろそろ新しいアーキテクチャでも考え始めるか<偉そう
0787デフォルトの名無しさん
2007/07/28(土) 00:22:02びっくりするほど性能差が出るようになったよ。
しかも、人間には最適化はほぼ不可能。
でもまあアルゴリズムの詰めとかはこんぴゅーたには
まだまだ無理だから、人間にしか出来ないことはまだまだ多い
0788786
2007/07/28(土) 02:02:45それでバグが出なければおkだ。
0789デフォルトの名無しさん
2007/07/28(土) 02:41:13こういうの制御したいよなぁ・・・
0790デフォルトの名無しさん
2007/07/28(土) 03:35:31だいいち、最適化ってやつは、パラダイムシフトを伴うようなエポックメイキングなアルゴリズムを生み出してくれる物じゃないからな。タダの因数分解みたいなもんだし。
0791デフォルトの名無しさん
2007/07/28(土) 05:51:220792デフォルトの名無しさん
2007/07/28(土) 08:03:24制御したいと言うより、メンテナンスしたいんじゃないのか?w
ttp://www.nicovideo.jp/watch/sm701833
こういうことはしないようにね。
0793デフォルトの名無しさん
2007/07/28(土) 15:10:09volatileくらい付けとけゴルァ
その前にループで時間待ちするなゴルァ
0794デフォルトの名無しさん
2007/07/28(土) 15:16:160795デフォルトの名無しさん
2007/07/28(土) 22:31:07メーカーのサンプルだって人の子が作ってるんだから、
ヘタレサンプルも結構あるよ。
0796デフォルトの名無しさん
2007/07/28(土) 22:34:00「お前らがちゃんと書けよな」という意思を示している。
0797デフォルトの名無しさん
2007/07/28(土) 22:53:18それ下請けか派遣だから…
社員が作ってもひどくなることは想像に難くないけどな。
0798名無しさん@そうだ選挙に行こう
2007/07/29(日) 10:15:24の話をしてるんだ?w
まあ、「この」業界にはこういうイタい奴らが多いのは確かだな
0799名無しさん@そうだ選挙に行こう
2007/07/29(日) 14:15:27サンプルが多いよ。下請けだからか、並行処理に使えない書き方を意識的にしてるのか
俺も首をひねったことがある。「まんまパクられても困る」からだろうとおもってる。
0800名無しさん@そうだ選挙に行こう
2007/07/29(日) 14:38:160801名無しさん@そうだ選挙に行こう
2007/07/29(日) 15:11:08そもそもサンプルなんて、その回路を動かすための一例を示したものだから、
「並行処理」とか「エラー処理」等の回路の動作に直接関係しない部分を意識
的に省略するのは当然だろ。そんなもんいちいちやってたらわかりにくくなる
だけだから。
そもそも、サンプルを「そのままパクる」なんて発想する奴がいるなんて、こ
の業界もレベル低下が激しいな。
0802名無しさん@そうだ選挙に行こう
2007/07/29(日) 15:16:18そういうエラー処理や排他制御を「意識した上で省いたコード」に
なってると とても便利で重宝すると思うんだよね。
汎用的に書くのは難しいのはわかるけど
0803名無しさん@そうだ選挙に行こう
2007/07/29(日) 15:23:02だから、人材不足なんでしょ?
0804名無しさん@そうだ選挙に行こう
2007/07/29(日) 16:36:21何を言いたいのか意味不明。
エラー処理や排他処理をコメントにでも書いとけと言ってんのか?
>>803
まあ、そうなんだけどね。
0805名無しさん@そうだ選挙に行こう
2007/07/29(日) 16:54:56新人がこれ見て真似したらどうすんじゃい!とかおもうよ。
0806名無しさん@そうだ選挙に行こう
2007/07/29(日) 16:57:260807名無しさん@そうだ選挙に行こう
2007/07/29(日) 16:59:54それはその新人を教育した香具師が悪い。
私のところでは、「サンプルは信用するな、Webは信用するな、過去のソースは信用するな」と言ってある。
0808名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:16:07その台詞も信用できないね
0809名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:31:58そそ、そう思うくらいで丁度いい。
0810名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:49:340811名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:53:57それ、信用して痛い目にあったバカですって言ってるようなもんだぞ
0812名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:55:16問題が出たか予見できるなら変更で
0813デフォルトの名無しさん
2007/07/29(日) 23:43:450俺が書いたのを出してるヨ
でも、信用して欲しくは無いヨ
0814デフォルトの名無しさん
2007/07/30(月) 00:17:270815デフォルトの名無しさん
2007/07/30(月) 10:47:29という検査用のテストベンチをそのまま流用されて
「設定が反映されないようですが? おたくの製品は以下略」と
申されたお客様がいるぜよ?
テストベンチだっつーのそれ! と回答したぜよ?
0816デフォルトの名無しさん
2007/08/01(水) 14:04:27write(addr,buf,len)で、任意の長さ渡せるようにしたい。その中でページにわけてページごとに
waitする必要があるのですが、
*** (半端)
********************** (ページfull:nページありうる)
****** (半端) こんなふうに切り分けるうまいアルゴリズムありませんか?
ページの途中からそのページ内だけ、の短い長さもあり。
0817デフォルトの名無しさん
2007/08/01(水) 14:06:21********************** (ページfull:nページありうる)
****** (半端) こう書きたかったの。
0818デフォルトの名無しさん
2007/08/01(水) 14:09:180819デフォルトの名無しさん
2007/08/01(水) 16:04:050820デフォルトの名無しさん
2007/08/01(水) 16:11:17http://pc11.2ch.net/test/read.cgi/tech/1158367586/240-243
0821デフォルトの名無しさん
2007/08/01(水) 19:40:25そんなもんアドレスをページサイズで割った時の剰余で(ry
0824デフォルトの名無しさん
2007/08/02(木) 20:09:48DDRAMポインタの移動がよくわからない。
0x80+x+0x40*yでセットできるみたいだけど、なんで2行目はアドレスが0x40
からになるんですか?
0825デフォルトの名無しさん
2007/08/03(金) 05:52:42コマンド体系になっているの。俺は20*2行=[40]の配列に1,2,3,・・・64,65,66・・・を入れといて
何文字目にポインタ移動したいときはその中身を送るようにしてる。
0826デフォルトの名無しさん
2007/08/13(月) 07:49:27と書いてあるが、「それ以前に他の位置をブリンクさせているとそちらは止まる」という副作用は
しっかりトボけてるの。結局n文字のブリンクはソフトでタイマ張ってやらないとダメだった。
0827デフォルトの名無しさん
2007/08/13(月) 07:56:010828デフォルトの名無しさん
2007/08/13(月) 10:05:15> 「カーソル位置の文字がブリンクします」
普通に考えて、ブリンクカーソルのことだろ。
カーソル位置が変わるんだから、それ以前にブリンクしていた
(つまり、それ以前のカーソル位置の) 文字のブリンクが止まる
のは当たり前。
0829デフォルトの名無しさん
2007/08/20(月) 11:41:210830デフォルトの名無しさん
2007/08/25(土) 16:34:2250K行をgrepで引っ掻き回すこと数時間・・・uartのステータスレジスタをアクセスするコード
がいっさい無かったよorz 1バイト読むたんびにエラーリセットコマンド書いてたよ・・・
元の書いた奴締めようにも、どこにいるのやら。 ええ、正直に報告はしましたよ。
0831デフォルトの名無しさん
2007/08/25(土) 16:43:27ステータスレジスタみないんだからエラー処理でもないだろうし…
0832デフォルトの名無しさん
2007/08/25(土) 17:06:550833デフォルトの名無しさん
2007/08/25(土) 22:39:46エラーフラグをチェックするには分岐しなくちゃいけなくて割り込み時間が足りなくなるから
とにかくデータを全部FIFOに放り込んでエラーリセットだけして
・・・・チェックサムだけが頼りになるけどさ。
0834デフォルトの名無しさん
2007/08/25(土) 23:15:15コードのバグじゃないと思うんだけどなw
意味がわからん。
0835デフォルトの名無しさん
2007/08/25(土) 23:27:41>830を読む限り、ハンドシェイクさえできてなかったって話に見えるが。
0836デフォルトの名無しさん
2007/08/25(土) 23:56:40そういうトンマな反論をする奴がいるだろうな、と予想してたけど
ハンドシェイクなどという物理層より上の話をしているのなら
「uartのステータスレジスタ」なんて言葉は出てこないだろう。
0837830
2007/08/26(日) 07:36:361のbitの電圧が敷居値付近になって0に化けたりします。
まともなuartのソフトなら、RXDレディ割り込みのたびにステータス見て、エラーなら扱いを
変えるようになってるもんですが。(そのバイトを含むフレームを捨てる、とか)
今回のシステムではパリティ使ってなく、タイマ割り込みのほうはEIしてますからオーバーラン
も起きない。だからフレーミングエラーだけ見ればいいのに。
ステータスregに対するアクセスがそもそも無いんです。で、受信したフレームから情報抽出
するところでは平気で正常扱いしちゃってるんで呆れたわけです。
今まで何千台も出荷されてきたのに・・・私の責任で直しましょうとかってレベルじゃないので
とりあえず報告した段階です。
0838デフォルトの名無しさん
2007/08/26(日) 09:32:10これと
>50mを超えると、信号の矩形波がなまったり、
>1のbitの電圧が敷居値付近になって0に化けたりします。
これと
>パリティ使ってなく
これが
>だからフレーミングエラーだけ見ればいい
が、全く繋がらないわけだが。
データ化けは放ったらかしていいのかよ?
口ぶりからすると物理層はV.24/RS-232Cレベルみたいだが
そもそも60mも飛ばす前提ならV.24を採用した時点でアウトだろ
0839デフォルトの名無しさん
2007/08/26(日) 09:43:11パリティ使ってないのなら、>>837で書いてるようにフレーミングエラーを無視しなくても文字化けは頻発する。
チェックサムとかで後処理でデータの正常異常を判定するしかないレベルだろ。
どっちにしても、「今のデータ受信出来んかったから、もう一回お願い」 みたいな処理が必要になる。
それが出来るだけ通信速度に余裕があるのかどうかとか、色々考えなくちゃな。
0840デフォルトの名無しさん
2007/08/26(日) 09:44:58# のに要求してくるエンドユーザが多いのも事実
0841デフォルトの名無しさん
2007/08/26(日) 12:34:230842デフォルトの名無しさん
2007/08/26(日) 13:39:55どんなすごいケーブル使っていたかは知らないが。
分かっていれば会社からその本持ってきてたのにな(個人持ちの本です)。
エラー訂正機構を設けても手間ばかりかかるし、
やっぱ、手っ取り早く>>841の言うとおり差動型にするか?(RS422とか)
RS232⇔RS422変換するドライバICもあるみたいですよ(うろ覚え)。
それか、ソフトで速度を半分にしたら?
0843842
2007/08/26(日) 13:43:22○トランシーバ
0844デフォルトの名無しさん
2007/08/26(日) 14:10:280845デフォルトの名無しさん
2007/08/26(日) 14:14:54普通は電源を別に取ってると 電源間の電位差で直流でさえ通らない。
だからコモンモードノイズが取れるように差動にするのさ
0846デフォルトの名無しさん
2007/08/26(日) 14:25:420847デフォルトの名無しさん
2007/08/26(日) 14:33:260848830
2007/08/26(日) 16:25:20だと、overrun,framing,parity をいっぺんにmaskで見る書き方がよくされてましたが、当system
ではparityとoverrunは見る必要がないはず、ただしframingだけは検出すべき、と言いたかった。
それでもデータ化けは起こるからチェックサムも見るべきなのは当然ですね。
それもやってなかったけど。そもそも「カンマで区切られた可変長のフィールド」というルール
なのに、固定位置から情報抽出してたし。も〜、むちゃくちゃ。
ところで、HD64180のデータシートのpdf、どこかに転がっていませんかね?
本-->SCAN-->CDにしてもらった奴見てるんですが、ただの画像で、文字検索とか
できなくて、pdfの意味ないのorz
0849デフォルトの名無しさん
2007/08/26(日) 23:04:39フレーミングエラー”すら”見てないと言いたかったと言いたいのかな?
まぁシステム設計もソフトウェア設計もテストも何かも無茶苦茶で
今になってツケ払うことになってるってとこだな
ttp://www.datasheetarchive.com/search.php?t=0&q=HD64180&manystr=
0850830
2007/08/27(月) 04:49:52生産中止になっても、保守でマニュアルは使うのに・・・メーカー冷たいですね。
0851デフォルトの名無しさん
2007/08/27(月) 05:58:560852デフォルトの名無しさん
2007/08/27(月) 06:52:540853デフォルトの名無しさん
2007/08/27(月) 06:58:38>「カンマで区切られた可変長のフィールド」
ってのはあんまり使わないと思うけどな、特にチェックサムが付いてるようなデータでは特に。
0854830
2007/08/27(月) 11:07:49ソフトであるんですか?pdf食わせるとキャラクタ抽出みたいの。
0855デフォルトの名無しさん
2007/08/27(月) 12:04:30日立の古いデータシートはそういうのしかないでよ。
0856830
2007/08/27(月) 13:54:17pdfをtifにするのにどうやればいいかで困ってます。
0857830
2007/08/27(月) 18:24:17まだ糞切りがつきません。
0858デフォルトの名無しさん
2007/08/27(月) 18:44:240859デフォルトの名無しさん
2007/08/27(月) 20:38:25についてソースとか参考になるHPありますかね。
電子工作室とワンチップCPUで遊ぼうは知っています。
0860デフォルトの名無しさん
2007/08/27(月) 20:46:36地道に見つけることだね。
自前で実装したことあるけど、OpenDesignのNo.3が参考になった。
0861デフォルトの名無しさん
2007/08/27(月) 21:35:49TCPのソースなんて
xBSDのソースでも見ればいいじゃないか
TCP層まで上がってきたらMACドライバ関係ないだろ
0862デフォルトの名無しさん
2007/08/28(火) 02:41:500864830
2007/08/28(火) 17:53:27を落としてpdf食わしてみました。画像だけのpdfは認識率良くないですが、元のプリントと併用で
なんとかできそうです。
0865デフォルトの名無しさん
2007/08/28(火) 20:05:29office2003ならOCRもついてる
ttp://office.microsoft.com/ja-jp/help/HP010771031041.aspx
0866864
2007/08/29(水) 02:18:57でした。残念。854のときは本気でコーディングシートかと思ってましたが、今ではOCRって
そういうものを言うんですね。今まではちょっとした表なんかを選択ツールでコピって貼るぐらい
だったのですが、今回10数頁の20列ぐらいある表を貼ることになったので、目ウロコ体験でした。
0867デフォルトの名無しさん
2007/08/29(水) 04:12:520868デフォルトの名無しさん
2007/08/30(木) 21:40:09>>93
>>99
で言う所のメインCPUというかリッチな方のCPUの話になるが、
http://pc11.2ch.net/test/read.cgi/tech/1187298711/181
http://pc11.2ch.net/test/read.cgi/tech/1187298711/188
どう思う?
0869デフォルトの名無しさん
2007/08/31(金) 14:09:51説明図が書かれてるんですが、これってどんな場面で使うんでしょ?ちょっと想像つかない・・・
0870デフォルトの名無しさん
2007/08/31(金) 15:06:48単に組み込み用のスクリプトを作るだけなら、自前で作った方が規模に応じて作れるので楽
JAVAを使うメリットはパソコンのコードを再利用出来る所にあると思うが、
それはC言語でも持っているメリットなのでことさら取り上げる程ではない。
>>869
4bit単位に回せるので、パック10進数を処理するような場合に便利
0871デフォルトの名無しさん
2007/08/31(金) 17:34:580872デフォルトの名無しさん
2007/08/31(金) 21:37:540873デフォルトの名無しさん
2007/09/01(土) 02:00:51CAP-X、CASL、CASL-IIが出てきたときも同じ事ゆってた人たちがいたよ。
うろ覚えだが、どれかは本当にネイティブASICで作られたと思う。
今なら誰かに頼まなくても、FPGAで実現できるよ。
なんならウチで請け負うか?代金は個人ではちょっと高すぎるが。
0874デフォルトの名無しさん
2007/09/01(土) 05:01:59OS/ドライバ開発する苦労も考えろ
回路載ってりゃ動くってモンじゃないんだぞ
どうせ次はPHPとか言い出すんだろ?
>>873
高級言語と仮想マシンのアセンブラ一緒にするのは無茶だろ
0875デフォルトの名無しさん
2007/09/01(土) 12:30:380876デフォルトの名無しさん
2007/09/01(土) 14:32:190877デフォルトの名無しさん
2007/09/01(土) 16:26:13夢があっていいじゃん
0878デフォルトの名無しさん
2007/09/03(月) 14:30:38地獄を見そうな気がするんだが
0879デフォルトの名無しさん
2007/09/04(火) 15:29:260880デフォルトの名無しさん
2007/09/10(月) 08:28:120881デフォルトの名無しさん
2007/09/10(月) 18:06:43個人的なものでも歓迎です。
0882デフォルトの名無しさん
2007/09/10(月) 18:13:410883デフォルトの名無しさん
2007/09/10(月) 19:24:370884デフォルトの名無しさん
2007/09/10(月) 19:42:31USBとかRS-232Cとかで制御出来るやつありませんか?
0885デフォルトの名無しさん
2007/09/10(月) 20:12:48http://www.newedge.org/logic/ibrator/ibratorj.html
0886デフォルトの名無しさん
2007/09/10(月) 23:43:24サンクスコ
自分で探してみたらこんなのもあった。が、音声信号なんでマイコン等が介在した制御ではなさそうだが。
ttp://www.downloaders.cn/2007/03/10110925.html
いろいろ探したら思ったらこんなのがあった!使えそうw 4chで2穴x2人
ttp://www.technokit.biz/usb_io_kiban/setu_md.gif
ttp://www.technokit.biz/usb_io/hs-10seig1.html
いや、作らないけどw >>881への課題
0887デフォルトの名無しさん
2007/09/10(月) 23:51:59ウンコだチンコだシモネタで喜ぶなんてガキの証拠だと思うんだがな。
まあ自分の幼児性を恥ないのがガキなんだけどさ。
というか、この制御系のスレなのに、ただの組み込み屋(それも8bitマイコンレベルの)
しかいないだろ。
0888デフォルトの名無しさん
2007/09/11(火) 00:03:23お金にはなるけどね
0889デフォルトの名無しさん
2007/09/11(火) 00:16:36つかうCPUのマニュアル
0890デフォルトの名無しさん
2007/09/11(火) 02:17:590891デフォルトの名無しさん
2007/09/11(火) 07:51:340892デフォルトの名無しさん
2007/09/11(火) 14:00:520893デフォルトの名無しさん
2007/09/11(火) 14:09:560894デフォルトの名無しさん
2007/09/11(火) 14:18:50こうすれば無駄なく軽く動くだろうな、CPUも喜ぶよな、とか考えてる。
0895デフォルトの名無しさん
2007/09/11(火) 15:10:35動かないハードを”動かせ”とか無理言う奴もいた。
0896デフォルトの名無しさん
2007/09/11(火) 21:25:32確かに幼稚だったね。ごめん。でもこういうくだらない事が好きなんだ。
俺はウンコだチンコだとは一言も書いていないけど、それも好きだ。悪いが。
>>888
組み込み系のマイコン制御だけの知識だとアダルトサイトのスケーラビリティとか考えられないだろうし。
あ、ロードバランサとかファイアウォールの組み込みの中の人、乙です。
ところで、このスレの制御系って何をさすんだ?
0897デフォルトの名無しさん
2007/09/11(火) 22:00:49少なくともLEDチカチカは違うだろw
0898デフォルトの名無しさん
2007/09/11(火) 22:05:000899デフォルトの名無しさん
2007/09/11(火) 22:24:10制御理論を適用応用するのが制御系だろ?
それ以外に何があるんだよ
LEDチカチア液晶チカチカが制御か?w
0900デフォルトの名無しさん
2007/09/11(火) 22:28:57テンプレからも過去スレの流れからも
所謂組み込み系がこのスレの範囲かと
>>899が言ってるのは言葉の定義としては正しいけど
実態に合ってない
0901デフォルトの名無しさん
2007/09/11(火) 22:35:420902デフォルトの名無しさん
2007/09/11(火) 22:40:07バイブレータの振動を変化させるのも制御系だよね?
0903デフォルトの名無しさん
2007/09/11(火) 23:24:22実際にはフィードバックによる焦らし制御を要望する市場はまだ無い。
それよりもメンテナンス性の良さなどの運用上の問題をクリアしてほしい
という声の方が大きい。
0904デフォルトの名無しさん
2007/09/12(水) 21:25:28空気を読むか、読まずに>>899に合うスレを自作するか。
それは自由だな。
0905デフォルトの名無しさん
2007/09/18(火) 14:38:05それはシンプルなon/off制御かと
0906デフォルトの名無しさん
2007/09/18(火) 14:44:43地味な事やったことないんだね?
0907デフォルトの名無しさん
2007/09/18(火) 19:21:58制御とは言わないだろ普通。
それは制御してるんじゃなくて、単にドライブしてる(作動させてる)だけじゃん
0908デフォルトの名無しさん
2007/09/18(火) 19:39:230909デフォルトの名無しさん
2007/09/18(火) 19:45:31くみこの組み込み談話室
って事にするよ?
0910デフォルトの名無しさん
2007/09/18(火) 19:52:49シーケンス制御
0911デフォルトの名無しさん
2007/09/18(火) 19:53:130912デフォルトの名無しさん
2007/09/18(火) 20:12:37ハード寄りの話も大好物。
道具話も楽しくやれるならやってくらさい。
この世界は処理系依存はあたりまえだから、処理系明記するのを忘れないでよね!
過去ログ
●●●くみこの組み込み相談室●●●
http://pc3.2ch.net/tech/kako/988/988084737.html
関連過去ログ
____ 制御系なら俺に聞いてもいいぜ(9)
/::::::::::::::::::\ http://pc11.2ch.net/test/read.cgi/tech/1158622810/
/::::::::/ 丶::::::\ 制御系なら俺に聞いてもいいぜ(8)
/:::::ノ \:::::ヽ http://pc8.2ch.net/test/read.cgi/tech/1125994426/
|::::::: \ / :::::| 制御系なら俺に聞いてもいいぜ(7)
|::::| ● ● |::::| http://pc8.2ch.net/test/read.cgi/tech/1109102528/
|::::| .. .. |::: | 制御系なら俺に聞いてもいいぜ(6)
|::::\ [__ ̄] /:::::::| http://pc5.2ch.net/test/read.cgi/tech/1099574832/
|::::::::::\___/:::::::::::::| 制御系なら俺に聞いてもいいぜ(5)
|_:::::::::| |::::::::(⌒)::| http://pc5.2ch.net/test/read.cgi/tech/1079102543/
|::::::::::|-、 ,-/......ノ~ レ-r┐ 制御系なら俺に聞いてもいいぞ(4)
/....|::::丿|,,,,,,/.....ノ__ | .| ト 、 http://pc2.2ch.net/test/read.cgi/tech/1068869894/
/.........レ.....| 〈 ̄ `-Lλ_レ′ 制御系なら俺に聞いてもいいぞ(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
0913デフォルトの名無しさん
2007/09/18(火) 20:49:55後藤?
遠藤?
0914デフォルトの名無しさん
2007/09/18(火) 21:24:25バカかお前くだらない事するな
0915デフォルトの名無しさん
2007/09/18(火) 22:47:36新参者乙
0916デフォルトの名無しさん
2007/09/18(火) 22:58:34新参者?なんの話だ?
どうせ前のように廃墟になるんだろ
0917デフォルトの名無しさん
2007/09/19(水) 00:21:18フィードバックは制御の一種でしかない。
LEDに電源繋いで光らせるだけなら制御ではないが、LEDをON/OFFするのは立派な制御だ。
0918デフォルトの名無しさん
2007/09/19(水) 01:40:17わかんねえ奴だなあ
0919デフォルトの名無しさん
2007/09/19(水) 02:12:05controlの定義を述べよ
0920デフォルトの名無しさん
2007/09/19(水) 04:20:02LEDだったらICが駆動用の電圧出してくれるかどうかとか、その辺のレベル。
チカチカだって、デューティ決めて明るさを変えるとかやれば立派な制御かと。
出力はリレーの開閉がほとんどだが、タッチキー入力とかダイヤルなど人間の入力扱うのも
制御の範疇で語るよね。
0921デフォルトの名無しさん
2007/09/19(水) 06:58:540922デフォルトの名無しさん
2007/09/19(水) 08:09:550923デフォルトの名無しさん
2007/09/19(水) 09:35:07マトリクスがいっぱいだと電圧がいっぱいあるし。
0924デフォルトの名無しさん
2007/09/19(水) 09:42:390925デフォルトの名無しさん
2007/09/19(水) 10:38:540926デフォルトの名無しさん
2007/09/19(水) 11:13:590927デフォルトの名無しさん
2007/09/19(水) 11:18:110928デフォルトの名無しさん
2007/09/19(水) 11:36:46で、こんな低レベルなことやれるかって怒る人がいたりして...
0929デフォルトの名無しさん
2007/09/19(水) 13:27:33電源が切れる。RTCは電池で生きていて、所定の時刻になるとアラームがONになり、それが
電源につながってて、起動がかかる。
0930デフォルトの名無しさん
2007/09/19(水) 15:58:35松下でソリッドステートリレーの無料お試しモニタ募集中。
http://www.mew.co.jp/ac/special/ssr/index.jsp
0931デフォルトの名無しさん
2007/09/19(水) 22:15:23RTCは自分の電源を切っていない。
0932デフォルトの名無しさん
2007/09/19(水) 22:40:54そもそもくだらない発言をしたのはお前 m9(^Д^)プギャー
イヤならスレ削除依頼でも出しときな
0933デフォルトの名無しさん
2007/09/19(水) 22:43:32○イヤならお前好みの崇高なスレでも立てとけ。廃墟確実w
0934デフォルトの名無しさん
2007/09/20(木) 05:50:44ふつうはRTCにだけは電気食わせとくようにするでしょ。
0935デフォルトの名無しさん
2007/09/21(金) 10:27:51最近のRTCは凄いよな。 たった0.8uA だぜ。
3メガの抵抗1本分 下手したら基板のリークより少ない
0936デフォルトの名無しさん
2007/09/21(金) 13:06:22昔気質の上司が「電池付けろ」と決めてエラいコスト高に・・・
0937デフォルトの名無しさん
2007/09/21(金) 14:51:480938デフォルトの名無しさん
2007/09/22(土) 02:23:23あ、それならボタン電池の方が安かったりして
0939デフォルトの名無しさん
2007/09/22(土) 06:58:131Fは1Aで1秒=1/3600時間しかもたない
CR2032で200mAh 程あるので、3桁もボタン電池の方が容量は多い。
100mAhの容量があればRTCなら10年電池が持つ
0940デフォルトの名無しさん
2007/09/22(土) 13:32:47製品が寿命を終えるまで電池切れは起こらないだろう(w
0941デフォルトの名無しさん
2007/09/22(土) 21:13:20ゲイン余裕,位相余裕を大きく取ると,速応性が悪くなるらしいのですが,
その理屈が分かりません.
どなたかご教授願います.
0942デフォルトの名無しさん
2007/09/22(土) 21:25:51本来はシミュレート板や情報システム板が適当な筈ですが、
アチラがあの状態ですから仕方ないとは思いますが・・・・
その質問の仕方では、単になにも判らないと言ってるのと同じです
もう少し勉強して下さいとしか言えません。
今検索したら、検索結果だけでも十分理解出来ると思いますよ。
0943デフォルトの名無しさん
2007/09/22(土) 21:25:580944デフォルトの名無しさん
2007/09/22(土) 21:33:260945デフォルトの名無しさん
2007/09/22(土) 22:15:04色々不安だな・・・
今の開発環境がマイナーになった時、それまでの知識が無駄る。
不安だ・・・
0946941
2007/09/22(土) 22:19:59質問前に検索して調べましたが,分かりませんでした.
自分の考えとして,
位相余裕を小さくするということは,
ゲイン0dBでの周波数での位相は遅れてしまう.
なので,位相余裕を大きくした方が,位相の遅れを抑えられて,
速応性が良くなるのではないかと思ったんです.
位相の遅れは,速応性を向上させるものなのでしょうか.
0947941
2007/09/22(土) 22:24:04質問前に検索して調べましたが,分かりませんでした.
自分の考えとして,
位相余裕を小さくするということは,
ゲイン0dBでの周波数での位相は遅れてしまう.
なので,位相余裕を大きくした方が,位相の遅れを抑えられて,
速応性が良くなるのではないかと思ったんです.
位相の遅れは,速応性を向上させるものなのでしょうか.
0948デフォルトの名無しさん
2007/09/22(土) 23:03:210949デフォルトの名無しさん
2007/09/23(日) 01:01:05あっちへ池
http://science6.2ch.net/test/read.cgi/denki/1190277966/
0951デフォルトの名無しさん
2007/09/23(日) 11:56:000952デフォルトの名無しさん
2007/09/23(日) 14:18:070953デフォルトの名無しさん
2007/09/23(日) 15:31:310954デフォルトの名無しさん
2007/09/23(日) 15:50:060955デフォルトの名無しさん
2007/09/24(月) 16:00:55たとえば、毎サンプル、目標までの距離が判っているとする。
目標までのその差をどんんだけ詰めるかってのが速応性。
速応性を上げると、当然発振し易くなるだろ?
ゲイン余裕 とか 位相余裕ってのは、
これ以上いくと発振するところまでの余裕って事だ。
逆は必ずしも真ならずというけど、まあ、余裕持たせるには、
ゆっくり応答するしかないわけ
0956デフォルトの名無しさん
2007/09/24(月) 16:05:060957デフォルトの名無しさん
2007/09/24(月) 16:26:430958デフォルトの名無しさん
2007/09/25(火) 00:24:440959デフォルトの名無しさん
2007/09/25(火) 06:30:50そして金手間掛けずにマブチモータから回転数検出できそうな方法ない?
手持ちの機械パーツはほぼ0
0960デフォルトの名無しさん
2007/09/25(火) 06:52:35まず電源をモータの定格より、少し高い電圧にする
代わりに、PWM方式でスイッチングする。
スイッチングオフ期間中の電圧を読み出せば、回転数に比例している筈だ
0961デフォルトの名無しさん
2007/09/27(木) 03:17:55こんなに熱くていいのかな、と心配。 もしかして、相の変わり目のエッジは「同時」じゃ
いけない?・・・(前の相が立ち下がってほんの僅か空けて次の相が立ち上がる、とか)
0962デフォルトの名無しさん
2007/09/27(木) 06:41:030963デフォルトの名無しさん
2007/09/27(木) 06:50:42Aを切るのとBを入れるわけで、
これは同時にやってもいい。
2相だと同じコイルを反転するんで、考えないといけないけどね。
熱くなるのは停止中に電流を流し続けているからだろう。
モータを回してる間はオンオフするからコイルのL成分が効くからあんまり電流は流れない。
0964デフォルトの名無しさん
2007/09/27(木) 08:58:24許容範囲内
0965961
2007/09/27(木) 14:23:13はずなんですが・・・ >>964 たしかに、100度は行ってないです。これで許容範囲なのか。
0966デフォルトの名無しさん
2007/09/27(木) 14:31:190967デフォルトの名無しさん
2007/09/27(木) 14:36:38停止してる時にソフトでパタパタさせるか
0968デフォルトの名無しさん
2007/09/28(金) 06:05:15まだ試作か何かだろ
0969961
2007/09/28(金) 08:23:030970デフォルトの名無しさん
2007/09/28(金) 09:35:02制御系なら俺に聞いてもいいぜ(10)
まったり逝きましょう。
ハード寄りの話も大歓迎です。
道具話も楽しくやれるならやってくらさい。
この世界は処理系依存はあたりまえだから、処理系明記するのを忘れないでね!
過去ログ
制御系なら俺に聞いてもいいぜ(9)
http://pc11.2ch.net/test/read.cgi/tech/1158622810/
制御系なら俺に聞いてもいいぜ(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
0971デフォルトの名無しさん
2007/09/28(金) 09:42:39○---+-------->コモン
|
_
△ D1
|
+------+-->A
| _
○SW1 △ D2
○---+------+
GND
たとえば、SW1でAを切っても 電流は流れ続けようとする
D1 に流す設計と
D1A' (Aの反対側) のD2の部分に流す設計の2通りある
D1に流す設計だと、電流は長時間流れ続ける事になるので
4相のつもりが波形は4−2相だったりするよ
0972デフォルトの名無しさん
2007/09/29(土) 09:20:14D1を無くしてA' (Aの反対側) のD2の部分に流す設計の2通りある
0973デフォルトの名無しさん
2007/09/29(土) 09:21:520974デフォルトの名無しさん
2007/10/01(月) 20:04:56検索しても独自に開発実装してる人いないみたいだし。
やっぱり難易度たかいっすかね。
0975デフォルトの名無しさん
2007/10/01(月) 20:49:58頭のおかしい奴だった
0976デフォルトの名無しさん
2007/10/02(火) 08:29:120977デフォルトの名無しさん
2007/10/03(水) 01:52:35マイクロソフトのプロトコルは、作っても作っても新しいプロトコルにするし、Win95系ではポート関連のバグがあるし、ホスト名はお得意の独自仕様【ハイブリッド】タイプだし、Win95系の共有名は最大12バイトだけどWin2k系はその制限は無いし、
WinXPには妙なセキュリティが入ってるし、これを組み込みで作れというのなら、辞表を書いてもっと条件がよくてアホな会社に移るね。
やったらそれはそれで功績だけど、俺はもっと合理的な仕事をしたいね。
0978デフォルトの名無しさん
2007/10/03(水) 15:06:23合理的な仕事なんてもうこの世には無いだろ
0979デフォルトの名無しさん
2007/10/03(水) 15:48:53腕のないほら吹きは、人数かければ、動くと思ってるみたいだけど...
0980デフォルトの名無しさん
2007/10/03(水) 16:47:55●●●くみこの組み込み相談室1.0●●●
http://pc11.2ch.net/test/read.cgi/tech/1191397574/
ご不満方多数ならば、書き込まないでおけば、早期データ落ちします。
0981デフォルトの名無しさん
2007/10/03(水) 19:48:54制御系なら俺に聞いてもいいぜ(10)
http://pc11.2ch.net/test/read.cgi/tech/1191408444/
0982デフォルトの名無しさん
2007/10/04(木) 08:27:470983デフォルトの名無しさん
2007/10/05(金) 00:02:16A関数の中で、このn秒というのをどのようにカウントすればよいのでしょうか。
(言語はCです。)
0984983
2007/10/05(金) 00:05:351秒毎に実行されるAという関数があります。n秒後にA関数の中で別の関数を実行したいのですが、
A関数の中で、このn秒というのをカウントしたい場合はどのようにすればよいのでしょうか。
(言語はCです。)
0985デフォルトの名無しさん
2007/10/05(金) 00:13:51環境をもっとはっきりさせないと
0986デフォルトの名無しさん
2007/10/05(金) 00:27:57カウンタの変数用意するだけだべ
0987983
2007/10/05(金) 01:08:54>>986
ありがとうございました。A関数内でカウンタ変数を宣言していた為、処理できませんでした。
外部変数でカウンタ変数を宣言し、A関数内でカウンタ++で解決しました。
C言語を勉強しはじめたばかりで、これまで外部変数を使う機会がなかったので、
まったく気付きませんでした。申し訳ございません。
0988デフォルトの名無しさん
2007/10/05(金) 01:21:34つ[static]
0989デフォルトの名無しさん
2007/10/05(金) 05:20:52>>988の言うとおりstaticにしろ
volatileも付けとけ
0990デフォルトの名無しさん
2007/10/05(金) 07:54:310991デフォルトの名無しさん
2007/10/05(金) 09:10:31# 普通はシンボライズされるけどね。
0992デフォルトの名無しさん
2007/10/05(金) 13:40:57globalシンボルにならないからリンクリストに出ない。
0993デフォルトの名無しさん
2007/10/05(金) 14:00:390994デフォルトの名無しさん
2007/10/05(金) 14:20:54その時にstaticで定義してたりすると、チョット面倒だと思ったりするよね。
0995デフォルトの名無しさん
2007/10/05(金) 14:36:580996デフォルトの名無しさん
2007/10/05(金) 15:45:380997デフォルトの名無しさん
2007/10/05(金) 21:55:000998デフォルトの名無しさん
2007/10/05(金) 21:55:330999デフォルトの名無しさん
2007/10/05(金) 21:56:051000小倉優子 ◆en0rG2J.f6
2007/10/05(金) 21:56:3610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。