1 名前:1 [04/03/12 23:42] 俺は俺であり、それはお前の事だ。 ハード寄りの話も大歓迎だ。 道具話も楽しくやれるならやってくれ。 過去ログ 制御系なら、俺に聞け! pc3.2ch.net/tech/kako/1002/10021/1002176627.html 制御系なら俺に聞いてもいいぞ(2) pc2.2ch.net/tech/kako/1038/10380/1038094914.html 制御系なら俺に聞いてもいいぞ(3) pc2.2ch.net/tech/kako/1059/10594/1059488975.html 制御系なら俺に聞いてもいいぞ(4) pc2.2ch.net/test/read.cgi/tech/1068869894/ 関連過去ログ ●●●くみこの組み込み相談室●●● pc3.2ch.net/tech/kako/988/988084737.html
2 名前:デフォルトの名無しさん mailto:sage [04/03/12 23:43] >>1 すみません。棒がなかなか立てられないんですが。
3 名前:デフォルトの名無しさん mailto:sage [04/03/13 06:51] >>1 お疲れ様。
4 名前:デフォルトの名無しさん mailto:sage [04/03/13 08:05] >>2 倒立振子? 楽しそうだよね。
5 名前:制御シミュレーションしたい [04/03/13 09:19] PC+I/Oカードから、アナログ入力して、動的に動く、制御シミュレーションを簡単にやりたいのです。 言語はVBで組みたいのですが、何を参考にすればよいでしょうか?
6 名前:デフォルトの名無しさん mailto:sage [04/03/13 09:21] >>5 ? 機械の代わりにプログラムの機械モデルを動かすって事ですか? 取りあえず回路の電気特性とか入力に対する道徳性とか?
7 名前:デフォルトの名無しさん mailto:sage [04/03/13 10:34] 電気・電子板 science2.2ch.net/denki/
8 名前:制御シミュレーションしたい [04/03/14 17:30] >>6 機械の代わりにプログラムの機械モデルを動かしたいのですが、、、
9 名前:デフォルトの名無しさん mailto:sage [04/03/14 18:49] >>8 そうか、そういう事ならちょっとこのスレには合わないかな。 閑古鳥が鳴きまくってる上に厨な板で処で悪いのだが、 science2.2ch.net/sim/ こっちにスレたてなさい。 タイトルは 「初心者がVBで作る機械のシミュレータ」 中身は>>5 +>>8 ね。 スレたてたら、リンクをこっちに貼れば、タマに覗いてあげるよ。
10 名前:デフォルトの名無しさん mailto:sage [04/03/14 21:01] >>4 先輩が棒をぐるぐる振り回して遊んでただんだけど。あれってホントは何するもの?
11 名前:デフォルトの名無しさん mailto:sage [04/03/14 21:04] >>10 宝探しとか地中に埋まってる水道管を探り当てたりとか。
12 名前:デフォルトの名無しさん mailto:sage [04/03/16 00:59] >>10 倒立振り子 >>11 井戸掘るときに実際見たよ、グルグルはまわさんかった
13 名前:デフォルトの名無しさん mailto:sage [04/03/16 00:59] 今まで業務系の仕事をやっていたのですが、いきなり制御系にいけといわれ テストが渡されました。何をみてもいいと言われてるんですが、もう時間が ないです・・ 板違いとは思いますが誰か助けてください・・・ 多分簡単な問題だとは思うのですが、さっぱり分かりません。 問題 V0は何[V]ですか? 5[V] -○- l > > 4.7kΩ > l______○ l ↑ > l > l ←V0 > 3.3kΩ l l l l l l l l ↓ --- ///
14 名前:デフォルトの名無しさん mailto:sage [04/03/16 01:04] テンプスタッフへ電話しな
15 名前:デフォルトの名無しさん mailto:sage [04/03/16 01:11] >>13 V0=5÷(4.7+3.3)*3.3
16 名前:13 mailto:sage [04/03/16 01:19] <<15 ありがとうございます!
17 名前:デフォルトの名無しさん mailto:sage [04/03/16 01:23] 回路電流 I=E/R=5/(4700+3300)=0.000625 V0電圧 E=IR=0.000625*3300=2.0625
18 名前:デフォルトの名無しさん mailto:sage [04/03/16 01:27] >>13 教科書のオームの法則のページを見れ。 それでわからないならまじであきらめろ。
19 名前:デフォルトの名無しさん mailto:sage [04/03/16 01:46] >>13 ネタだろ? 厨房の理科レベルだぞ
20 名前:デフォルトの名無しさん mailto:sage [04/03/16 23:05] >>19 あほか、アースなんぞ出てこん。
21 名前:デフォルトの名無しさん [04/03/16 23:27] カーボンで5/(黄紫赤+橙橙赤)*橙橙赤 チップで5/(472+332)*332 最近のチップは小さすぎて見ずらくなった。
22 名前:デフォルトの名無しさん mailto:sage [04/03/16 23:53] グランド
23 名前:デフォルトの名無しさん mailto:sage [04/03/17 01:05] >13へのテストは数値の答えよりも問題を解くために とった手段を問われていたのではと妄想 ”2chで聞く”は何点と採点されるのかね
24 名前:デフォルトの名無しさん [04/03/18 12:37] >>23 鋭いなー。 漏れも業務系から制御系に一人で放り込まれたが、どうにかなってる。 やってる事のレベルが低いだけかも知れんが。
25 名前:デフォルトの名無しさん [04/03/20 07:27] >>5 コンテックのアナログ入力ボードを使えば小学生でも制御系はマスターできます。 VB用DLLも付属しているので、簡単にPG可能です。 VBのタイマーは精度が悪いので、高精度タイマーは別途作る必要があります。
26 名前:デフォルトの名無しさん [04/03/24 09:39] 普通にプログラム(C、JAVA)やるよか こういった制御系のほうがイイメリットとかありますか。
27 名前:デフォルトの名無しさん mailto:sage [04/03/24 09:52] >>26 どういう立場の人の話を聞きたい?
28 名前:デフォルトの名無しさん mailto:sage [04/03/24 10:20] どういう立場があるのでしょうか?
29 名前:デフォルトの名無しさん mailto:sage [04/03/24 10:22] 過去ログ2より 3 名前:1 投稿日:02/11/24 09:02 就職相談の話題が循環するから先に答えておく。 好きならやれ。 他に選択肢があるならそっちをえらべ。 自分が選んだ、なりたい自分になれ。 以上。
30 名前:デフォルトの名無しさん [04/03/24 10:55] パラレルポートにCでアクセスする方法を教えて下さい。 ちなみにOSはXPでつ。
31 名前:デフォルトの名無しさん mailto:sage [04/03/24 11:31] >>30 ttp://www.toyoshima-house.net/win32/parport_ja.html
32 名前:デフォルトの名無しさん mailto:sage [04/03/24 22:28] >>26 イイメリット>ワルイメリット>イイデメリット>ワルイデメリット こんな感じでいいのか?
33 名前:デフォルトの名無しさん mailto:sage [04/03/25 07:42] 制御系なんてメリットがあるからやるんじゃなくて、 やるしかなかったり、やる事が決まってる人がやるもんなんだよ。
34 名前:デフォルトの名無しさん mailto:sage [04/03/29 22:29] つーか、俺なんかCPU廻り設計してたH/W屋あがりだからねぇ H/W設計しろといわれた方がなんぼかマシ
35 名前:デフォルトの名無しさん [04/03/29 22:53] >>30 giveio.sysっていうやつを使うと、Win9xと同様に inp(),outp()命令で直接アクセスできるようになるよ。
36 名前:デフォルトの名無しさん mailto:sage [04/03/31 22:28] Jiniに勝利したUPnPの次の一手は 2002/11/12 Windowsのプラグ&プレイをネットワーク機器や家電に拡張したUPnP(Universal Plug and Play)についてのデベロッパ向けイベント 「Universal Plug and Play Forum Asia Summit in Tokyo」が始まった。UPnPの標準化団体「UPnPフォーラム」には、 ハードベンダを中心に現在、524団体が参加しているが、UPnPはもともとマイクロソフトが提案した規格だけに、Windows関連の話題が多かった。 マイクロソフトのConnected Home Technical Evangelist スコット・マンチェスター氏。UPnPをサポートするルータを掲げて対応デバイスの多さをアピール 11月11日に講演した米マイクロソフトのConnected Home Technical Evangelist スコット・マンチェスター(Scot Manchester)氏は、 UPnPについてのこれまでのフォーラムの取り組みを振り返り、「仕様は充実し、認証済みデバイスの配備も開始された」と評価。 「Windows Me、XP、CE.NETでサポートされているが、次のWindowsでもサポートする」と明らかにした。 現在UPnPフォーラムが標準化に力を入れているのが、UPnPのバージョン2。バージョン2ではWebサービスとの連携を強化させる。 スコット氏によると、フォーラムはバージョン2にWebサービスの記述言語であるWSDL(Web Services Description Language)を採用。 現在、バージョン2のアーキテクチャ定義のための委員会を設置して討議を続けているという。 UPnPデバイスとWebサービスが交信できるようプロトコルや開発ツールの統一を図る。 マイクロソフトが主に主導するUPnPに対して、サン・マイクロシステムズは同様のコンセプトの技術「Jini」を推し進めていた。しかし、 最近ではJiniの話題を聞くことも少なくなってしまい、普及も進んでいない。JiniはJavaを基に開発され、プラットフォームを問わずに広く稼働することが特徴だったが、 利用できるデバイスの数などから言えば、マイクロソフトがサンとの規格争いに勝利したといえるだろう。 まあJava厨は知っている単語を並べているだけで、その技術の意味すら理解できないようだ。
37 名前:デフォルトの名無しさん mailto:sage [04/04/02 05:10] >H/W設計しろといわれた方がなんぼかマシ 禿堂
38 名前:デフォルトの名無しさん mailto:sage [04/04/02 09:24] 34 □ デフォルトの名無しさん □ sage □ 04/03/26(金) 01:50 □ 仕事が選べる>26に惚れますた
39 名前:デフォルトの名無しさん mailto:sage [04/04/05 04:24] また新しい石: 客に言われたよ 1. 自作評価基板の不具合 ---> クリア 2. C コンパイラの不具合 3. CPU コアの不具合 4. CPU 内臓周辺回路の不具合 5. プログラムの不具合 どこに問題があるとしても、プログラムで回避するしかありません。 もう、出るわ出るわ(^o^)・・・ 客がまた言うの。「枯れた物使ってると商売にならないの」 まあ、ここのメーカーがわりとまともで、しらを切ったりせずにバグはバグとして公表して くれるからよかったけどね。
40 名前:デフォルトの名無しさん mailto:sage [04/04/05 07:55] >4. CPU 内臓周辺回路の不具合 生体CPUなのかな?
41 名前:39 mailto:sage [04/04/05 20:06] 変換ミスですがな。5.はこれから山ほど出すのですが、 2と4を踏んづけてしまったよ。 さすがに3はなかなか出会えません。
42 名前:39 mailto:sage [04/04/07 20:13] WDT割り込みが実機だとうまく動いてくれない。これはまだ未解明。
43 名前:デフォルトの名無しさん mailto:sage [04/04/08 08:11] ああ、あるよね。使える筈といわれたアドレッシングモードが特定の命令だけで使えなかったり 今回は偶数アドレスでも大丈夫ですよと言われたのにやっぱりダメだったり
44 名前:デフォルトの名無しさん [04/04/09 17:17] 2Mbpsで同期シリアル通信を行うターゲットボードがあります。 H8/300Hなどを使うと、2Mbpsの同期シリアル通信が可能だということがわかった のですが、このターゲットボードが、3bitとか15bitといった、8bit単位ではな いシリアル通信を要求しています。 H8/300Hの同期シリアルは8bit単位での通信になるので、実現は不可能だと思い ます。GPIOだと2Mbpsは速度的に難しいでしょうか。 なにか良い方法(1bit単位で同期シリアル通信ができるボード等)は無いでしょ うか。
45 名前:デフォルトの名無しさん mailto:sage [04/04/09 23:49] >>44 オーバーランした際の仕様を調べろ 受ける方はどうにでもなるだろ
46 名前:デフォルトの名無しさん [04/04/10 00:26] >>45 オーバーランしてはダメな仕様です。
47 名前:デフォルトの名無しさん mailto:sage [04/04/10 16:26] >>44 クロックいくつで動かすのかわからんが、GPIOでは無理だろう。 まずボード作った奴にどういうデバイスで制御されるのを想定したか相談しろ。
48 名前:デフォルトの名無しさん mailto:sage [04/04/10 18:52] >>44 同期クロックはどっちが供給するの? もしこちらから供給するのなら、正確に2Mbps供給する必要はないんじゃない? 間延びが許されるのなら、GPIOでパタパタやっても大丈夫なのでは?
49 名前:44 [04/04/10 22:04] >>47 当初の構想では、秋月のH8マイコンボードを使うつもりだったので、 CPUクロックは16 or 18MHzです。 >>48 クロックは、今から作るボード・プログラム側が供給します。(マスタ) ターゲットボードがスレーブになります。 そのターゲットボードが2Mbpsで動くかどうかを評価するプログラムを 作るのが目的なので、2Mbps供給が必要です。 GPIOでやったら2Mbpsでるかどうかもわかりませんが、出たとしても、 デューティー比もメチャクチャになりそうですよね。 3GHzのPCにPCIのデジタル入出力ボードを接続してパタパタって いうのはどうでしょうか。
50 名前:48 mailto:sage [04/04/10 22:48] >>49 一般論だけど、 この手のシリアル通信って、個々の要素は3ビットとか半端なビット数でも まとめると8ビットの倍数とかになるようになってるはずなんだけど、 そうじゃないのかな? かなりローカルな仕様?
51 名前:デフォルトの名無しさん mailto:sage [04/04/10 23:02] >>49 それってプログラム要るのか? ちょっとしたPLDでちょこちょこシリパラの変換する回路組んだ方が 遥かに速い気がするのは気のせいか?
52 名前:デフォルトの名無しさん [04/04/10 23:19] >>49 このテーマには初めての書き込みですが、H8のGPIOは見込みなしですね。パソコンも CPUの速度よりは、PCIバスが心配ですね。I/Oリードに、オーバーヘッドなしでも 6クロック必要のようですから、読むだけとしても、バスクロック66Mでも2Mビットだと 1ビットの間に5回しか読めないですね。実際はもっとずーっと遅いでしょうから、余裕が はたしてあるかどうか。 (66M / 6 / 2M = 5.2) ソフトだけで制御するのは、難しいのではないかな。I/F回路を作らないと無理な気がしますね。 >>51 同期通信だと多分プロトコルがあるでしょうから、単純なシリパラ変換だけでは だめかもしれませんね。非同期とちがって、スタートビットの認識は必要でしょうし、 いずれにせよ転送データの正当性の検証は必要でしょう。
53 名前:デフォルトの名無しさん mailto:sage [04/04/10 23:28] >>52 石の仕様と話みた限りじゃ単純なSPIのような気がするんだが?
54 名前:デフォルトの名無しさん [04/04/10 23:49] >>53 52: 石の仕様は、書いてないと思うのですが、どの発言でしょう? 今までの話だけで、仕様を特定できますか?
55 名前:デフォルトの名無しさん mailto:sage [04/04/11 00:54] >>54 44 名前:デフォルトの名無しさん 投稿日:04/04/09 17:17 2Mbpsで同期シリアル通信を行うターゲットボードがあります。 H8/300Hなどを使うと、2Mbpsの同期シリアル通信が可能だということがわかった コイツのマニュアル見て同期シリアルと言いそうな内蔵インタフェースを見た。 コレで出来ると思ったんなら、単純なCLK+DATA+FPのSPIだろ? ヘッダやらなにやらがつくような高級なプロトコルじゃない
56 名前:デフォルトの名無しさん mailto:sage [04/04/11 01:03] >>54 補足 どうも情報が足らないので断定は出来んが、予想が正しければ 検証用のHMと組んだインタフェース回路の制御用IにCPU使うのもいいと思う ちょっとしたCLI組み込んでやれば使い勝手は回路だけで組むより 相当良くなるし。 その辺は「どんな評価がしたいのか」によって取捨するところ。 単純にそのボードが2Mbpsで通信出来るか見たいだけなら回路組むだけでもいいかも 3bitやら15bitなら受信データはLEDとSW並べたって大したことにはならない。
57 名前:デフォルトの名無しさん mailto:sage [04/04/11 10:41] H8って品種によっては遅延時間を設定出来るストローブを出せたと思う。 こいつをクロックにしてしまえば、いいと思うけどね。
58 名前:44 [04/04/12 10:55] >>52 >>53 通信方法としてはSPIです。CS/CLOCK/DATA IN/DATA OUTです。 SPIで転送サイズを1bit単位で指定できる何か(CPU?)は無いでしょうか。 >>48 データシートに、3bitのコマンドを送ったらCSをOFFにし...という感じで8bitの 倍数にはならないようです。
59 名前:デフォルトの名無しさん [04/04/13 00:14] >>58 52:私見だけど、転送サイズを変更できるような機能を持ったCPUはないんじゃないかな。 機能確認ということであれば、同期シリアルなんだからクロッックを落としてソフトで確認して それでOKなら伝送系の問題だから、 >>56 のような簡単な確認での確認でもOKでしょう。 相手側に細工ができないのならだめだけど。 どっかで割り切らないと手間とお金がかかる 案件のような気がするな。
60 名前:48 mailto:sage [04/04/13 02:11] >>58 俺も、>>59 と同じで、そういうCPUはないと思うな。 転送パターンが決め打ちでいいなら、AVRやSHなんかのRISCマイコンで クロック数を計算して2MBPS正確に出すって事ができなくもないね。 12MHzのAVRなら1命令1クロックだからなんとかできるんじゃない? あと、使ったことないけど「データジェネレータ」ってのがあるらしいね。 ttp://jp.home.agilent.com/cgi-bin/bvpubjp/agilent/Product/cp_Product.jsp?NAV_ID=-11448.0.00&LANGUAGE_CODE=jpn&COUNTRY_CODE=JP ちょっと大げさな気もするけど、レンタルできるかもね。
61 名前:デフォルトの名無しさん [04/04/13 06:18] >>60 52: AVRのことは知らないけど、RISCに限らず高速のマイコンは、Cacheやパイプラインを使っている場合が多い。 クロック数を計算してというテクニックは、使えない場合が多いから、そういう発想は浮かばなかったな。 1命令1クロックということは、命令の読み出しを考えると最低限パイプラインくらいは使っているんじゃないのかな? クロック数で正確に計算してってことができるんでしょうか? それに、DATA INがあるってことは受信もあるんじゃないのかな、受信のときに、クロック数だけで、 同期クロックをチェックしないでデータをリードするのは荒技の気がするけどな。 データジェネレータも送信だけでしょうから、受信なしでOKかどうかでしょうね。
62 名前:デフォルトの名無しさん mailto:sage [04/04/13 07:25] AVRやPICや4ビット8ビットマイコンの殆どが命令数を数えるテクニックが使えます。 6502系のようにパイプラインを使っていても命令数は普通に数える事が出来ますよ。 それからデータの受信送信と、クロックのマスタースレーブは別問題でしょ
63 名前:sage [04/04/14 15:06] >>58 別にペリフェラル使わなくても自分でポートパタパタさせて 送受信すればいいんじゃないの? 自分で2MHzのCLOCKをパタパタさせながらDATAOUT/INすれば。 こんな感じじゃだめ? void SerialInOut(unsigned char bit) { unsigned char i; /* 通信前の処理 */ CS = HIGH; CLOCK = HIGH; DATAOUT = HIGH; /* 通信処理 */ CS = LOW; for (i = 0; i < bit; i++){ CLOCK = LOW; DATAOUT = outBuff[i]; /* 時間調整 */ CLOCK = HIGH; inpBuff[i] = DATAIN; /* 時間調整 */ } CS = HIGH; }
64 名前:デフォルトの名無しさん mailto:sage [04/04/14 15:41] >>63 割り込みとか考えなくてもいいなら、それもアリかもなー 結局他の処理もさせることを考えると、前にも誰かが言ってたように PLDかPIC辺りをフロントエンドにしないと、後で泣きを見るだろうな
65 名前:デフォルトの名無しさん [04/04/14 20:48] >>63 例えば60の発言の例であげてある 12MHzのAVRを使ったとしても、1ビット出力するまでの間に実行可能な 命令は5,6命令程度。とても、63のプログラムは書けない。ソフトじゃ無理だと思うんだけどな。 62の発言のソフトディレイの使えるようなCPUは、基本的には遅いCPUといっていいでしょう。 63のプログラムが実行可能なほど高速だとCacheくらいは必須だろうから、ソフトディレイは だめだと思うんだけどな。
66 名前:デフォルトの名無しさん mailto:sage [04/04/14 21:23] 単に信号出すだけなら out命令を並べるだけだから 4MIPS あればいい マスターで受信するなら out in out で時間を合わせる為に8MIPS必要 PICだと 8*4=32Mで動かさないといけなくなるな。 H8だと ストローブをクロック代わりにするようなアイデアが必要になるだろう
67 名前:デフォルトの名無しさん [04/04/14 21:46] >>66 4MIPSだとループもできませんね。その程度のことでまにあうのなら、そもそもCPUを使う必要がないですね。 通信の確認作業で、信号出すだけでOKというのは、まずありませんからね。プロの仕事の場合は。 受信というのは、どういうことを言っているのか分からないのですが、データとして受け取れてこそ 受信じゃないでしょうか。 信号のつじつま合わせだけで動作確認終了とは、いかないんじゃないでしょうか。
68 名前:60 mailto:sage [04/04/14 23:39] SPIを発案したMotorolaのCPUなんかは3〜16ビットの 半端なシリアルデータを送受信できるようだね。(DragonBallとか) もっとも、実験用に簡単に入手・使用できるようなCPUじゃないけど。
69 名前:デフォルトの名無しさん mailto:sage [04/04/15 01:22] >>68 そういや、昔860使った時出来たような気もするな。 でも何したいのか未だに良く分からんがQUICCじゃ大げさ過ぎないか? SPIだったらオーバランが駄目というより 読み出し:CS立下りから有効Bit数のみ保証 書き込み:CS立ち上がり直前から有効Bit数分前の入力までが有効 ってな感じになってるんじゃないの? これなら適切に処理してやれば8bit単位で伝送したって問題は無いだろ
70 名前:デフォルトの名無しさん mailto:sage [04/04/15 07:32] >>67 データを受け取れてこその受信だが受信ポートをLSBかMSBにしておいて 回転命令2つををout命令に挟めばいい。 幸いPICとかはRAM上の回転も1サイクルだ。 そもそも、”ターゲットボードが2Mbpsで動くかどうかを評価するプログラム” なんだから、信号のつじつま合わせのON/OFFでも信号さえ出せばOKだろう。 そうじゃないなら、どういう仕様か書けば必要な能力を見積もってあげるよ。
71 名前:デフォルトの名無しさん mailto:sage [04/05/14 18:33] CPUのバグらしい現象を追跡するのにハード屋さんにつきあって、あっちこっちにプローブ用の 信号を「この位の幅のパルス出してね」ってのを一日中やった。どうやら証拠っぽい波形を得る までにこっちはへとへと。あれでめげないハード屋さんって尊敬しちゃう。 この後この現象を 「英語で」メーカーへ文句たれるんだから、ますます尊敬しちゃう。
72 名前:デフォルトの名無しさん mailto:sage [04/05/18 22:49] ハード屋は、ハードをソフトに置き換えるのがどれだけ大変か分かってない。
73 名前:デフォルトの名無しさん mailto:sage [04/05/18 23:50] ソフト屋は、ソフトをハードに置き換えるのがどれだけ大変か分かってない。
74 名前:デフォルトの名無しさん mailto:sage [04/05/19 08:06] >>72 禿同 >>73 んなこたーない
75 名前:デフォルトの名無しさん mailto:sage [04/05/20 23:22] ソフト・ハード両方やっている者から言わせてもらうと、ソフト屋は甘いと思う。
76 名前:デフォルトの名無しさん mailto:sage [04/05/20 23:45] 近頃のハード屋は『ハードだけ』では通用しないしね
77 名前:デフォルトの名無しさん mailto:sage [04/05/21 02:02] 確かに、ソフトしか知らない奴は甘いね。
78 名前:デフォルトの名無しさん mailto:sage [04/05/21 03:48] 不具合発生 ハード屋はソフトで対処できるならハードの対処はしない ソフト屋はハードで対処できることを知らされずソフトで対処する
79 名前:デフォルトの名無しさん mailto:sage [04/05/21 21:27] 不具合発生 ASICや基板はもちろん変更しない ソフト屋は前回の流用だから変更したくないと言って変更しない FPGAを変更する
80 名前:デフォルトの名無しさん mailto:sage [04/05/21 21:55] 不具合の対処なんてハードでやろうとソフトでやろうと原因はどうあれ 問題なく、より低コストで、ユーザにも納得させられるようできれば どっちでも良いんとちゃうん?
81 名前:デフォルトの名無しさん mailto:sage [04/05/21 23:07] コストの差が明らかでない場合も多いからな。 あと、高コストなものを作っている人間が常に楽をすることになるから、 愚痴のひとつも言いたくなるだろ。
82 名前:デフォルトの名無しさん mailto:sage [04/05/21 23:49] でも、黙々とハード回路にパッチ当ててる姿とか見ると ソフト屋でよかったってしみじみ思うよ
83 名前:デフォルトの名無しさん mailto:sage [04/05/22 00:10] 部品変更や改造って、購買からサービスまでの全部署全工程に影響出るしなぁ。 「ソフトで対処できるものはソフトで」ってのは、ハード屋だけの思惑ではないし。
84 名前:デフォルトの名無しさん mailto:sage [04/05/22 00:30] >>83 禿胴
85 名前:デフォルトの名無しさん mailto:sage [04/05/22 01:04] 今時入手できないようなOpAmpでも交換しなくてはならなくなるからなぁ。
86 名前:デフォルトの名無しさん mailto:sage [04/05/22 01:12] >>85 んだなぁ。 理想は、本生産開始までにハードバグ、ソフトバグが全て取れりゃいいんだけど なぁ。 とは言っても、ハードもソフトも完璧でも、本生産開始から大分経ってから、例え ば部品がディスコンになったりで、ハードやソフトを弄らなきゃならない事態に陥 るってのは有りがちだからなぁ… はぁ…
87 名前:デフォルトの名無しさん mailto:sage [04/05/22 11:46] >>82 0.5mm間隔のピンに半田付けしてジャンパー配線してる姿はまさに神業 ハード屋さんは電子機器界の外科医のようです
88 名前:デフォルトの名無しさん mailto:sage [04/05/23 03:38] 量産しない一品物はソフト修正よりハード修正の方が低コストなんだよな
89 名前:デフォルトの名無しさん [04/05/24 00:46] >>87 QFPを手半田する人もすごいね。
90 名前:デフォルトの名無しさん mailto:sage [04/05/25 00:40] 0.5mmピッチまでなら手付けできる ピン上げてジャンパー飛ばせネーけど
91 名前:デフォルトの名無しさん [04/05/25 00:52] windowsでRS232Cを用いてデバイスを制御し、データの送受信を行いたいのですが、 初心者なのでよく分かりません・・・。分かりやすく説明してるサイトってないですか? VC6.0++でやろうと思っているんですが。
92 名前:デフォルトの名無しさん mailto:sage [04/05/25 01:39] そのデバイスとやらは何者だ?
93 名前:デフォルトの名無しさん mailto:sage [04/05/25 05:54] >>91 シリアルは CreateFile で "COMx"を開いて ReadFile WriteFileで読み書きして BuildCommDCB BuildCommDCBAndTimeouts GetCommXXXX SetCommXXXX とかで制御すればいいから簡単は簡単 VBやDelphiを使う方が簡単だと思うよ。
94 名前:デフォルトの名無しさん mailto:sage [04/05/25 22:00] >>92 レーザー距離計です。 >>93 ありがとうございます。COMポートを複数開けるのも容易に出来るんですか? 初心者なもので・・・すいません。 自分はC以外やったことがないのでCでやろうかなと思っています。
95 名前:デフォルトの名無しさん mailto:sage [04/05/27 00:41] 昨日愕然としたこと。 ハード屋先輩「この石のXXとYYのピン、オープンなのに入力になっとるぞ」 ハード屋後輩「え、オープンのピンって入力にしておくのが普通じゃないのですか?」 (;´Д`) この後輩、もう3年目ぐらいなんだけどなー。折れはソフト屋だけど CMOSの入出力ピンをプルアップ/ダウンなしで入力にしちゃいけない ことぐらい知ってるんだが・・・(キホンだよねぇ・・・ なんかたまに小難しいことをいう割にこんなことも知らないというのは ちとなぁ。さすがに呆れた。新人ならともかく、いままで何をしてきたんだろうと。 まぁ、任されていたハードのデバッグがつまると、なぜか病気になって休んだり と(w 問題行動が多かったけど、妙に腰を低く振る舞うから救われているだけ なんだよな。休んだときは先輩が仕方なく尻ぬぐいしてたけど、不憫でならない わ。休み明けに後輩が出てきて謝って、先輩はキニスンナとかそいつに言ってた けど、影では先輩は上司に別の香具師に変えてくれと懇願してるよ(w
96 名前:デフォルトの名無しさん mailto:sage [04/05/27 19:58] >>94 CでのWindowsプログラミングの経験次第かなぁ。 全く無いってのであれば、結局VBやDelphiで書いた方が早いって事も有り得る。 あとはまぁ納期次第かと思ったり。
97 名前:デフォルトの名無しさん [04/05/28 01:18] PCと自作組込機器とをシリアルで結ぼうと思ったんだけど、 PC側は将来的には、VBか何かで作るとして、 とりあえずはフリーウェアのシリアル通信ソフトでお茶を濁そうと考えてたんだけど、 バイナリファイルを扱えるシリアル通信ソフトって意外とないものなのね みんな、ターミナルソフトばっかり
98 名前:デフォルトの名無しさん mailto:sage [04/05/28 02:19] 自作基板なら好き勝手組めるんだからFTDIとか使ってみるのは? PC側USBになって転送速度も上がるだろうし、ハッタリ効くし(w FTDIのページにドライバー有るし、C、VB、Delphiのサンプルソースもある 機器側もシリアルかFIFOかチップで選べる 通販価格840円、難点はQFPなんで手配線だとピッチ変換基板が要る
99 名前:デフォルトの名無しさん mailto:sage [04/05/28 06:00] >>97 自作機器ならテキストで扱えるようにしといたら? 何かと端末ソフトがそのまま使えるから何かと便利よ。 さもなきゃXMODEM辺りをサポートするかねぇ。
100 名前:デフォルトの名無しさん mailto:sage [04/05/28 07:29] >97 >バイナリファイルを扱えるシリアル通信ソフト フリーでSerial Command Exploreがあるよ(Winなら) ttp://www.namakoworld.com/lowtech/index.htm 装置のデバッグには結構便利 通信速度とデータ量の関係でバイナリで送らざるを得ないときもあるから UDP版もあるし、あとはTCP版があれば良いんだけど
101 名前:デフォルトの名無しさん mailto:sage [04/05/28 07:50] >>100 97じゃないけどイタダキ アリガトン
102 名前:デフォルトの名無しさん mailto:sage [04/05/28 14:55] >>95 「オープンなのに入力」ってのがよく判らない… オープンドレインってこと?
103 名前:デフォルトの名無しさん mailto:sage [04/05/28 15:07] >>102 オープン=未接続 CMOSデバイスの入力ピンを開放すると色々な問題があったはず…。
104 名前:デフォルトの名無しさん mailto:sage [04/05/28 15:27] >>102 マイコンのI/Oが未接続なのに入力になっとる、って事だろうな。 こんなん見つけた。 ttp://www.h3.dion.ne.jp/~shimitti/picmicon/micon2.htm
105 名前:デフォルトの名無しさん mailto:age [04/05/28 23:50] 「組込み開発者におくるMISRA-C―組込みプログラミングの高信頼化ガイド」 が出ました。 www.amazon.co.jp/exec/obidos/ASIN/4542503348/qid%3D1085755357/250-4090891-8703413 みなさんよろぴく。
106 名前:デフォルトの名無しさん mailto:sage [04/05/29 00:02] >105 ワカタヨ(アソシエイトのリファ抜き↓) www.amazon.co.jp/exec/obidos/ASIN/4542503348/
107 名前:デフォルトの名無しさん [04/05/30 00:24] >>100 おっ、なかなか便利そうなフリーウェア というわけでDLしたよ 理想は受信データをログ保存できて、送信もバイナリファイルを送信できるものなんだけど
108 名前:デフォルトの名無しさん [04/06/12 14:13] 部品の買い方・そろえ方。 ここさえなんとかなれば…
109 名前:デフォルトの名無しさん [04/06/25 03:16] 今Windowsで、BIOSのI/Oからデータを取得しようとしているのですが BIOSのI/Oポートの一覧を調べるにはどうしたらいいのでしょうか? またそういうのが見れる所がありますか?
110 名前:デフォルトの名無しさん mailto:sage [04/06/26 10:32] Windowsだけでは判らんのよ。 NT系列なのか9x系列なのか。 それからBIOSのI/Oポートという書き方も良く判らん。 具体的にWindows2000ならデバイスマネージャ -> 表示->リソース(種類別) で、アドレス一覧が表示出来る。 ただし、Windows2000なら、I/Oを直接読み書きするには誰かにサービスしてもらわないといけない。 GWIOPM GIVEIOなどが有名所だ。
111 名前:109 [04/06/27 00:34] >>110 どうもレスありがとうございます。 >Windowsだけでは判らんのよ。 NT系列なのか9x系列なのか。 >それからBIOSのI/Oポートという書き方も良く判らん。 すみません、説明不足でしたね・・ 一応、NT系OSでI/Oアクセス出来る様に「giveio.sys」を導入して I/Oアクセス可能にする所までは出来てます。 具体的に何がしたいかと言いますと、CPU温度とかファン回転数みたいな、BIOS上で参照出来る情報が取得したいんです。 自分で色々調べた結果、BIOSのI/Oにアクセスして情報を取得出来るという所までは分かったのですが 具体的に、どのI/Oポートアドレス?からデータを引き出せばよいか分からないんです・・ この辺は、モニタリングチップや、マザーボードの種類によって色々変わってくるみたいですので その辺の事が、ハードの種類別に知りたいのですが、そういう事を調べるにはどうしたらよいでしょうか? あまり、ハードウェア関係の知識がありませんので 言っている事が分かりづらいかもしれませんが・・
112 名前:デフォルトの名無しさん mailto:sage [04/06/27 00:43] >>111 Linuxのならソースあるんじゃない?
113 名前:デフォルトの名無しさん [04/06/27 00:54] >112 ナイスぼけ
114 名前:デフォルトの名無しさん mailto:sage [04/06/27 00:59] たしかに舌足らずだったな。 ttp://www.itmedia.co.jp/help/tips/linux/l0393.html のあたりのソースを参考に、ってことだ
115 名前:109 mailto:sage [04/06/27 01:29] >>114 情報をどうも。 とりあえず、ソースがあるのなら「Lm_sensor」でも落してみます。 また良い情報がありましたら、宜しくお願いします。
116 名前:デフォルトの名無しさん [04/06/30 09:43] PowerPartsとGENWARE2の評価教えて下さいでつ。
117 名前:デフォルトの名無しさん [04/06/30 17:50] T-Engineで開発費抑えれるかと思いきや、 開発環境やライセンスが異常に高価でない? こんなんじゃ、Win系に制覇されちゃうかも。 WinCE/T-Kernelなんてデモしたにもかかわらず、 WinCE 5.0のアナウンスにも入ってないし。
118 名前:デフォルトの名無しさん mailto:sage [04/06/30 18:05] >>117 どの開発環境と、どのような事で比べましたか?
119 名前:デフォルトの名無しさん mailto:sage [04/06/30 19:02] >>118 iTRONにGUIライブラリとフォントを足すのと、 WinCEのライセンス価格を調べました。 WinCEはMSECで動作せず、 バージョンアップ販売停止がはやいので、 組み込みに不向きなのは知ってますが。
120 名前:デフォルトの名無しさん mailto:sage [04/07/01 18:33] >>117 !? 開発環境はLinuxかCygwinだからタダじゃなくて? まあ周辺のライブラリは必要になるが。
121 名前:120 mailto:sage [04/07/01 18:33] 失礼 >>119 読んでなかった・・
122 名前:デフォルトの名無しさん mailto:sage [04/07/01 18:34] gcc使えば無料 ライブラリは自作したりフリーの使えば無料
123 名前:デフォルトの名無しさん mailto:sage [04/07/02 00:22] >>119 QNXにしとけ
124 名前:デフォルトの名無しさん [04/07/02 08:49] 詳しく教えて。>>123 QNXって、まさか100マイクロセカンドで動作出来たりしないよね? 出来たらITRON並みのUNIXだね。
125 名前:デフォルトの名無しさん mailto:sage [04/07/04 21:52] >>124 QNXはRTOSだぞ。。。。
126 名前:デフォルトの名無しさん mailto:sage [04/07/04 22:45] VxWorksマンセー
127 名前:デフォルトの名無しさん mailto:sage [04/07/05 00:17] >>126 高いよママン
128 名前:デフォルトの名無しさん [04/07/05 06:55] 割込ハンドラと割込ルーチンはどこが違うのですか? また、なぜ分ける必要があるのでしょうか?
129 名前:デフォルトの名無しさん mailto:sage [04/07/05 17:39] windowsXP,c言語でAPIを使ってCOMポートの制御やってるんですが、 受信バッファのサイズを変更するなど、 バッファに関するAPIはどのようなものがあるか教えて頂けませんか?
130 名前:デフォルトの名無しさん mailto:sage [04/07/05 23:45] >>128 言葉の違いにしか思えないけど、 その二つが具体的にどんなものなのか書いたら説明できるかも。 思いつきで想像すると、 割り込みによって起動される処理で とりあえずハードからさっさと情報をかき集めるだけの処理と 集めた情報をちょっと落ち着いてから処理する部分かな? (WindowsではDPCとかLINUXだとBHとかいうやつ) 分ける理由は、割り込み処理内では使えるAPIが限られているのと 割り込みでいつまでももたもた処理しているとみんなの迷惑だから。 >>129 COMポートでバッファといったら、 後は送信バッファとUARTのFIFOサイズ 送受信とも、バッファの残りがどのくらいになったら 通知してくれるかの設定くらいしか思い浮かばん。 実装上、どうすればいいかは、MSDNでも使ってしらべれ。
131 名前:デフォルトの名無しさん [04/07/06 00:42] >>128 割込ハンドラ・・・とにかく他の割込を禁止してでも、緊急に処理しなければならない必要最小限のプログラム 割込ルーチン・・・ハンドラで処理の終わった残りのプログラム。あとで少し余裕を持って(メインルーチンで)処理。他の割込は受付可能。 分ける理由・・・割込禁止区間を長くしたくないから。 こんなところでどう?
132 名前:デフォルトの名無しさん [04/07/06 05:20] >>131 ちょっと用語集も調べて見たけど、ハンドラのことを緊急に処理しなければならない必要最小限のプログラムと 定義したものはなかった。プログラマ結構長くやっているけど、そういう区別を自分は耳にしたことはない。 OSを使っている場合に、割り込みハンドラという言い方をしているかと自分は思っていたけど、用語集を見る限り 割り込みハンドラは、割り込み時に読み出されるプログラムコードという定義がしてあるようだ。 特に、区別されてないんではないのかな?
133 名前:デフォルトの名無しさん mailto:sage [04/07/06 06:15] >>128 の言う割り込みルーチンというのは 割り込みハンドラから起動されるタスクのことを指しているのかも
134 名前:デフォルトの名無しさん mailto:sage [04/07/06 07:51] 某CPUだと、割り込みハンドラって所謂割り込みベクタに書けるような小さいロジックってイメージが… #で、通常はそこにはジャンプだけ書いておいて飛んだ先が割り込みルーチン。
135 名前:デフォルトの名無しさん mailto:sage [04/07/06 14:12] 「割り込みハンドラ」「割り込みルーチン」から 割り込み時の飛び先が1個所で、割り込み要因をチマチマと割り込みを発生させた デバイスのレジスタのビットをチェックして、それぞれのルーチンに飛ばしてる 大昔のゲーム機を思い浮かべた
136 名前:デフォルトの名無しさん [04/07/06 21:39] >>134 H8なんかそうでしょ? て言うか普通そうなんじゃないの? >>135 SHは割込ハンドラの中で割込を発生させた要因を調べなければならなかったような
137 名前:デフォルトの名無しさん mailto:sage [04/07/06 22:34] >>136 SHにかぎらずRISCプロセッサはみなそんな感じ。 RISCにかぎらずPCIだとそれしかないし、 Chain of Responsibility な割り込みハンドラになるし。
138 名前:123 mailto:sage [04/07/06 23:04] >>124 日本語である程度文書あるね www.qnx.co.jp/resource/ ホワイトペーパーよんでQNXマンセーしる。 >>126 6.0は売れないとみた。
139 名前:デフォルトの名無しさん [04/07/07 01:00] >>136 SH3から SH2までは要因ごとのべくた
140 名前:デフォルトの名無しさん mailto:sage [04/07/07 10:39] H8やSHについて解説してあるページや書籍には どんなものがあるんでしょうか? おすすめ教えてください。
141 名前:デフォルトの名無しさん mailto:sage [04/07/07 11:17] >>140 オフィシャルサイトからデータシートをダウンロードできると思いますが。
142 名前:デフォルトの名無しさん mailto:sage [04/07/07 11:35] >>140 丁寧なアプリケーションノートが置いてあるよね。
143 名前:デフォルトの名無しさん mailto:sage [04/07/07 23:05] >>140 ピンからキリまで、腐るほどある
144 名前:デフォルトの名無しさん mailto:sage [04/07/08 09:59] 今からビッグサイト逝く香具師の数→(1)
145 名前:デフォルトの名無しさん mailto:sage [04/07/08 19:30] 明日逝くょ。
146 名前:デフォルトの名無しさん mailto:sage [04/07/08 21:43] ビッグサイト、暑そうだな。
147 名前:デフォルトの名無しさん mailto:sage [04/07/08 23:02] >>144 俺も明日
148 名前:デフォルトの名無しさん mailto:sage [04/07/08 23:29] 逝ったひとは感想をplease。 イイ!!とダメダコイツラ..ってのを。
149 名前:デフォルトの名無しさん mailto:sage [04/07/09 00:32] コンパニオンのS/N比が気になる。 ってかそんなにいないか。
150 名前:デフォルトの名無しさん [04/07/09 01:52] >>140 日立時代は電話すればマニュアルを無料で送ってくれた。 ルネサスになってからは、知らない。
151 名前:デフォルトの名無しさん [04/07/09 01:54] MSのブースでVS2005のDEMO中 フリーズしてDEMO中止になった
152 名前:デフォルトの名無しさん mailto:sage [04/07/09 01:55] >>150 日立時代は、日立のサイトからマニュアルをダウンロードできたが ハードコピーマニュアルをスキャナで取り込んでPDF化したもので とても使えるものではなかった。 ルネサスになってからはまともなPDFをサイトからダウンロードできるようになった。 (あれ?その前からかな?)
153 名前:デフォルトの名無しさん mailto:sage [04/07/09 01:56] 初期の時はしらないが、SuperHのサイトのときは普通のPDFだった記憶がある
154 名前:デフォルトの名無しさん mailto:sage [04/07/09 01:58] >>153 あ、すまへん。言葉がたんなかった。 H8がそんなヘボイPDFだった。SHはマトモなPDFだった。
155 名前:デフォルトの名無しさん mailto:sage [04/07/09 09:49] 初心者が一番はじめに手を出すとしたらどのチップがよいでしょうか。 やはりmips? H8が人気なのはトラ技のせいなのかな・・
156 名前:デフォルトの名無しさん mailto:sage [04/07/09 11:34] >>152 古いマニュアルはそんなんだな。PDF化できる電子データがないんだろう。 ページ数のわりにやたらでかいので、落とすのも大変だった…
157 名前:デフォルトの名無しさん mailto:sage [04/07/09 15:34] >>155 取り敢えずCPUを触ってみたいってんであれば、Z80辺りを 触ってみては? 参考資料も多いし、CPUの基礎を勉強するには手頃なんじゃ ねぇかなぁ。今でも現役で使えるし。
158 名前:デフォルトの名無しさん mailto:sage 釣られますタ [04/07/09 15:37] >初心者が一番はじめに手を出すとしたらどの 仕事?趣味?学校? どこでどーするのかオシエレ
159 名前:155 mailto:sage [04/07/09 17:26] >>158 PC上でC言語などでのプログラミング経験があるが、組み込みの経験が ない人を対象として、コンピュータの仕組みをよく理解するために、 それほど複雑でないマイコンを使って、アセンブリ言語やC言語などで プログラミングして実際にポートの入出力などを体験しながら学習する、 といった用途です。
160 名前:デフォルトの名無しさん mailto:sage [04/07/09 18:00] >>159 秋月電子にあるようなボードでするのがラクかもね 個人的にはH8やSHやったほうがいいかなって気はするけど、 PICも捨てがたい・・・
161 名前:デフォルトの名無しさん mailto:sage [04/07/09 18:07] >>159 秋月のH8ものに一票 intは16ビットと叩き込む(w PICやAVRなのど石はまんどくさいよ
162 名前:デフォルトの名無しさん [04/07/09 18:58] RS-232CのTxDをC#から制御しようと思ってます。 目的は学習リモコン 38kHzの変調もソフト出かけるつもりです。 今、com1の設定を115200bpsにすると 1bit=8.68us 38kHzのキャリアは1/38kHzだと26.3us duty比がわからないのですが、 110か100にしてキャリアの1cycleが1bitになるようにして データを送ったのですが機器が反応しません。 どこがまずいのでしょうか?
163 名前:デフォルトの名無しさん mailto:sage [04/07/09 20:58] >>162 >どこがまずいのでしょうか? この程度の情報で答が得られると思ってる162の頭 IR-LEDはどのように発光させてるの? で、発光してる位は確認済み?
164 名前:デフォルトの名無しさん mailto:sage [04/07/09 21:17] 学習リモコンのハードも自作するのかな?
165 名前:162 [04/07/09 21:40] 情報少なくてすいません。 電流制限抵抗なしでTxD-GND間にIR-LEDつけてます。 発行してるかどうかは赤LEDに付け替えて目視確認しました。 スタンドアロンのリモコンとしてではなくPCから制御するつもりです。 //これまでにしたこと。 LIRC,WinLIRCのサイトを見てDCD受信、DTR送信なトランスミッターを作成。 winLIRCにて、外部機器が無事動作するのを確認。 つぎに上述のTxD-IR-LED送信機(っていうほどでもないですが)を作成して WinLIRCで取得した生データ(High us,low us...)を元に >>162 に至った次第です。
166 名前:163 mailto:sage [04/07/09 22:43] なるほど。そこそこはやってるのね。 >電流制限抵抗なしでTxD-GND間にIR-LEDつけてます。 大丈夫か? そんなことして。って気がしないでもないが、 WinLIRCとやらはテストの足しにはならないのでしょうか?
167 名前:162 mailto:sage [04/07/09 23:08] LEDは大丈夫なようです。(WinLIRCからだと無事動く) 念のためCRDいれときます。 WinLIRCは生データを覚えてそれをそのまま吐き出す用にできていて、 入力はDCD,RxD 出力はDTR,TxDが選べるようになっているので とりあえず丸覚えさせたデータをTxDで出してみて動作確認はしました。 やはりduty比が悪いんでしょうか?(1/3か2/3しか選べないのが…)
168 名前:デフォルトの名無しさん mailto:sage [04/07/09 23:17] >>148 ダメってわけじゃないが T-engineばっかりで嫌になった
169 名前:163 mailto:sage [04/07/10 01:14] >>167 >とりあえず丸覚えさせたデータをTxDで出してみて動作確認はしました。 ってのは、本来のリモコンの送信を学習できるのを確認したってことだよね? WinLIRCが記憶するデータの仕様が分かるなら、自作の送信機を学習させて 比べてみたらどうだろ。 キャリアのdutyは50%が良いんだろうけど、実は中心周波数が安定していれば 大丈夫な気がする。 それより、普通にTxDをキャリアとして使おうとしたらStart|Stop bitをうまく 処理しなくちゃと思うのだが、それは大丈夫なんだろか。
170 名前:163 [04/07/10 01:38] 何度もありがとうございます。 winLIRCのデータの仕様は Xμsec high , Xμsec lowの繰り返しだけで、 それをそのまま自作の送信プログラムに持ってきてます。 C#でシリアル通信をするのに、ネットで拾ってきたラッパー www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=b06e30f9-1301-4cc6-ac14-dfe325097c69 をつかって public void Write(byte[] buffer, int offset, int count) を使ってます。 シリアル通信仕様をいまいちわかってないのですが、 start,stop bit(1bitに設定)というのは1byteごとの最初と最後に1がつくってことなんでしょうか?
171 名前:デフォルトの名無しさん [04/07/10 03:14] >>159 AlteraのNiosとかどうよ? トレーニングキットで、ついでにデジタル回路の学習もできるっていうおまけつき。 あんまり情報がないからダメか?
172 名前:デフォルトの名無しさん mailto:sage [04/07/10 10:02] >>170 >シリアル通信仕様をいまいちわかってないのですが、 >start,stop bit(1bitに設定)というのは1byteごとの最初と最後に1がつくってことなんでしょうか? その通り 調歩同期やUARTで調べてみろ
173 名前:163 mailto:sage [04/07/10 11:49] >>172 さんありがとうございます。 非同期通信=調歩同期 start,stopビットありなんですね。 で、ふつうにラッパーとかが想定してる送信方法はこれと。 TxDピンの出力を直接制御するのはかなり難しそうですね… うーん… 同期送信ってあんまりメジャーじゃないみたいで。
174 名前:デフォルトの名無しさん mailto:sage [04/07/10 14:58] >>171 その通りじゃないでしょ。 startビットは0 stopビットは1 だからstopサイズが1 でデータサイズが8なら 10bit周期しか作れない。 だから 0<10101010>1 これはOKだけど、これ以外は難しいよ。 これで送信してみては? 周期がバラバラずれると、受信機には、振幅変調がかかるようになるからダメ。
175 名前:163 [04/07/10 15:21] >>174 さん ご丁寧にありがとうございます。 >> 0<10101010>1 の場合“だけ”ですよね? start/stop,1bitで周期がずれずに送信可能なのって。 Highを出力するのはこの手でいけそうですが、 Lowが続くとき、 0x00 を送信したとしても 受信する側からみたら b' 00000 00001 になっちゃうから結局リモコンとしては使えなさそうですね… PICみたいな感覚でいたのでもっとDTRにしろTxDに任意のピンをいじれるかなって 思ってたので、考えが甘かったみたいです。
176 名前:163 mailto:sage [04/07/10 15:24] PICみたいな感覚でいたのでもっとDTRにしろTxDに任意のピンをいじれるかなって ↓訂正 PICみたいな感覚でいたので、DTRにしろTxDにしろ任意のピンの状態をいじれるかなって すいません。
177 名前:デフォルトの名無しさん mailto:sage [04/07/10 17:00] >>174 アヒャ! Low/Highみてなかった >>175 正直、そういう用途でピンを弄るなら プリンタ出力でやれ
178 名前:デフォルトの名無しさん mailto:sage [04/07/10 17:15] >>175 周波数が違えば振幅変調になるから 0 0000 0000 1 でも距離を離せばいけるかもしれないよ。 他に、例えば DTRとの間で送信するようにして、TXには常時送信してるようにしてDTRでON/OFFするとか あるいは、PIC使えるなら PICにシリアル送信でコマンド送って PICで赤外送信したらどう?
179 名前:163 mailto:sage [04/07/10 17:28] みなさんお付き合い頂きありがとうございます。 >>177 さん LPTですか。 盲点でした。 LPTの扱いについてもこれを機にちょっと調べてみます。 >>178 さん 2ピン使ってANDとるのもありですね。 TxDにbyte[]送るときに、 byte[] = 0x00なら DTR = LOW それ以外で、Highにして。 早速やってみます!
180 名前:デフォルトの名無しさん mailto:sage [04/07/10 17:53] >>179 and 取るというか、単純に2電間でLEDを点けるだけだよ。 TxD-GND間にLED入れてるんでしょ? GNDの代わりにつなぎ変えるだけ。 RS232Cでは、ショートした時の電流規格があった筈で、火災が起きないような電流に制限されてたから リモコン用の赤外LEDなら壊れないとは思うけど・・・まあ抵抗入れた方がいいと思うけどね。
181 名前:デフォルトの名無しさん mailto:sage [04/07/10 17:57] |3・)・・・
182 名前:デフォルトの名無しさん mailto:sage [04/07/10 17:58] |3・)アルェーゴバクシッチャッタyo
183 名前:ホンモノの163 mailto:sage [04/07/10 20:09] しょうがねえなぁ… COMポートを速度 115200bps、データ長 7bits、ノンパリティ、ストップビット長 1bit で設定して、データとして 0x12 か 0x5B を連続して送出してみな。 TxDからきれいな38.4kHzの信号が出るはずだから。
184 名前:163 mailto:sage [04/07/10 20:24] >>183 ありがとうございます。 ちょうど>>174 さんの方法だと57.6khzになるので困ってました。 0x12 は 0 0100100 1 で100,100,100でバッチリなるのでこれで行ってみます。
185 名前:ホンモノの163 mailto:sage [04/07/10 21:01] おっ!飲みこみが早いねぇ その調子ならきっとうまく行くよ。 ちょっと気になるのは、TxDから直接取れる電流じゃ多分弱々なんじゃってこと。 昔の記憶を辿るとLEDには数100mA(ピーク時)を流した覚えがある。 そうしないと数メートルと離れられない。 もしかしたら今のLEDは高輝度だから大丈夫なのかもしれないが…
186 名前:デフォルトの名無しさん mailto:sage [04/07/10 22:02] >>185 正直、PCからの出力でTr制御して 別電源で駆動したいところだ
187 名前:デフォルトの名無しさん mailto:sage [04/07/10 22:09] アキバでLEDと抵抗買ってこい 今時のLEDは10mA流せば十分
188 名前:デフォルトの名無しさん mailto:sage [04/07/10 22:13] なんか面白そうな事やってるなぁ。 夏休みの自由研究にでも出来そうなネタだ。
189 名前:187 mailto:sage [04/07/10 22:18] ああ、ただLED光らせるんじゃないのか・・・ IR-LEDでリモコン制御か、ログ全然読んでなかった スマソ
190 名前:デフォルトの名無しさん mailto:sage [04/07/10 22:21] >>189 そんなトコじゃないかと思ってた。
191 名前:名無しさん@そうだ選挙に行こう mailto:sage 昔話 [04/07/11 11:50] (´-`).。oO(X68000+ジョイスティックポートで学習リモコン作ったなぁ…)
192 名前:名無しさん@そうだ選挙に行こう mailto:sage [04/07/11 14:09] 昔は楽しそうだなあ
193 名前: ◆Wsx33BP8MQ [04/07/11 18:57] 162(170/173/175)です。 >>163 さん 途中から番号間違ってしまってすいません。 トリップつけます。 38kHzのパルスを作るには0x12@7bitでいけそうなんですが、 0x00がやはりstopbitがついて 0 0000 0000 1 0 0000 0000 1 0... になってしまうので、上ででた TxD-IR_LED-CRD-DTR にして、 bool pulse //LED,ONの時true byte p = 0x12 l = 0x00 で、 this.serialPort1.BaudRate=115200; this.serialPort1.DataBits=7; if(pulse) {this.serialPort1.DtrEnable = false; this.serialPort1.Write(p,0,1); } else {this.serialPort1.DtrEnable = true; this.serialPort1.Write(l,0,1); } } としてるのですが、LEDはちゃんとpulse=trueの時だけ発光してるのですが、 機器が動作しない=コードが認識されてない 状態です。
194 名前:名無しさん@そうだ選挙に行こう mailto:sage [04/07/11 20:01] >>162 発振はRとCとインバータでマルチバイブレータ作ったほうが簡単だと思うが。。。 あとIR-LEDが光ってるかどうかはビデオカメラ等でも確認できる。(CCDでは緑っぽく光って見える)
195 名前: ◆Wsx33BP8MQ mailto:sage [04/07/11 21:21] PICで作った100mSecに何個パルスが来るか数える周波数カウンタに TxDの出力を入れると…80Hzとか… while(true) this.serialPort1.DtrEnable = false; this.serialPort1.DtrEnable = true; しても1(ずっとHight) 無限ループ中に for(int i =0;i<4000<i++){} な空ループ入れると8kHzくらいになるんですが。 いったいどこが悪いんでしょうか… わけわかんなくなってきました… WinLIRCはいったいどうやって高速にシリアルポート制御してるんだろう… DTR出力ですら38kHz作れるなんて…
196 名前:ホンモノの163 mailto:sage [04/07/11 23:28] >>193 COMポートから 0x00 を送信する局面ってあるか? 赤外線リモコンってキャリアのON/OFFだけで変調かけるわけだから、 TxDでキャリアを送出するならタイマ割り込み契機でトランスミッタを Enable/Disableすれば良いんじゃないかなぁ。 書かれたコードじゃどうに変調かけてるのかサッパリ分からんです。 >>195 そのカウンタってのにTxDを直接入れたのか? TxD(というかCOMポートの出力)はTTLレベルじゃないのはOK?
197 名前:デフォルトの名無しさん mailto:sage [04/07/11 23:41] PICがあるなら PICにデータ出力して送出してもらえば? つうか そんな問題じゃないか。。
198 名前: ◆Wsx33BP8MQ mailto:sage [04/07/11 23:49] >>163 さん 長らくお付き合い頂きありがとうございます。 トランスミッタってのはどの部分をさしてるんでしょうか? 後、タイマ割り込みはμsecオーダーで機能するんでしょうか? カウンタにはフォトカプラ経由で入れました。 で、さらに調べて、WinLIRCでTxDにIR-LEDをつないで送信して機器が動作するのを確認して、 LEDはずしてカウンタにたたき込んでも全然カウンタが拾えてないみたいです。 PICカウンタ自体は、555なんかで発振したのをたたき込むと16bit/100mSecまで確実にカウントできるので、 何が原因か調査中です。
199 名前: ◆Wsx33BP8MQ mailto:sage [04/07/12 00:57] フォトカプラ使うのやめて TxD抵抗-Red_LED-ベース Vcc-コレクタ エミッタ-10kΩ-GND(232C,PIC共通) でエミッタ電圧をカウントするようにしたら無事カウントできました。 で、たぶん機器が赤外線受け手も動かない原因は >>193 で書いた0x00にstop bit 1がつくのと、 示したコードだと38kHzがでてないっぽいです とりあえずコードの問題のようなので、いろいろがんばってみます。
200 名前:ホンモノの163 mailto:sage [04/07/12 01:28] >>198 トランスミッタってのはCOM?のデータ送信部のことだよ、この場合。 PCのタイマ割り込みでもH/Wとしてはμsec単位程度の精度は出る。 Windowsの上でどうかと云われると分かんない。調べてみてくれ。 尤も赤外線リモコンじゃμsecの精度は全然要らないと思うが… WinLIRCとやらでも充分な精度の計時をやってるはずだから何等かの方法は あるってわけだ。 >>199 >193のコードだと 1byte送出しておしまい、なんてことはない?よな… まあがんばってくれ。
201 名前:デフォルトの名無しさん [04/07/12 07:52] 実機デバッグのまったくできない環境は、制御系の場合、けっこうあると思うのですが、 こういう場合、どうやって、実戦投入一発で決めたり、実機のない状態で、バグをつぶしたりするのですか?
202 名前:デフォルトの名無しさん mailto:sage [04/07/12 09:24] >>201 脳内エミュレータ
203 名前:デフォルトの名無しさん mailto:sage [04/07/12 09:37] >>201 "HILS" "検証"でググれ!
204 名前:デフォルトの名無しさん mailto:sage [04/07/12 16:50] >>201 人生色々。 環境も色々。 実機デバッグ出来ないような環境だと、仕様さえまともに決まってない場合が多いしね。 自分が良くやるのは制御系なら簡単な中間言語スクリプトを作って そいつのエミュレータをWindows上で作って、そいつで主な動作は仕上げるようにして、対応力を上げておき 先に元客にそいつを触って貰って実機来る前に大方を固めるパターンかな。
205 名前:デフォルトの名無しさん [04/07/13 06:24] >>204 中間言語スクリプトと言うとPerlか何かですか?
206 名前:デフォルトの名無しさん mailto:sage [04/07/13 06:37] >>205 なんでやねん。
207 名前:デフォルトの名無しさん mailto:sage [04/07/14 08:30] >>205 そんな賢いもんじゃなくて、四則演算と内部関数呼び出しが出来る程度のものね。 言語仕様としては昔のbasicより貧弱な程度、中間言語はスタックマシンで十分実用になるよ。
208 名前: ◆Wsx33BP8MQ mailto:sage [04/07/15 22:22] ちょっと間が空きましたが、進展なしです… winLIRCの出力パルスを見てみたんですが、405と変な数で もう何がなんだか分けわかんなくなってPICなぞ買ってみましたorz まぁPICは別に使う予定なんですが、こっちも最悪PICかなとも思ったり…
209 名前:163 mailto:sage [04/07/16 21:02] >>208 > winLIRCの出力パルスを見てみたんですが、405と変な数で ってのは、もしかして100ms間のパルスを数えたんじゃないの? 事象が100ms以下の場合のことは考慮してる? 赤外線リモコンって1シーケンスはせいぜい数10msだと思うんだよな。
210 名前:デフォルトの名無しさん mailto:sage [04/07/17 09:20] 赤外線リモコンは 変調 40KHz付近 (38〜42K)で 16周期程度が1単位になってる事が多い 1:1/1:3 とか 1:1/ 1:2 が1ビット つまり0,1で長さが異なる 固定長レートではない事が多い。
211 名前: ◆Wsx33BP8MQ mailto:sage [04/07/17 13:26] ぇーっと大事な発見をしました。 elm-chan.org/docs/rs232c.html をみてたんですが、 100100100 を 送ると ピンの出力電圧としては -10V,+10V,+10V,-10V,+10V,+10V,-10V,+10V,+10V になるんですね。 >>163 さん 100msで数えてます。出力は合計39msくらいです。うち発光部が20msなので 20msで405だとキャリアが38kHzにならないんですよ… winLIRCみるかぎり38kHz Duty1/2で出してるみたいなんですが。
212 名前:デフォルトの名無しさん mailto:sage [04/07/17 13:52] >>193 >としてるのですが、LEDはちゃんとpulse=trueの時だけ発光してるのですが、 ほんとにこうなってるなら ±10Vで反転してるのは問題ないと思うが
213 名前: ◆Wsx33BP8MQ mailto:sage [04/07/17 15:29] >>193 が間違えていたようです。 常に38kの変調かけてるつもりだったので、 duty1/3じゃなく2/3で光ってたみたいです。 ぁぅぁぅ
214 名前: ◆Wsx33BP8MQ mailto:sage [04/07/18 22:29] 笑ってください…ヘタレです… 555つかって38kHzのキャリア作って無事動作しました… 今の僕には100us単位でしか制御できないみたいです… while(true) { this.serialPort1.DtrEnable=true; this.serialPort1.DtrEnable=false; } ってコード書いてDTRを抵抗通してPICのカウンターに入れても 10.3kHz程度しかでないの…C#+シリアル通信ラッパーだと38kのキャリア生成できなさそうで… 調歩同期で0x6Dおくれば38kHz duty1/3でますが、こちらもいまいち 動いてくれないので… 可能性としてはまだ調歩同期ならいけそうな気もするのでがんばってみます…
215 名前:デフォルトの名無しさん mailto:sage [04/07/18 22:35] >>214 いいやん。取り敢えず別法ってのはアリだよ。全部ソフトで やらなあかんって事はないし、全部ハードでやらなあかんっ て事もないしね。 ソフトで38kHzのキャリア作るのは宿題と言う事で今後も 研究してみるといいと思う。
216 名前:デフォルトの名無しさん mailto:sage [04/07/18 23:54] >>214 なんか基本的なところで間違ってる気がするんだよな〜
217 名前: ◆Wsx33BP8MQ mailto:sage [04/07/19 01:05] まとめ ・DTRを切り替えるのは遅い。 ・TxDに115200bpsに 1101101(0x6D)を送ればduty1/3の38kHzになる ・ラッパーのWrite(byte[],int offset,int count)メソッドで 各要素が0x6Dの配列pulse[]を Write(pulse,0,発光時間(μsec)/78) で送信 QueryPerformanceCounter(ref long); で出力Low時間分待ち。 上に戻る。 でやってみましたがだめでした >>216 さん ヒントください…
218 名前: ◆Wsx33BP8MQ mailto:sage [04/07/19 01:13] できたーーーーーーーーーーーーー 217の内容読み直して自分で見直したらできたーー!!! やったーーー for(int i=0;i<len.Length;i++) //len[1]=(発光時間/78)μsec len[2]消灯時間そのまま(μsec) len[3](発光時間/78)μsec … { pulse=!pulse; if(pulse) { last+=len[i]*freq/12820; // 78/1000000 = 1/12820 this.serialPort1.Write(p,0,(int)len[i]); end = last + len[i+1] * freq / 1000000; } else { while (last < end) { QueryPerformanceCounter(ref lasttime); } } } でいけました!
219 名前: ◆Wsx33BP8MQ mailto:sage [04/07/19 01:17] あ、ソースの QueryPerformanceCounter(ref lasttime); ↓ QueryPerformanceCounter(ref last); です。板汚しスマソ 一応プログラム全体としては,high,lowを一行ごとにusec単位で書いた テキストファイル読み込んで動作します。 6行目が味噌でした。 現在の時間を取るのに 送信終わった跡で、 QueryPerformanceCounter(ref time); をかけずに自分で指定しないとだめだったみたいです。 長らくありがとうございました。 ASPと組み合わせて携帯からアクセスしてエアコンの効いた部屋に帰れそうです。
220 名前:216==163 mailto:sage [04/07/19 01:50] まずは良かったね。 ん? 0x6D なんてどっから出てきたんだよ! ふ〜ん、そんなんでも動いちゃうんだヽ(^o^;ノ 勉強になりました。ありがとう
221 名前: ◆Wsx33BP8MQ mailto:sage [04/07/19 11:30] 0x6D=1101101 にstart stopがついて 0 110 1101 1 出力はこれを反転させて1 001 0010 0 のつもりだったんですが。 で…0x12,0xED,0x7Dとか0x11(これは適当) でも動いちゃいました… 結構アバウトというか何というか… 極めつけに0x00でも動きましたよ… 一応0x6Dが38kHz duty 1/3には一番近いと思うのでこれで行くつもりです。
222 名前:デフォルトの名無しさん mailto:sage [04/07/19 16:30] >携帯からアクセスしてエアコンの効いた部屋に帰れそうです。 志低いなぁ、おい。w まぁ、サボるために定時連絡電文発呼装置作ったエジソンよりはましか。
223 名前:デフォルトの名無しさん mailto:sage [04/07/19 20:01] >>222 まぁ必要は発明の母だからな。 あれだ、目的意識がある分、所謂「言語やろうと思いますが、何作ったらいいでしょうか?」 って頭悪い奴よりは遥かにマトモかと。この経験はきっと何処かで生きると思うしね。 基本的にモノと言うものは人間が楽をする為に作る訳だしね。
224 名前:デフォルトの名無しさん mailto:sage [04/07/19 22:27] >>223 >まぁ必要は発明の母だからな。 それを言ったのはエジソンだってことだね。 ついでに言えば、>221は「発明は1%のひらめきと、99%の努力」をも地で行ったわけだね。
225 名前:デフォルトの名無しさん mailto:sage [04/07/19 23:08] >>224 んだな。まぁエジソンは若い頃は列車でボヤを出したり、>>222 のように 手段に溺れて目的を逸脱したモノも作っちゃうんだけどね。それでクビ になるのは当然なんだが。それもまた経験なのかも知れず。
226 名前: ◆Wsx33BP8MQ mailto:sage [04/07/20 00:00] いろいろとご意見ありがとうございます。 99%の努力のうちまだ30%くらいしかできてない気がします。 残りの69%は受信部分… これまではwinLircって別のソフトで受信したのを送ってたんですが、 DSRピンをIR受光モジュールの出力につないで、 100usecごとに読めばいけるかと思いきや全然そんなこと無いみたいで。 まだまだ長い道のりがまってそうです。
227 名前:163 mailto:sage [04/07/20 00:01] >>221 > 0x6D=1101101にstart stopがついて 0 110 1101 1 もう一度基礎からやり直せ。 > 出力はこれを反転させて1 001 0010 0のつもりだったんですが。 そういう論理レベルと物理レベルをごっちゃにするような考え方はすべきでない。 短いお付き合いでしたが以上を餞の言葉とさせて頂きます。
228 名前:デフォルトの名無しさん [04/07/22 22:59] 19じとか、20じとかに こんなこと書いてるなら、もう少しやってから帰ればいいのに・・・
229 名前:デフォルトの名無しさん [04/07/24 15:09] 多数の入力が非同期に入力され、 それに応じて、出力や内部状態を変化させる、 そういう場合にエレガントにコーディングする方法はないのでしょうか? 状態遷移を関数テーブルなどで組んだとしても、 入力が多数で、その入力の組み合わせで、次の状態が決まるようなケースだと、 状態遷移関数が複雑で長くなると思うのですが。
230 名前:デフォルトの名無しさん mailto:sage [04/07/24 15:40] >>229 入力の検出手段を複数用意するとか
231 名前:デフォルトの名無しさん mailto:sage [04/07/24 16:01] >>229 いっそラダーチャートの方がシンプルかつエレガントだったりして。
232 名前:デフォルトの名無しさん mailto:sage [04/07/24 16:23] 象かよ
233 名前:デフォルトの名無しさん [04/07/24 20:46] >>232 それはエレフ(ry
234 名前:デフォルトの名無しさん [04/07/25 00:09] >>231 ラダーはシンプルかつエレガントでしょ グラフィカルで直感的に把握しやすい >>229 のような用途に使うために開発された言語なんだから >>229 もラダーを使ってみたら?
235 名前:デフォルトの名無しさん mailto:sage [04/07/25 02:26] >>229 分割っつーか、個々の状態の組み合わせには出来んのか?
236 名前:デフォルトの名無しさん [04/07/25 06:47] >>236 ラダーか。自分がやったなかでは、最も嫌いなものだな。20世紀に置いて くるべきだって思うくらい嫌いだったな。 昔のBASICの悪夢を極端に増幅させてたな。ちょっと前なので、改善 されてるかもしれないが、自分が仕事中に感じたのは (1) 基本的に機能拡張がないので、際限なく増えた命令 (2) 遅い、制御には問題ないが、処理には向かない。 (2) サブルーチンやライブラリもないので、カット アンド ペースト命 (3) 変数、I/Oはコイル番号。記憶力が良くないときつい。 (4) ソースをパソコンに読み出して編集とかできなかった。不便だった。 (5) 機種ごとの互換性がない。 (6) 人の書いたラダーなんか読めたもんじゃない。 オブジェクト指向どころか、構造化プログラミングも糞食らえの、 超プリミティブ環境。簡単な制御ならOKだと思うけど、結構複雑な制御も しているみたいで、信じられなかった。 かなり偏見が入っている気がするが、自分はもう二度とやりたくない。
237 名前:デフォルトの名無しさん mailto:sage [04/07/25 06:50] >>229 論理演算でさらっと
238 名前:デフォルトの名無しさん mailto:sage [04/07/25 07:29] >>239 >そういう場合にエレガントにコーディングする方法はないのでしょうか? もっと具体的な例を出してもらわないことには何ともいえないな・・・
239 名前:デフォルトの名無しさん [04/07/25 12:31] >>236 かなり偏見が入っている気がするが 偏見ではない。 ラダーは、電気が流れると磁石が働き、スイッチが閉じることを知っているだ けで設計できるもの。本来は機械屋さんが電気屋を介さずに、自分で機械系を 制御するときに使うもの。 でも、工場のラインの制御で使われることが多く、ラインの保守担当が理解で きて、変更できるものとして使われている。 まともな頭を持っていたら、ラダーの設計なんてアホくさくてできない。 OOP を理解しているやつに、ラダー回路を設計させたら辞めてしまう。
240 名前:デフォルトの名無しさん mailto:sage [04/07/25 13:14] だって、「エレガントに」なんておっしゃるんですもの〜(くすくす
241 名前:デフォルトの名無しさん mailto:sage [04/07/25 14:17] 夏を感じるぜ
242 名前:デフォルトの名無しさん mailto:sage [04/07/25 18:04] まぁ>>239 が偏見に満ちているのは間違いない事実だが。 単なるOOPバカだろ。
243 名前:デフォルトの名無しさん mailto:sage [04/07/25 23:52] ラダーはクズだ
244 名前:デフォルトの名無しさん [04/07/26 01:08] >236 今のラダーは、構造化プログラミングの影響を受けて、多少マシになっている > (1) 基本的に機能拡張がないので、際限なく増えた命令 メーカーごとに、命令を増やしている。 しかし、ユーザー定義の命令を使えるものもある。 (だが、ラダーに無理矢理、シーケンシャルな処理を追加したような形となっているので、使い勝手はよくない。) > (2) 遅い、制御には問題ないが、処理には向かない。 組込向けCPUよりも、大幅に汎用性を持たせているために、CPU規模の割りにはるかに遅いのは事実。 しかし、最近は、CPUパワーにものを言わせ、1msecスキャンのものも出ている。 > (2) サブルーチンやライブラリもないので、カット アンド ペースト命 最近は、サブルーチン、モジュール構成を使えるものが多い。 > (3) 変数、I/Oはコイル番号。記憶力が良くないときつい。 I/Oコンフィギュレーションのようなもので割付を行う。コイル、リレーは実アドレスではなく、変数で管理できる。 > (4) ソースをパソコンに読み出して編集とかできなかった。不便だった。 ソース、コメントもPLCに保存できる。 > (5) 機種ごとの互換性がない。 これは、進歩なし。 > (6) 人の書いたラダーなんか読めたもんじゃない。 これも進歩なし。ただ、どのプログラミング言語でも、同じことでは? > かなり偏見が入っている気がするが、自分はもう二度とやりたくない。 ・・・いろいろ、PLCを擁護しつつ、同意。 最近のトレンドを採り入れて、あまり凝ると、生産現場から、理解できない、メンテナンスできないとクレームが来るから。
245 名前:デフォルトの名無しさん mailto:sage [04/07/26 02:17] 漏れもラダー図を使う人種の発想は理解できないが、それで良いんじゃないかい。 「ソフト屋の言うことは信用するな」ってのが、メカ屋の鉄則らしいし、 同じ物を違う観点から見たほうがシステム全体の信頼性は上がるんでないの。 オブジェクト指向で設計しました、とか言うメカ屋がいたら逆に怖いと思う。
246 名前:デフォルトの名無しさん mailto:sage [04/07/26 06:22] 俺は職業ラダー使いだが・・・。JAVAもやってる。 確かに馬鹿みたいな言語は同意だが、ラダープログラムって超安定してるんだよねー。24時間365日絶対止まらない。 生産現場では抜群の信頼性を持つので重宝されている。 俺はラダーやってて、「こんな馬鹿みたいな言語やってたら将来ホームレスだよ」なんて心配したから、JAVAも勉強してる。 でも、最近思ったのは、JAVAよりもラダーの方が飯が食えそうだ(金になる)な。と思った。 だって中途半端なJAVA技術者→デジドカでしょ? 話によると、業界の方向性としては、どうやら組み込み系JAVAとラダーが融合していく方向性のようだ。どんな形になるか分からんが。。 俺は>>237 さんに同意かな。
247 名前:デフォルトの名無しさん mailto:sage [04/07/26 20:33] >>246 ちゅうか ラダー = 論理演算のかたまり なんだよね
248 名前:デフォルトの名無しさん mailto:sage [04/07/26 20:45] >>247 組み方にもよる
249 名前:229 [04/07/26 22:54] で、組み込みマイコン制御で多数の非同期入力を扱うにはどうしたらよいのでしょうか?
250 名前:デフォルトの名無しさん mailto:sage [04/07/26 23:08] >>249 >>230 , >>231 , >>235 , >>237 , >>238
251 名前:デフォルトの名無しさん [04/07/26 23:09] これがほんとのメッセージループ
252 名前:デフォルトの名無しさん mailto:sage [04/07/26 23:12] >>249 だから階層化して分割出来んのか? と言ってるだろう 最終的に導き出す状態が1つだからってなんでもかんでも 一つの状態遷移表にまとめる必要はないだろ
253 名前:デフォルトの名無しさん mailto:sage [04/07/27 23:07] ロータリーエンコーダの発注の時、パルス数指定するの忘れて 100P/Rのが来てしまった。500P/Rのが必要だったのに… 素人過ぎだ俺。
254 名前:デフォルトの名無しさん [04/07/28 03:46] バ ル ス
255 名前:デフォルトの名無しさん mailto:sage [04/07/28 04:00] 小は大を兼ねない
256 名前:デフォルトの名無しさん mailto:sage [04/07/28 09:08] >>253 パルス数指定なしで、なんの疑いも無く100P/R よこしてくる方も、なんかあれな感じだな
257 名前:デフォルトの名無しさん mailto:sage [04/07/28 09:08] ロリータエンコーダ禁止
258 名前:デフォルトの名無しさん mailto:sage [04/07/28 10:36] 制服系?
259 名前:デフォルトの名無しさん mailto:sage [04/07/28 12:20] 援交だ
260 名前:デフォルトの名無しさん [04/07/28 13:33] >>259 うまい
261 名前:デフォルトの名無しさん [04/07/28 20:33] ロリータ援交だの発注のとき、年齢指定するのを忘れたら、10歳のが来た 14歳がよかったのに
262 名前:デフォルトの名無しさん mailto:sage [04/07/28 21:15] ここでやれ pc5.2ch.net/test/read.cgi/tech/1090324689/
263 名前:デフォルトの名無しさん [04/07/28 21:55] 知り合いの言葉を借りるとロリータの定義は、「初潮を迎える前の美少女」らしい。 となると14歳も10歳もロリータには当てはまりそうにないな。
264 名前:デフォルトの名無しさん mailto:sage [04/07/28 22:20] >>263 ぐぐってみたら、平均年齢は12歳くらいらしいぞ
265 名前:デフォルトの名無しさん [04/07/28 22:26] >>264 乙。今でもそんなものなのか。最近じゃ平均が10歳だと 思ってた。正直12歳ってのは20年位前の統計じゃない かと疑ってしまった。スマソ まぁ14歳がロリータだと思ってる>>261 は、俺の知り合いに 失笑を買うだろうな。 だからなんだ? って言われると困るけどな。
266 名前:デフォルトの名無しさん mailto:sage [04/07/28 22:40] 流れからすると、>>261 はパルスの話じゃないのか? まあ、そっちの方はよく分からんけど。
267 名前:デフォルトの名無しさん [04/07/28 22:44] >>266 空気読めてない奴ハケーンヽ(゚∀゚)ノ >>253 >>257 >>259 >>261
268 名前:デフォルトの名無しさん mailto:sage [04/07/28 22:44] 14歳のパルスを1.4分周すると10歳になりますか?
269 名前:デフォルトの名無しさん [04/07/28 22:57] ラピュタが滅びます
270 名前:デフォルトの名無しさん mailto:sage [04/07/29 10:24] >>269 そりゃパルスじゃなくてバルスだと突っ込んでみるテスト
271 名前:デフォルトの名無しさん mailto:sage [04/07/29 12:24] >>269-270 概出 >>254
272 名前:デフォルトの名無しさん [04/08/04 23:38] 2種類以上の割り込み要因による割り込みがあるとき、 その割り込みが重なったときに、どうやって対処する? プライオリティを考える? 多重割り込みを許可する? ケースバイケースだろうけど
273 名前:デフォルトの名無しさん mailto:sage [04/08/05 02:31] あーここ制御系スレだったね。 >>272 プライオリティ順に処理する。 もしどちらもプライオリティが高いなら、 割り込み処理を分割して最低限のことだけやって 続きは別の機会に片付ける。
274 名前:デフォルトの名無しさん mailto:sage [04/08/07 01:22] >>272 多重割り込みを許可するのと複数の割り込みが Pendingされてる時は、別の問題だと思うが? どっちのことを言ってるんだ? その質問だとよくわからんぞ
275 名前:デフォルトの名無しさん mailto:sage [04/08/07 07:08] ようするに反応時間を満足するように作るしかないわけで、 満足出来なければクロックを上げるてなんとかするとか、 外部ハードで反応時間の余裕を上げるとか 多重割り込みで解決出来るケースはそれほど無いだろう。 まあ多重割り込みで解決出来るくらい割込処理に負荷かけてるなら別だが
276 名前:デフォルトの名無しさん [04/08/09 07:36] クロック上げてくれと言ったら却下された 俺が選定したわけじゃないのに
277 名前:デフォルトの名無しさん [04/08/10 01:53] >>276 そんなタイトなクロックを決める方がアホかと
278 名前:デフォルトの名無しさん mailto:sage [04/08/10 08:56] 原子力発電所のプログラム書いたことある人いる?
279 名前:デフォルトの名無しさん mailto:sage [04/08/10 09:07] います
280 名前:デフォルトの名無しさん mailto:sage [04/08/10 09:15] あんまり多くは語れないか。
281 名前:デフォルトの名無しさん [04/08/10 17:40] >>279 原子力発電所/飛行機/車などの制御プログラムを、どうやってテストしているか教えていただけ ますでしょうか。 私がもし飛行機制御のプログラムを作ったら、その飛行機には乗りたくありません。ましてや他人が作った プログラムが制御している飛行機なんて絶対に乗りません。
282 名前:デフォルトの名無しさん mailto:sage [04/08/10 17:47] 飛行機って、製作元の異なる3つくらいプログラムが、 互いに結果を照合しあって合致してるかどうか 確認してるんじゃなかったっけ?
283 名前:デフォルトの名無しさん [04/08/10 18:31] >>281 男なら覚悟を決めて、実機デバッグ もちろんテストパイロットはプログラマーなw
284 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:01] 飛行機なら、ハードのバグよりも操縦士のバグの方が問題視されてるよな。
285 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:08] >>284 どういう意味だ?
286 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:20] >>285 パイロットが予想外な警告に対応できなかったりとか。 にしてもさ、未だに事故があるたびに、ボイスレコーダーが どうとか言ってるんだけど、本当はコックピットの全ての オペレーションに大してログ取ってるんでしょ?取ってないの?
287 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:28] >>286 パイロットだって人間だぞ?ミスはあるし混乱もする おまえだって人間だろ?ミスしないのか?混乱しないのか?
288 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:33] >>286 フライトレコーダーはあるが、こまかい操作まで取っているものではない
289 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:36] これは中々象徴的な出来事だった。 www.asagaku.com/donto/2002/donto7/donto7_14.html で、やっぱりボイスレコーダーがどうとかやってる。 まだこんなことやってるの?って感じ。
290 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:38] あー、もちろん空の世界はアナログ、デジタル混在、 新旧よりどりみどりの、いろんなシステムが飛んでるわけだから、 たまたま原始的な方法を用いた、旧来の飛行機が事故にあった という話は分ります。
291 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:42] あんなただの鉄のかたまりが飛んでいるのに、空港も空路も満杯なのに 事故は多くないんだよ。
292 名前:デフォルトの名無しさん [04/08/10 19:43] まあ、ヒューマンエラーを引き起こすようなソフトは仕様の不備というのもあるわな それよりエアバスみたいにホントにバグで落ちる方がこわい あと、最近流行の自動車のリコール ソフトのバグでリコールとかないの?
293 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:46] >>292 ttp://u-cfc.mitsubishi-motors.co.jp/Recall/displayselect.do?orderno=11051 こんな感じの?検索したらいっぱいでたが。
294 名前:デフォルトの名無しさん mailto:sage [04/08/10 19:46] >>292 航空機産業はエアバスの1人勝ちらしいですな。 ボーイングもうダメポらしい。 っていうか、マ板に制御ネタのスレあったっけ。 あればそっちでやるべきか。 でも、最近のマ板のあまりラウンジ化で、ひとが いないからなあ。
295 名前:デフォルトの名無しさん mailto:sage [04/08/10 23:32] >>294 ここ 制御系プログラマーこそ神 pc5.2ch.net/test/read.cgi/prog/1069842456/
296 名前:デフォルトの名無しさん [04/08/11 19:24] ながーい割り込み処理のトンネルの中に 遅くてもOKな処理がポツポツと浮かんでいる上越新幹線みたいなプログラムを組んでみた これって変?
297 名前:デフォルトの名無しさん mailto:sage [04/08/11 22:02] >>296 書いてることが変
298 名前:デフォルトの名無しさん mailto:sage [04/08/11 22:40] 上越新幹線の辺りを説明してくれ
299 名前:デフォルトの名無しさん mailto:sage [04/08/11 22:48] >>298 トンネルを抜けるとまたトンネル 割り込み処理が終わるとまた割り込み処理 ということでは?
300 名前:デフォルトの名無しさん mailto:sage [04/08/12 22:10] 普通に割り込みだけのプログラムを作っているが何か?
301 名前:デフォルトの名無しさん mailto:sage [04/08/12 22:16] いや、別に・・・・w
302 名前:デフォルトの名無しさん [04/08/13 01:07] 今日ビックカメラ行ってきたんだが、マッサージチェアって 凄いな。もはやマッサージロボットと呼んでもいいだろ。 金と置き場があれば一台欲しいとオモタヨ
303 名前:デフォルトの名無しさん mailto:sage [04/08/13 05:10] Z80とかって割り込みベクタとハンドラ作ってHALTして終わり っていうプログラムの書き方しなかった?
304 名前:デフォルトの名無しさん [04/08/13 16:35] HALTしたら、リセットしか受付なくないか?
305 名前:デフォルトの名無しさん mailto:sage [04/08/13 18:44] >>304 そんなことはない
306 名前:デフォルトの名無しさん mailto:sage [04/08/13 21:55] >>305 じゃあ、割り込みハンドラから帰ってきたら、どこへ行く? HALTの次の命令???
307 名前:デフォルトの名無しさん mailto:sage [04/08/13 23:22] >>304 DI HALT するとそうなるかな? あ、NMIを受け付けるか。 >>306 そう
308 名前:デフォルトの名無しさん [04/08/13 23:36] 昔のCPUはそんなシンプルなつくりしかできなかったんだよな 凝ったもの作ろうとしても OSなんか載らないし
309 名前:デフォルトの名無しさん mailto:sage [04/08/14 04:50] >>306 0000H 0008H 0010H 0018H 0020H 0028H 0030H 0038H 0066H の中から選べる。
310 名前:デフォルトの名無しさん mailto:sage [04/08/14 04:52] >>308 Z80系にはCP/Mという立派なOSが載っていた
311 名前:デフォルトの名無しさん mailto:sage [04/08/14 10:50] >>309 それは戻り先じゃないっしょや。 0-0x38がRST0-RST7の割り込みベクタ。 0x66がNMIの割り込みベクタ。 割り込みモードによっては0x00-0xffをバスから与える。 >>306 処理が終わったらHALTしておく。 つまり、割り込みハンドラから戻らない。
312 名前:デフォルトの名無しさん [04/08/14 15:57] むかーし、取引先が新規に自社CPUをつくった。 NMIがマスクできる仕様だった・・・・・・(;´Д`)?????? でも、そのMPU関連の仕事くれたから(・∀・)イイ!!
313 名前:デフォルトの名無しさん mailto:sage [04/08/14 17:04] それはNMIと呼ばないのではw
314 名前:デフォルトの名無しさん [04/08/14 19:49] 打ち合わせの時、「そのNMIはマスク出きるか、否か」の確認は取ったが、 その点以外は誰も突っ込まなかった。 カラスは白い場合もあるんだな、って思ったよ。
315 名前:デフォルトの名無しさん mailto:sage [04/08/14 21:22] 書込み可能なROMみたいなもんだな。
316 名前:デフォルトの名無しさん mailto:sage [04/08/14 21:27] そのたとえはいかがなものかと
317 名前:デフォルトの名無しさん mailto:sage [04/08/15 06:19] リセット入力をマスク出来るCPUみたいなもんだな
318 名前:デフォルトの名無しさん mailto:sage [04/08/15 10:16] 美子っていう名のブスみたいなもんだな。 誰も突っ込まないところも同じ。
319 名前:デフォルトの名無しさん mailto:sage [04/08/15 10:21] >>317 設定EPROMレジスタでリセット入力端子を汎用入出力に出来る一チップマイコンは普通にあるけどね
320 名前:デフォルトの名無しさん mailto:sage [04/08/15 12:54] バグっててリセットできないとむかつく。ノートPC使ってるが、ハングッたら 電源OFFさえできないのでバッテリーはずして電源ケーブルを 抜かなきゃならん。ヽ(`Д´)ノ 何を考えて設計しているのかと小一時間・・・
321 名前:デフォルトの名無しさん mailto:sage [04/08/15 13:01] >>320 電源スイッチ長押し
322 名前:デフォルトの名無しさん mailto:sage [04/08/15 15:02] >320 今時、電源スイッチ長押しでだめなノートPCあるの? それとも自分の無知を棚上げ...
323 名前:320 mailto:sage [04/08/15 15:37] >>231 >>232 え?電源スイッチ長押し・・・・・・?あ、ああ。そうだよ。そうとも >>それとも自分の無知を棚上げ... ((((;゚Д゚)))y-~~ガクガクブルブル ・・・嫌だな。釣りだよ。釣り。 今時 知らない香具師いるわけないじゃん。w 次にハングしたら、慌てず騒がず、いつもの様に電源長押しで対処さっ ♪ ∩ ( ⌒) ∩_ _グッジョブ !! /,. ノ i .,,E) ./ /" / /" _n グッジョブ!! ./ /_、_ / ノ' ( l _、 _ / / ,_ノ` )/ / _、 _ グッジョブ!! \ \ ( <_,` )( /( ,_ノ` ) n ヽ___ ̄ ̄ ノ ヽ |  ̄ \ ( E) / / \ ヽフ / ヽ ヽ_//
324 名前:デフォルトの名無しさん mailto:sage [04/08/15 16:20] 漏れのノートPCの電源スイッチは落下のショックで押せなくなったのだが。 >>320 餅搗け。レス番間違ってるぞ。
325 名前:デフォルトの名無しさん mailto:sage [04/08/15 17:01] >>324 起動できないね
326 名前:デフォルトの名無しさん mailto:sage [04/08/15 18:34] >>325 大丈夫、ゼムクリップを使えばなんとか端子を接触させられる。 一度起動したら後はサスペンドかリセットしかしないし。 #サスペンド/サスペンドからの復帰は蓋の開け閉め。
327 名前:デフォルトの名無しさん [04/08/18 11:44] 割り込みで書き込み、普通のルーチンで読み込みするとデータが化けるんだけど、何で?
328 名前:デフォルトの名無しさん mailto:sage [04/08/18 12:01] 色んな原因が考えられる。一概には言えないので、 なにをどうしてるか、環境とかをUPしてください。
329 名前:デフォルトの名無しさん mailto:sage [04/08/18 13:14] >>327 バグってるから
330 名前:デフォルトの名無しさん mailto:sage [04/08/18 15:33] >>327 volatile付けた?
331 名前:デフォルトの名無しさん mailto:sage [04/08/18 17:12] 多いのが 8bitマイコンで割り込みで 16bitのINC をさせたりしてるのを メインで比較しようとしたらとかのミスだね
332 名前:デフォルトの名無しさん [04/08/18 19:02] メイン側の比較の最中に割り込みが起きるとアボーンというわけか・・・
333 名前:デフォルトの名無しさん [04/08/18 21:23] int幅より大きい変数を扱う場合は化ける可能性がある あと、構造体やデータブロックを扱うときは メインでアクセスしている最中に割込が入れば、 割込前と割込後でデータに整合性がなくなることがある
334 名前:デフォルトの名無しさん [04/08/19 07:47] 単純に割り込み禁止・許可をすればいいんじゃない?
335 名前:デフォルトの名無しさん mailto:sage [04/08/19 07:48] 質問したひともういない?
336 名前:デフォルトの名無しさん [04/08/19 16:39] セグメンテーション・フォールト って 叫んでみたんだけど、まるで何かの必殺技みたいだよな
337 名前:デフォルトの名無しさん mailto:sage [04/08/19 17:01] >>336 プログラムを一発で停止させる必殺呪文
338 名前:327 [04/08/20 22:07] 帰郷してました(^^; 職場の先輩に聞いてみたら、やっぱり>>331 >>333 のような話でした。 でも、割込禁止を使うと割込できるところが少なくなってしまうという問題があって。 割込って難しいですね。
339 名前:デフォルトの名無しさん mailto:sage [04/08/20 22:20] >>338 複数命令にまたがって読むほんの数バイトのコードのとこだけ割り込み禁止にすればいいんだよ
340 名前:デフォルトの名無しさん [04/08/20 23:08] >>338 割り込みは不必要に多用される傾向があります。 割り込みを使うと、今回のようなボラタイルなデータの発生があります。どの データがボラタイルか明確ならば良いのですが、注意していても見逃しやすい ものです。通常は、割り込みルーチンを先に作りあげ、後からはできるだけ いじらないようにします。 割り込みの多用は、プログラムを難しくすること以外に CPU の時間不可を 消費することです。急いでもいないものに割り込み処理をさせることで、 本当に高速に処理しなければならない処理が遅らされてしまいます。 残念ですが、最初から、時間不可を適切に配分した制御プログラムの設計は めったに見られません。
341 名前:デフォルトの名無しさん mailto:sage [04/08/20 23:26] >>340 今回の件はvolatile関係無いんじゃ? volatileつけてても、下位の計算と上位の計算の間に、割り込みルーチンにより変数が 変化したら壊れた値を読んでしまう。
342 名前:デフォルトの名無しさん mailto:sage [04/08/21 01:15] どうしても割り込み使いたくないなら、排他制御でぐぐれば 何かよさげな方法が見付かるのではないかと。 atomic性を保証する手段はいくつかあるし。 まあ割り込み禁止してしまうのが簡単・確実だと思うが。
343 名前:デフォルトの名無しさん mailto:sage [04/08/21 02:10] >>342 AVRとかでの推奨は、16ビットレジスタは、 unsigned int TIM16_Read_TCNT1(void) { unsigned char sreg; /* ステータスレジスタ一時保存変数定義*/ unsigned int i; /* TCNT1読み出し変数定義*/ sreg = SREG; /* 現全割り込み許可フラグ(I)を保存*/ _CLI(); /* 全割り込み禁止*/ i = TCNT1; /* TCNT1値を取得*/ SREG = sreg; /* 全割り込み許可フラグ(I)を復帰*/ return i; /* TCNT1値で呼び出し元へ復帰*/ } というふうにしてヤレとなってますな。
344 名前:デフォルトの名無しさん mailto:sage [04/08/21 08:42] >>338 割り込みで16bitのカウンタを実装しないというのもシンプルで有効な戦法だよ。 割り込みでは8bitのカウンタを inc だけして メインではそのカウンタがゼロでなければ、ひとつdecして16bitカウンタを1つ動かす。 メインで実際のカウンタを実装するわけ
345 名前:デフォルトの名無しさん [04/08/21 11:55] 341>今回の件はvolatile関係無いんじゃ? C 言語の volatile じゃなく、英語での volatile の意味と解釈してください
346 名前:デフォルトの名無しさん [04/08/23 07:45] データブロックの場合はバッファを持たせて、ポインタを使えば、 バッファを指すポインタをつけ換えるところだけ割り込み禁止にするだけでよいので、 割り込み禁止の影響は最小にできる
347 名前:デフォルトの名無しさん mailto:sage [04/08/23 08:38] >>346 その方法ならReadポインタ Writeポインタを別にすれば、割り込禁止も無くせるね
348 名前:デフォルトの名無しさん [04/08/23 09:38] >>347 ReadポインタとWriteポインタが重なったときはどうする?
349 名前:デフォルトの名無しさん mailto:sage [04/08/23 11:19] >>348 buff1 buff2 ・・・ buffN とバッファがあるとしよう PointerR PointerW が 最初 buff1を示しているとする。 PointerW は割り込みでその位置に書いて 次のバッファを示すように更新される PointerR はメインで、PointerWと値が違うときに、その位置を読んだ後に次の位置に更新される たとえば、割り込み周期内でメイン内で1回以上呼ばれるなら、バッファのサイズは2でよい。 さて問題。 PointerWが2バイトで表現されたとして、メインの比較途中に割り込みが起きたとして、 それが誤動作の原因になるか?
350 名前:デフォルトの名無しさん mailto:sage [04/08/23 15:18] >>340 デバイスドライバのトップハーフとボトムハーフみたいに、 「本当に必要な箇所のみ割り込みで動作」させるというのが解?
351 名前:デフォルトの名無しさん mailto:sage [04/08/23 15:52] >>350 イエス
352 名前:デフォルトの名無しさん mailto:sage [04/08/23 16:26] >>349 PointerW と PointerR の不一致検出なら PointerRは割り込み側で更新されないから誤動作しないと思う 差などの演算結果を利用してたりするとダメダメ
353 名前:デフォルトの名無しさん mailto:sage [04/08/23 16:33] >>352 もっとも比較のしかたによっては一周期検出が遅れる場合はあるでしょうから それでタイミングが間に合わなくなるようだと誤動作するということになるですね ほんなとこに神経使わなくていいように素直に割り込み禁止かけるのが吉 デバッグや機能追加でハマル原因
354 名前:デフォルトの名無しさん mailto:sage [04/08/23 23:08] >>340 >残念ですが、最初から、時間不可を適切に配分した制御プログラムの設計は >めったに見られません。 わたしゃ8ビットCPUのしょぼいコードしか書いたことないから偉そうなことはいえないけど、 「時間負荷の配分」がそんなに難しい問題とは思えない。 要はイベントaに対応する必須の処理を処理Aとすると、処理Aをブロックする処理(処理A自身を 含む)の合計時間がイベントaの最短の発生間隔を超えないようなコードを書くだけ。 あとはゲームや動画の分野では初歩の初歩である「忙しいときは やってもやらなくてもいい処理は諦める」ようにするだけ。 これは時分割ルーチンのフラグをメインの中でポーリングするようにすれば 自然とそうなる。
355 名前:デフォルトの名無しさん [04/08/24 00:29] >>349 ポインタをインクリメントするところだけは割り込み禁止にしないと危なくないか? 厳密には安全な場合だってあると思うが
356 名前:デフォルトの名無しさん [04/08/24 11:34] HEW/C++では関数ポインタをvoid *で使えないみたいです。 何を定義したら良いですか?
357 名前:デフォルトの名無しさん mailto:sage [04/08/24 12:23] >356 void (*pfunc)(); キャストするときはこんな感じ pfunc=(void(*)())func;
358 名前:デフォルトの名無しさん mailto:sage [04/08/24 14:49] >>355 良く考えれば、それぞれのポインタのインクリメントは割り込みとメインでされて それぞれの不一致比較だけなので、問題無いと判ります。 危険そうだから保護というのは一見正しそうにみえて深く考えてなく 危険なのに保護されない原因になるので注意。
359 名前:デフォルトの名無しさん mailto:sage [04/08/26 21:27] >>358 下の2行が なんか 心に響いた
360 名前:デフォルトの名無しさん [04/08/27 02:51] SH3を扱っている方で、 マニュアルに、多重割り込み時のレジスタの保存はユーザがやれみたいな記述があったと思いますが gccで開発するとき、このあたりを意識していますか? ちゃんとコンパイラが吐き出したコードを見ればいいのでしょうけど アセンブラが苦手なもので。。。 ご教授ください。
361 名前:デフォルトの名無しさん mailto:sage [04/08/27 08:52] >>360 そんな人はこの業界から去ってください。 海外に発注したほうがマシだ。
362 名前:360 [04/08/27 09:53] >>361 ここは質問スレかと思った。すまんね。
363 名前:デフォルトの名無しさん mailto:sage [04/08/28 03:02] >>360 意識以前にそんな濃いとこはアセンブラで書けよ
364 名前:デフォルトの名無しさん [04/08/28 06:13] 割り込みはアセンブラで書くよな
365 名前:デフォルトの名無しさん [04/08/28 07:44] >>360 マニュアルにそう書かれているなら、 少なくともルネサスね開発ツールではサポートしてなさそう やはりgccでもないと考えるのが妥当では?
366 名前:360 mailto:sage [04/08/28 08:36] >>365 ありがとうございます。 やはりCとアセンブラではCの方が圧倒的に可読性が高いし楽に感じますので 単純に関数に入るときに現在のレジスタを退避するだけでいいなら なにも考えなくてもいけるかなとか思ってました。 どなたか経験者がいればお話を聞きたいと思いました。 >>363 , >>364 アセンブラで通常のジャンプとはどういうところを変えるか気にして書いたらいいですか?
367 名前:デフォルトの名無しさん mailto:sage [04/08/28 09:25] うーん。 Cで書いて間に合うような処理なら、割り込みではフラグだけ建ててメインで処理すればいいんじゃないの? と思っちゃうんだよね。 割り込みは最低限にするべきじゃないの? 割り込み負荷が大きいと、電池の消耗も大きいしさ、 色んなタイミング合わせが厳しくなって、その時楽に思えても、後で効いてくるんだよね。 通信 FIFOに書くまで タイマ カウンタやフラグを建てるまで
368 名前:360 mailto:sage [04/08/28 10:09] >>367 もちろんそうしています。
369 名前:デフォルトの名無しさん mailto:sage [04/08/28 11:43] >>368 フラグだけ立てる処理をCで書いても、レジスタ保存しなくてよい可能性高くないの? 結局、Cの吐き出すソース見なくちゃ無駄なレジスタ保存するだけなわけで、 可搬性を考えるとそこだけ#if で区分けするしかないんじゃないの? だったらそこだけアセンブラで書いたっていいんじゃないの?
370 名前:360 mailto:sage [04/08/28 12:04] 言語に関して言えば、 Cだと、割り込みをつかっても周辺機能のドライバは H8->SH1->SH3 まで、ほとんどソースの変更なしに使えるし 初めてのチップでも FDCのドライバで16bitFATを実装して4日 NE2000互換チップで、UDPまでなら6日 くらいで書けますよね。 これがアセンブラじゃそうはいきません 、、、すくなくとも私は、 >>361 だから仕事が回ってこないのかなぁ〜 やっぱアセンブラでグリグリ書ける位でないとだめかな
371 名前:360 mailto:sage [04/08/28 12:09] >>368 もちろん処理系依存でしょうが interrupt修飾子のついて関数は適切にレジスタ保存してくれていると思ってます。 ちゃんと吐き出されたアセンブラみないといけないですよね。
372 名前:デフォルトの名無しさん mailto:sage [04/08/28 13:00] SH-2Aは割り込み専用のレジスタバンクを15個搭載してるらしい。
373 名前:360 mailto:sage [04/08/28 16:05] ↑の >>369 だったすみません
374 名前:デフォルトの名無しさん mailto:sage [04/08/28 17:21] 俺のペニスを制御するにはどうすればいんだ?
375 名前:デフォルトの名無しさん mailto:sage [04/08/28 17:34] 座禅でも組め
376 名前:デフォルトの名無しさん mailto:sage [04/08/28 19:21] >>374 根元に付いている玉をはずしてみる
377 名前:デフォルトの名無しさん mailto:sage [04/08/29 01:04] 板違いかと思うんですけどちょっと質問させてください 当方、某地底大の理学部生なんですが 最近自分のやりたいことが純粋物理よりも制御系に近いことに気づいてしまいますた。 今までただの物理野郎だったので制御系に関することは自力で勉強しないといけないかな・・・と思ってまつ 将来的にはメーカー就職で制御系SEになりたいのですが、 こういう理論を勉強しておくとよいってのはありますか? それとみなさんはこの道何年くらいやってるんですか?
378 名前:360 mailto:sage [04/08/29 01:57] >>377 私は、>>361 で言われている程度なのであまり大きなことは言えませんが 私の場合、元が高周波、アナログ系なんですが、多少なりとも電子回路をやっておいて助かったことが多いです。 ソフト屋は大抵工期の終盤ですし、トラブルがハードのせいなのかソフトのせいなのかの判断に迫られることが 毎度です。 ちゃんとハード屋が対応してくれればいいですが、「検査したし動くはず」としらんぷりするところも多く ハードがわかっているとこういうトラブったときに、主導権を握りやすいです。
379 名前:デフォルトの名無しさん mailto:sage [04/08/29 10:58] >>377 そういうのはなろうとするもんじゃなくて、私みたいになってしまうもんだと思ってたw と冗談はさておき、制御系といってもやることはいろいろあるので問題を切り分ける能力が必要。 ハードウェアを渡されて、動かしてくれって仕事もあれば、 EWSのライブラリとCUI版の動作確認ツールを渡されて、GUIを作ってくれって仕事もあるだろう。 前者であれば>378の言うような電子回路系の知識やCPU周りのロジック回路の知識が必要かもしれないし、 後者であれば他人の書いたライブラリのバグを発見する能力が必要かもしれない。 また、(プログラミングもするSEでなく)上流工程を扱うなら、顧客の要求を聞き出す能力や プログラマを管理統括する能力も必要になるだろう。 だがしかし、(大手)メーカー就職でそれだけの能力を身に付けてそういう立場に立つことができるかと聞かれると……
380 名前:デフォルトの名無しさん mailto:sage [04/08/29 12:04] >>379 >そういうのはなろうとするもんじゃなくて、私みたいになってしまうもんだと思ってたw ワラタ
381 名前:デフォルトの名無しさん mailto:sage [04/08/29 12:46] あと、メーカったってどこに就職するかってのは難しい問題かもしれないね。 どこも分社化、アウトソーシングが進んでいるしね。 メーカに就職しても制御系の仕事(実務)が出来るかというと・・・さあ?
382 名前:デフォルトの名無しさん mailto:sage [04/08/29 13:39] >>377 採用する側の設計管理職だが、物理のセンスは役にたつ。でも、留年してでも、 電子工学などでマスターを取ったほうが良い。工学屋の勉強もしておくことが 重要だよ。
383 名前:デフォルトの名無しさん mailto:sage [04/08/29 14:41] >そういうのはなろうとするもんじゃなくて、私みたいになってしまうもんだと思ってたw ムカツク
384 名前:デフォルトの名無しさん mailto:sage [04/08/29 14:54] hmhm とりあえず、工学部の院を目指してみることにします。 理学学士でも工学院の受験って可能ですよね、多分。 3年だからちょっと必死ですけどorz
385 名前:デフォルトの名無しさん mailto:sage [04/08/29 14:55] ↑377です
386 名前:デフォルトの名無しさん mailto:sage [04/08/29 15:49] >>384 可能だよ。 でも、入りたいところの分野の基礎は知っていないとダメ。
387 名前:デフォルトの名無しさん mailto:sage [04/08/29 16:57] 制御系ソフト屋になるって学生時代から考えてる香具師もいるのか・・・ 昔は電子工学卒でじゃんけんに負けた人がなる、と思われていたもんだが・・・
388 名前:360 mailto:sage [04/08/29 20:11] >そういうのはなろうとするもんじゃなくて、私みたいになってしまうもんだと思ってたw まったく同じく(w
389 名前:デフォルトの名無しさん mailto:sage [04/08/29 22:38] なろうとしてなった俺は変わり者ですか?
390 名前:382 mailto:sage [04/08/30 00:01] >>384 4年目の研究室を工学系を選ぶの手だね。今の大学物理教育のレベルは おちているそうだけど、統計・量子力学くらいまではきちんと学んだほうが いい。いまでは工学系の授業は取れないの? ま、厳しい実験系の研究室に行くことだよ。その1年間の苦労は将来に 必ず報われるからね。
391 名前:360 mailto:sage [04/08/30 01:39] >>389 幸せ者だと思います。
392 名前:デフォルトの名無しさん mailto:sage [04/08/31 00:28] >>387 一昔前はそんなもんだろ 回路屋ばかりの中でババひかされた奴が、 CPU廻りからソフトまで全部やってるうちに 何時の間にか組み込み専門になってるパターン
393 名前:デフォルトの名無しさん mailto:sage [04/08/31 02:53] スイマセン専門しか出てない品管あがりのオサーンが 回路引たりVHDL書いたりI/Oなんかの下回りを コーディングしたりしてから大卒院卒の子たちに上辺の 処理書いてもらってます。 だーれも半田ごて握ろうとしないでやんの
394 名前:デフォルトの名無しさん [04/08/31 06:56] ハードリアルタイム処理は 難しい 難しい 難しい
395 名前:デフォルトの名無しさん mailto:sage [04/08/31 06:59] だんだんマターリと良い雰囲気になってきたなあ 愚痴はよそでやれ、なんて無粋なことをいわんでくれよ
396 名前:デフォルトの名無しさん [04/08/31 23:40] 300mm対応の半導体製造装置。 semi規格準拠。 このような装置、シーケンサーで制御可能ですか? シーケンサーで適切ですか?
397 名前:デフォルトの名無しさん mailto:sage [04/08/31 23:42] 情報量が少ないので、シーケンサーで十分という事にしましょう ただし、MITUBISHI製な
398 名前:デフォルトの名無しさん [04/08/31 23:58] 最近まで制御系っていうとハードに近い部分かと 思ってたけど、なんかメッセージでやり取りする サーバ側のプログラムも制御系っていうの?
399 名前:デフォルトの名無しさん mailto:sage [04/09/01 00:05] >>398 言わないな
400 名前:デフォルトの名無しさん [04/09/01 00:15] 最近まで制御系っていうとOSのことかと思っていた。
401 名前:デフォルトの名無しさん [04/09/01 07:06] >>346 >>349 亀レスだけど データブロックとかReadPointer、WritePointerだと 割込禁止を減らせるというのがいまいちわかりません。 詳しくおしえてください。
402 名前:デフォルトの名無しさん mailto:sage [04/09/01 07:12] >>399 部署いっしょじゃないの?
403 名前:360 mailto:sage [04/09/01 07:30] >>396 むしろ、PLC(シーケンサ)の方が安全でよいんじゃないでしょうか? >>397 なぜにMITUBISHI? MITUBISHIのPLCって、シリアルモジュールで 連続でMAX点数まで読み込み要求すると、ぶち切りで全点返さないことがありません? つまり、500点要求したのに200点しか返さない もちろんパケットは正常に正規のパケット形式で。
404 名前:デフォルトの名無しさん mailto:sage [04/09/01 07:59] >>396 制御はできるだろうけど、装置の分野によるんじゃないのかなあ。 PLCでR2Rとかできるのかなぁ。(よくわからん)
405 名前:360 mailto:sage [04/09/01 08:18] >>396 製造装置の一部ですが、 上位との通信にPCを、本体はPLCでやってますけど。
406 名前:360 mailto:sage [04/09/01 08:20] SECSをセクスと読んで怒られます(w
407 名前:デフォルトの名無しさん mailto:sage [04/09/01 08:33] >>401 割り込みと、メインで別の領域に読み書きしている限り割り込み禁止する必要は無い というのは判るよね? 割り込みで次々にデータが発生する場合、書き込む場所をその都度変えて メインで読む場所とかちあわないようにしようというテクニックの話をしているわけ
408 名前:デフォルトの名無しさん [04/09/01 22:15] シーケンサー扱っている皆様へ 三菱派 or オムロン派 タッチパネルは 三菱派 or オムロン派 私はオムロンかな・・・ 特にタッチパネルのNSシリーズはいろいろ出来て好きです。 (というか、GOTはあまり使ったこと無い)
409 名前:360 mailto:sage [04/09/01 22:26] >>408 ラダーは書きませんが、コミュニケーションユニットでPCとの通信はよくやります。 MITUBISHIは、>>403 みたいなことがあるし、フレームの形式などをみると オムロンの方がだんぜんシンプルで好きです。
410 名前:デフォルトの名無しさん [04/09/02 00:04] 組み込み系は解るんですが、制御系はどんなお仕事なんでしょうか? マジレス希望。です
411 名前:デフォルトの名無しさん [04/09/02 00:05] >>410 このスレを読んでください。
412 名前:デフォルトの名無しさん mailto:sage [04/09/02 14:14] >>410 PCプログラマの漏れの想像では、 ・ボタンAが押されて、センサBがOFFなら、モータMを回すスイッチMをONにする。 ・センサCがONになったら、モータMを逆転させるスイッチRをオンにする。 ・センサDがONになったら、スイッチM、スイッチRをOFFにする。 ・センサCがONになったら、アームを動かすモータのスイッチHをONにする。 とかこういうのを数百くらい定義して、機械を動かす仕事なんじゃないだろうか・・・
413 名前:デフォルトの名無しさん mailto:sage [04/09/02 14:27] >>412 想像で言わないように。邪魔なだけです。
414 名前:デフォルトの名無しさん [04/09/02 17:06] 413=410
415 名前:デフォルトの名無しさん mailto:sage [04/09/02 22:12] >>412 そのようなことはPLCにまかせるのが常識。 PLCとの通信も今やほとんどOPCを使う。 設定値を書いたりデータ収集もSCADAがやるので たまに上位通信のコードを書くくらいか。
416 名前:デフォルトの名無しさん mailto:sage [04/09/02 23:30] なるほど。 PLCのプログラム(ラダーとか)を組む=制御系、かと思ってました。
417 名前:デフォルトの名無しさん mailto:sage [04/09/02 23:34] そんな事だけの仕事なんてねえよ…ナメとんのか
418 名前:410 [04/09/02 23:37] >>411 レスどうもです。はい、読んでみます。 >>412 レスdクスです。私も似た感じの想像をもってますよ。
419 名前:デフォルトの名無しさん [04/09/03 00:25] ヤフオクのパソコンでテレビ・ラジオが見放題の方法わかる人いる? 気になってるのだが。
420 名前:デフォルトの名無しさん mailto:sage [04/09/03 01:54] >>419 そんなもん、制御系やってる人間なら常識だろ
421 名前:デフォルトの名無しさん mailto:sage [04/09/03 04:53] >>410 機械制御に纏わる諸々を含めて制御系と言う。 例えばカーエレクトロニクスで言えばエンジン制御もカーナビも制御系と言えば制御系。 #対義語は業務系。
422 名前:デフォルトの名無しさん mailto:sage [04/09/03 11:20] >>419 が何を言っているのかわかる人いる? スレ違いな気がするのだが。
423 名前:360 mailto:sage [04/09/03 11:24] >>422 みんなわかってますよ。
424 名前:410 [04/09/03 21:39] >>421 レス、どもです。わかりやすい説明、ありがとうございました。 過去スレも読んでみました。 理系色が強い分野という印象受けました、です。
425 名前:デフォルトの名無しさん mailto:sage [04/09/04 01:27] >>421 住人には機械屋さんが多いみたいだけど スレの歴史的には組み込み全般も含めて 広義の制御系じゃないか? ちなみに俺は通信機屋、見た目だけなら全く動かない(w
426 名前:デフォルトの名無しさん mailto:sage [04/09/04 01:30] 制御系もハードよりとソフトよりがある。 ハード系の仕事にソフトしか知らない自称「制御系」が入ってくると悲惨。 ナニコイツ.....(;´Д`)????って感じ。
427 名前:デフォルトの名無しさん mailto:sage [04/09/04 01:38] FAの世界では制御するのはあたりまえなのであまり制御系とか言わない。
428 名前:デフォルトの名無しさん mailto:sage [04/09/04 12:40] 昔ROMに焼いてプログラム動かすのが組み込み系と思ってた
429 名前:デフォルトの名無しさん [04/09/04 13:26] >>428 今もほぼその解釈で合っている
430 名前:デフォルトの名無しさん [04/09/04 14:01] >>429 おいおい
431 名前:デフォルトの名無しさん mailto:sage [04/09/04 14:04] >>426 いま組み込みLinuxがうるさくいわれてるのはそんな人が多くなったからでしょ?
432 名前:デフォルトの名無しさん mailto:sage [04/09/04 17:00] Linuxベースにすれば莫大な数のソフトを流用しやすくなるしね。 PCアプリ系の方が強いコーデックとかの数学関係のミドルウエアは魅力。
433 名前:デフォルトの名無しさん mailto:sage [04/09/04 22:25] CPUのFLASHに直焼
434 名前:デフォルトの名無しさん mailto:sage [04/09/05 00:03] >>433 デバイス変わっただけだろ
435 名前:デフォルトの名無しさん [04/09/07 04:14] >>433 >>434 禿ワロタ
436 名前:デフォルトの名無しさん mailto:sage [04/09/07 19:18] >>426 >ソフトしか知らない自称「制御系」 ああ、これは困るんだよ 将来食えないんだよ どうしよう
437 名前:デフォルトの名無しさん mailto:sage [04/09/07 20:09] ソフトで食べれなきゃハードで食べればいいじゃないの (マリー)
438 名前:360 mailto:sage [04/09/07 21:20] >>426 ソフトの都合を考えてくれないハード屋さんも困りもの そりゃ論外か(w
439 名前:デフォルトの名無しさん mailto:sage [04/09/08 17:23] ソフトもハードも逝ける両刀使いなのが制御系の利点なんじゃないか ウッフーン
440 名前:デフォルトの名無しさん mailto:sage [04/09/08 19:35] PLCのメンテ関係も便利になってきたよね。 ROMライター使わなくてもコンパクトフラッシュでプログラム保持したり USBケーブルでメンテ出来たり・・・
441 名前:デフォルトの名無しさん [04/09/11 00:59:15] 保守
442 名前:デフォルトの名無しさん [04/09/13 01:12:18] ドライバやファームウェアは制御系で合ってる?
443 名前:360 mailto:sage [04/09/13 01:44:22] >>442 組み込みってことですよね。 対するは業務系なので制御系のつもりでいます。 で、なにか話題がありますか?
444 名前:デフォルトの名無しさん mailto:sage [04/09/13 01:48:15] ttp://www.cqpub.co.jp/interface/ 自分としては↑こーゆーのとか(ソフト含む)をまとめて制御系という認識だなあ
445 名前:デフォルトの名無しさん [04/09/13 01:50:50] www.cqpub.co.jp/interface/
446 名前:デフォルトの名無しさん [04/09/13 02:26:54] あるデバイスのインターフェイス関数をまとめるとき、 引数と戻り値を構造体へのポインタで受け渡しするのはいいとして、 呼び出される側の関数が内部で保持する変数群を、 呼び出す側から指定するのは、どうやったらすっきりまとめられる?
447 名前:デフォルトの名無しさん [04/09/13 03:25:50] >>446 > 呼び出される側の関数が内部で保持する変数群を、 > 呼び出す側から指定するのは、どうやったらすっきりまとめられる? ここがいまいち不明なので詳しく
448 名前:デフォルトの名無しさん mailto:sage [04/09/13 04:46:12] >>446 グローバル変数
449 名前:デフォルトの名無しさん [04/09/13 07:03:50] >>447 失礼 要するに、同じ関数を何度も呼び出して、それぞれに状態を保持させる場合という意味 その状態は、外部には関係ない変数というとき、どうしたらよいのか
450 名前:デフォルトの名無しさん [04/09/13 07:22:37] 複数のオブジェクトということかな?
451 名前:デフォルトの名無しさん mailto:sage [04/09/13 09:06:55] お前らXMODEMとか好きか?
452 名前:デフォルトの名無しさん [04/09/13 12:42:29] >>449 そんなあなたにオブジェクト指向
453 名前:デフォルトの名無しさん mailto:sage [04/09/13 12:45:59] >>451 俺はお前が好きだ
454 名前:360 mailto:sage [04/09/13 13:12:13] >>449 普通に戻り値で状態値を返して呼び出し側で管理する じゃダメなんですか? やたらなんでも隠すよりも、 関数1つ1つをなるべく汎用的なパーツにして 使うほうがいろいろ理するほうが、後で見てわかりやすいとおもうけど そういうこととはちがう? それともポリモリたいってこと?
455 名前:360 mailto:sage [04/09/13 13:29:13] ↑ ×いろいろ理するほうが ○いろいろするほうが
456 名前:デフォルトの名無しさん mailto:sage [04/09/13 14:02:45] C の fopen だって、いってみれば FILE クラスの インスタンスへのポインタを戻す関数だ。 だから、内部バッファに何バイトデータが入ってるとか そういう細かいことを気にせず使えるわけで。
457 名前:デフォルトの名無しさん [04/09/13 18:59:12] >>454 そうですね。 やたらとこれは公開する、これは隠ぺいするとこだわると、 かえって複雑になるだけのような気がします。 この場合は、無理にstatic属性にするよりも、 インターフェイス用の構造体に含めてしまった方が自然に思えます。 どのみち、Cでは完全なオブジェクト指向はできないですし。
458 名前:デフォルトの名無しさん mailto:sage [04/09/13 19:00:24] 未だにC++も使えないのかこの業界は(w
459 名前:デフォルトの名無しさん mailto:sage [04/09/13 19:01:38] >>458 あなたは制御系やったことあるの?
460 名前:デフォルトの名無しさん [04/09/13 19:03:09] USBのメモリスティックの接続を切るAPIってありますか? 調べたけど全然見付からない。。。 OTL
461 名前:460 mailto:sage [04/09/13 19:32:35] OSはITRONです
462 名前:デフォルトの名無しさん mailto:sage [04/09/13 20:17:39] また512k発言出ないかなー
463 名前:デフォルトの名無しさん [04/09/13 20:48:36] >>458 mallocも使ったことないけど何か?
464 名前:デフォルトの名無しさん mailto:sage [04/09/13 21:51:52] 組み込み業界じゃC++は普及率国内15%ぐらい、英・米で40%ぐらいだったと思う。 その内組み込みの世界でも流行するのかね? C++にするメリットがイマイチよくわからん。 クラスなんて概念だけにとどめておけばよいものを、言語仕様にするから 下手に設計→プロジェクト頓挫、なんてことになるのでは?可読性もいいとは思えん。 ま、おっさんで現役引退してるからな・・・・
465 名前:360 mailto:sage [04/09/13 21:54:24] >>464 確かに一部の機能は欲しくはなりますね。
466 名前:デフォルトの名無しさん [04/09/13 21:58:43] 動的インスタンス生成なんて、メモリの使用状況が読めないので、こわくて使えない。 だいたい必要なインスタンスの数は静的に決まってしまうので、配列で充分なことが多い。 オブジェクト指向は興味あっても、使い道がない。
467 名前:デフォルトの名無しさん mailto:sage [04/09/13 22:26:57] そのうちメモリ1GB積んだ炊飯器とか出るんだよ。 そのときC++が役に立つ。
468 名前:デフォルトの名無しさん mailto:sage [04/09/13 23:05:39] >>466 > だいたい必要なインスタンスの数は静的に決まってしまうので、配列で充分なことが多い。 だね ヒープが虫食いだらけになって、ガベージコレクションが始まったら・・・((;゚Д゚)ガクガクブルブル
469 名前:デフォルトの名無しさん mailto:sage [04/09/13 23:07:13] >>467 そのころのPCではどんなプログラミング形態になっているんだろうね〜
470 名前:デフォルトの名無しさん mailto:sage [04/09/13 23:09:12] >>469 そのころはWinCEで制御なので(ry
471 名前:デフォルトの名無しさん mailto:sage [04/09/13 23:39:29] 蓋を明けたら真っ青なお米が炊き上がってるんだな
472 名前:デフォルトの名無しさん mailto:sage [04/09/13 23:42:36] 炊いてる途中なのに凍るんじゃない?
473 名前:デフォルトの名無しさん [04/09/13 23:57:49] >>468 ガベージコレクション? ヒープマネージャすらいないですよ どうせグローバル変数ばかりですよ 悩まなくていいから気楽ですよ
474 名前:デフォルトの名無しさん [04/09/14 00:31:51] >>460 ミドルウェアとして販売されているんじゃないの? フリーで手に入れたいとか?
475 名前:デフォルトの名無しさん mailto:sage [04/09/14 00:32:45] >>464 ポリモーフィズムとかテンプレートとかいいと思うけど。 >>466 placement newがあるよ。
476 名前:デフォルトの名無しさん mailto:sage [04/09/14 00:39:13] 前にMSP430C413上で組んだときRAM足りなくなって困ったことがあったなぁ >>462 512K発言も去年のいまごろだっけ
477 名前:ビル・ジョブス [04/09/14 04:36:06] >457 遅レスで申し訳ないが、公開と隠蔽は設計時に考慮しておけば問題にならない、 というか、そこにコストを費やすのがプロでしょ? >476 TX49(32BITモード動作)でSDRAM256MBもあって困ってるよ。 どんな蛸が書いてもキビキビ動作しちゃうからバグの巣窟になりそうで。
478 名前:デフォルトの名無しさん [04/09/14 05:21:35] 256MBしかないの。
479 名前:デフォルトの名無しさん mailto:sage [04/09/14 05:30:48] >>477 C++でなくて、Cで公開、隠蔽にこだわるのも限度があると思うが。
480 名前:デフォルトの名無しさん mailto:sage [04/09/14 08:53:39] メモリも安くなったよな
481 名前:デフォルトの名無しさん mailto:sage [04/09/14 18:38:36] C++にこだわる理由もないし、Cで書かなきゃいけないわけでもないので 開発者の好きなようにさせればいいと思う。っていう事で桶ですか?
482 名前:デフォルトの名無しさん mailto:sage [04/09/14 18:50:11] >>481 それは普通に駄目だろ
483 名前:デフォルトの名無しさん mailto:sage [04/09/14 18:54:56] >>481 ハードウェアのコストとソフトウェアのコストとサポートのコストの合計 を抑えられるならね。
484 名前:デフォルトの名無しさん mailto:sage [04/09/14 19:03:34] >>482 意見を述べよ
485 名前:デフォルトの名無しさん mailto:sage [04/09/14 19:10:33] 言語の指定は開発者じゃないよなぁ まあ趣味でやってる開発者ならそうなのかもしれないか
486 名前:360 mailto:sage [04/09/14 19:57:38] >>485 自社製品ならいいんじゃないでしょうか
487 名前:デフォルトの名無しさん [04/09/14 20:22:28] 474>> 自分で実装しないといけないんですよ。 OSはWindowsなのにWindowsを見せないとかいう訳のわからんコンセプトなので。 だったらメモリスティック使うなと(ry
488 名前:デフォルトの名無しさん mailto:sage [04/09/14 20:31:06] >>487 OS は ITRON じゃなかったの?
489 名前:デフォルトの名無しさん mailto:sage [04/09/14 20:53:19] はい。TRON上のWindowsCEです。
490 名前:デフォルトの名無しさん mailto:sage [04/09/14 21:00:48] >>481 今の仕事の環境では、Cかアセンブラしか選択肢がありませんが何か?
491 名前:デフォルトの名無しさん mailto:sage [04/09/14 21:06:17] >>487 DeviceIoControl() IOCTL_STORAGE_EJECT_MEDIA そんな実機無いから試してないので動くかどうかわからんがな
492 名前:デフォルトの名無しさん mailto:sage [04/09/14 23:39:55] >>490 そこまでしてTRON使うほど時間に厳しいのか?
493 名前:デフォルトの名無しさん mailto:sage [04/09/15 09:41:16] 今度の案件はメモリ16KBですが何か?
494 名前:デフォルトの名無しさん mailto:sage [04/09/15 09:59:15] >>488 OSはWindowsです。 461は偽者です。 >>489 俺を騙るなヽ(`д´)ノ >>491 ありがとうございます。 試してみます。
495 名前:デフォルトの名無しさん mailto:sage [04/09/15 10:56:38] >>493 おめでとう。 俺は今まで6KBだったよ
496 名前:476 mailto:sage [04/09/15 12:18:06] 8KB ROM, 256B RAM こいつはPICマイコンかと思た<MSP430 スタートアップ以外全部Cで書いた、よく収まった、自分を誉めてあげたい
497 名前:デフォルトの名無しさん mailto:sage [04/09/15 21:17:52] コンパイラ作者もほめてあげてw
498 名前:デフォルトの名無しさん mailto:sage [04/09/15 22:01:41] スタートアップもCの文法範囲内でむりやり書いたことがあるよ。 興味本位でやってみたけどつまらなかった。
499 名前:デフォルトの名無しさん mailto:sage [04/09/15 23:15:15] 興味本位でするなよ・・・・
500 名前:デフォルトの名無しさん [04/09/15 23:18:02] 256のRAMでCって、チャレンジするだけですごい どんなアプリを走らすの? 俺なら、チャレンジする前に、そんなのできるか!って言いそう
501 名前:デフォルトの名無しさん mailto:sage [04/09/15 23:23:47] >>468 ガベージコレクション?MMUで対応できますよ。例えば・・・・・ 焼肉屋で、カルビセット頼んだ。 ↓ 「ナルム」が付いてきた。単体ではまず頼まない品です。だって、いらないもん でも食べました。だって価格に含まれてるもん。 ↓ 会社で次機種ではARM946EJ-Sを採用しますって言われた。 MMUが搭載されています。 ↓ ざわざわ・・・ナルムか・・・ざわざわ・・・・・・ナルムだろ・・・・
502 名前:デフォルトの名無しさん mailto:sage [04/09/15 23:24:40] あ・・・926EJ-Sだ・・・orz
503 名前:デフォルトの名無しさん mailto:sage [04/09/15 23:26:48] ナルム 183件 www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=shift_jis&q=%83i%83%8b%83%80 ナムル 28500件 www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=shift_jis&q=%83i%83%80%83%8b
504 名前:デフォルトの名無しさん [04/09/16 02:15:16] >>498 ヲタクw
505 名前:476 mailto:sage [04/09/16 04:20:40] >500 ある懸賞の賞品、11000作って10000は撒いたらしい >497 IARは偉かった
506 名前:デフォルトの名無しさん mailto:sage [04/09/16 10:14:12] >>504 なんだと
507 名前:デフォルトの名無しさん [04/09/16 18:13:34] 興味でプログラム書いている奴はヲタクでしょ?
508 名前:デフォルトの名無しさん [04/09/17 07:46:14] おまえら C++でもCでも、どっちを使ってもいい環境のとき どっちを使う?
509 名前:デフォルトの名無しさん mailto:sage [04/09/17 07:50:24] >>508 まずは設計図を見る。
510 名前:デフォルトの名無しさん mailto:sage [04/09/17 08:00:39] そして開発陣の力量と、 仕様書と開発言語のマニュアルとetc…
511 名前:デフォルトの名無しさん mailto:sage [04/09/17 08:49:24] >>508 C++選んどいて、C中心
512 名前:デフォルトの名無しさん [04/09/17 09:27:02] でも、実際C++をC++らしく有意義に使いこなせる香具師って めったにいない。 叩かれているが、エピスくらい使える香具師はめずらしい
513 名前:デフォルトの名無しさん mailto:sage [04/09/17 10:21:50] 使えるならC++使う。 だがうちに来るファーム関係の仕事ではC++が使えるような規模のはまず無い。
514 名前:C++ ∋ C mailto:sage [04/09/17 11:27:36] >>508 その環境で C を選ぶ理由がない。
515 名前:デフォルトの名無しさん [04/09/17 12:37:40] C++だと、そんなにメモリを食うのですか?
516 名前:デフォルトの名無しさん mailto:sage [04/09/17 12:49:22] マジレスしておくと、言語使用的には特にメモリの必要量が増えるわけではない。 寧ろ、効率よいコードを書くことによって減る可能性もある。 問題は、C++だからと安易にSTLを使って肥大化させてしまったり、 ターゲット機上ではコンパイラが動かなかったりすることかな。
517 名前:デフォルトの名無しさん mailto:sage [04/09/17 14:09:52] STLだって実装によってはコンパクトなのもあんじゃないの? 確かにSTLPortとかはでかいけど。
518 名前:デフォルトの名無しさん mailto:sage [04/09/17 14:43:01] リアルタイムしかやらない俺にはC++なんて無関係
519 名前:デフォルトの名無しさん mailto:sage [04/09/17 22:10:48] >>517 安易じゃなきゃいいの。
520 名前:デフォルトの名無しさん [04/09/17 22:51:37] Cでオブジェクト指向っぽく書く方法ってないの?
521 名前:デフォルトの名無しさん mailto:sage [04/09/17 23:03:06] あるけどそんな事する位ならC++を使った方がいい
522 名前:デフォルトの名無しさん mailto:sage [04/09/17 23:03:09] >>520 www.sage-p.com/process/cool.htm
523 名前:デフォルトの名無しさん [04/09/17 23:41:47] >>522 そう言うの期待してたよ thx!
524 名前:デフォルトの名無しさん [04/09/17 23:52:36] >>520 特集 オブジェクト指向の実装技法入門 多態や隠蔽の実装を解説 オブジェクトやクラスをC言語で表現する www.cqpub.co.jp/interface/contents/2002/200205.htm
525 名前:デフォルトの名無しさん mailto:sage [04/09/17 23:53:41] >>522 趣味の世界だな。仕事でやられたら・・・・ 読みにくいんじゃ━━ヽ(`Д´)ノ━━ ゴルア!! パーン _, ,_ パーン パーン_, ,_ ( ・д・) _, ,_パーン ( ・д・) U☆ミ (・д・ ) ⊂彡☆))Д´(☆ミ⊃ パーン , ,∩彡☆ ☆ミ∩, , ( ) パーン ( ) パーン パーン
526 名前:デフォルトの名無しさん mailto:sage [04/09/18 00:02:59] >>525 私はやってるよ。 C++よりは早いからね。
527 名前:デフォルトの名無しさん mailto:sage [04/09/18 00:05:35] 初期のC++は、Cソースへ変換してからコンパイルしていたという話もあるな
528 名前:デフォルトの名無しさん mailto:sage [04/09/18 00:08:36] >>526 のソース、なんとなく見たくない。
529 名前:デフォルトの名無しさん mailto:sage [04/09/18 11:43:29] >>522 のリンク先、近い事はウチもやってるなあ。 Solaris や HP-UX の仕事で。 いや C++ コンパイラが買えないからしょうがなく。 >>525 一度、Xt Intrinsics でカスタム Widget を作る事をオススメする。
530 名前:360 mailto:sage [04/09/18 16:25:26] C++や、なんちゃってC++は、出来る人のコードならいいんでしょうけど プロジェクトにやっとこさついて来てる程度の人だと 後で見て、とても追えないものになっていそうで怖いですね クライアントもまだついて来れませんし、ひとりよがりって見られそうです うちでは、まだフルに使える状況じゃないですね
531 名前:デフォルトの名無しさん mailto:sage [04/09/18 16:36:04] C++を使うなら使うで、部門内での意思統一は必要ですね。 なんちゃってC++の時点でコンセンサスが得られていないかと・・・
532 名前:デフォルトの名無しさん mailto:sage [04/09/18 16:38:01] 本来なら楽な意思統一のためにフレームワーク使うんだけど 組み込みじゃ無理だろうな…
533 名前:デフォルトの名無しさん [04/09/19 01:14:04] インスタンスの動的生成という時点で、使ってみる気が失せる。 アメリカではC++の方がCよりも使われてるようだが、 どうやって使いこなしているのだろうか?
534 名前:デフォルトの名無しさん mailto:sage [04/09/19 02:13:55] >>533 C++は動的生成が必須なわけではありません。
535 名前:デフォルトの名無しさん mailto:sage [04/09/19 02:18:54] std::stringとかコンテナは動的生成してない実装を見た事がありません
536 名前:デフォルトの名無しさん mailto:sage [04/09/19 02:20:12] >>533 それはもちろんアメリカ人が優等人種だからですよ
537 名前:デフォルトの名無しさん mailto:sage [04/09/19 02:22:45] ユダヤ人ね
538 名前:デフォルトの名無しさん mailto:sage [04/09/19 05:22:17] そりゃま、全部静的にできるけどさ、 それってC++である意味がほとんど無い。 better C的なものでしかないね。 ま、俺も組み込み系でC++を使えたときにはほとんどそうなっちゃうんだけど。 Winアプリとか作るときにはそんなことはしないが。
539 名前:デフォルトの名無しさん mailto:sage [04/09/19 09:42:39] >>538 無くネーヨ 継承しなければクラスも普通に書けるんだし。
540 名前:デフォルトの名無しさん [04/09/19 10:24:18] 静的生成だと、グローバル変数でもいいじゃんって希ガス
541 名前:デフォルトの名無しさん [04/09/19 10:27:40] >>540 が何言いたいのか分らないのは俺のレベルが低いせいだろうか..?
542 名前:デフォルトの名無しさん [04/09/19 10:39:12] >>541 間違いなく
543 名前:デフォルトの名無しさん [04/09/19 11:32:25] >>540 飛躍し過ぎ 動的生成→malloc 静的生成→配列 で、配列のオフセットくらい渡せるだろ
544 名前:デフォルトの名無しさん mailto:sage [04/09/19 11:54:59] つーかうまくpoolするようにアロケータ書けば動的生成も問題無いと思うんだけど。 やっぱ制御系は頭腐ってるオッサンばっかなの?
545 名前:デフォルトの名無しさん mailto:sage [04/09/19 12:00:08] >>544 リアル厨房ですがなにか
546 名前:デフォルトの名無しさん mailto:sage [04/09/19 12:00:56] まぁ確かにポインタ変数に整数値を持たせる戯けはいるし 1024*20*32768なんて3次元配列静的に確保する阿呆はいるし グローバル変数があればメンバ変数なんて要らないなんて頓珍漢もいるがな。
547 名前:デフォルトの名無しさん mailto:sage [04/09/19 21:21:50] ioctlの引数はマジで柔軟すぎ あるときはポインタ、あるときは整数、またあるときは
548 名前:デフォルトの名無しさん mailto:sage [04/09/19 22:11:40] Interface誌でもC++やってんのにまだ否定的なひと多いのな。
549 名前:デフォルトの名無しさん [04/09/19 22:19:54] 過去レスにもあったけど、炊飯器が1Gのメモリでも積むようになれば、 C++を考えてやってもいい
550 名前:デフォルトの名無しさん mailto:sage [04/09/19 22:23:18] 否定的っていうか、C++使うほどでもない物にC++使わないし、 使いたいなら使うし。
551 名前:デフォルトの名無しさん mailto:sage [04/09/19 23:12:25] 静的メンバだけで閉じる規模のシステムだと、 動的生成なんか実装するだけ無駄だろ。 制御とか組み込みとかになると、全部が全部そんな贅沢な環境じゃないってこと。
552 名前:デフォルトの名無しさん mailto:sage [04/09/20 00:00:07] >>549 >>550 >>551 どのくらいからがC++が選択肢に入るの?
553 名前:デフォルトの名無しさん mailto:sage [04/09/20 00:07:59] つーか怖がりすぎ。 BetterCだとしても使えるものは使うのが技術者ではないのかね。
554 名前:デフォルトの名無しさん mailto:sage [04/09/20 00:15:03] コンパイラが用意されれば少なくともbetter Cとして使うよ。 バッファ以外に数十kbyteくらいメモリがあって、 クラスを使うメリットがあるなら普通に使うし。 単に環境に合わせているだけだよ。
555 名前:デフォルトの名無しさん mailto:sage [04/09/20 13:44:36] C++使える開発環境なんだが、既存ソース至上主義の職場だから 手を入れられねぇ それ以前にまずは、構造化をちゃんとやれと・・・・
556 名前:デフォルトの名無しさん mailto:sage [04/09/20 13:47:14] つーか16KBもあれば十分C++で動くだろ。 iostream使うとか余程アフォな事しない限りは。
557 名前:デフォルトの名無しさん mailto:sage [04/09/20 15:12:24] OSもライブラリも無い状況では、まずメモリ管理を実装するのが面倒なんだよね。 だからメモリがある程度あっても静的変数ばっかりのほうが楽で速い事が多い。 そもそも入出力からファイルシステムからみんな自分で作らないといけないなんてざら。 入力がボタンだったり出力が新規開発のデバイスだったりとかね。よくあるよ。
558 名前:デフォルトの名無しさん mailto:sage [04/09/20 17:14:27] C++でもnew封印すりゃ組み込み便利だぜ
559 名前:デフォルトの名無しさん mailto:sage [04/09/20 17:53:13] >558 それいいけど代替品作るの面倒だよな。 C++が恐いのは動的生成によるメモリ分断化なんだけど、防ぐ方法ないよな? MMU使ったOSとか、そういう豪勢な環境ならまだしも
560 名前:デフォルトの名無しさん [04/09/20 19:43:54] ガベコレってOSがやってくれるの?
561 名前:デフォルトの名無しさん mailto:sage [04/09/20 20:29:48] 少なくとも低レベルメモリ管理はOSのお仕事の範疇でしょう。
562 名前:デフォルトの名無しさん [04/09/20 20:49:49] >>560 OSがやらなければ、誰がやるんだ? 少なくとも俺はやだ
563 名前:デフォルトの名無しさん mailto:sage [04/09/20 21:46:32] >>559 覚悟を決めてallocator<T>をつくるしかない。 もしくはboost::poolとか使えるかも。
564 名前:デフォルトの名無しさん mailto:sage [04/09/20 23:57:28] >>562 キミはいったい誰なんだ? OSではないとすると、アプリなのかw
565 名前:デフォルトの名無しさん mailto:sage [04/09/21 00:03:31] >>564 きっとドライバだよ
566 名前:デフォルトの名無しさん mailto:sage [04/09/21 00:13:27] 動的生成を封じられたC++の存在価値って何?
567 名前:デフォルトの名無しさん [04/09/21 00:15:27] リアルタイム制御で、C++をはじめとしたオブジェクト指向が使われないのは やはりメモリマネジメントの問題と考えてよいのでしょうか?
568 名前:デフォルトの名無しさん mailto:sage [04/09/21 00:16:46] >>566 カプセル化(制御系に多いバカ封じ) そもそもバカはC++を使えないと言う話もあるが
569 名前: ◆FIcNi4f8js mailto:sage [04/09/21 03:43:54] >>567 メモリマネジメントの問題というより、そもそもC++ってメモリ使いまくるし 遅いから・・・
570 名前:デフォルトの名無しさん mailto:sage [04/09/21 05:21:15] >>569 ネタ? どっちかと言うとこっちのスレ向けなんだが。 pc5.2ch.net/test/read.cgi/tech/1090324689/
571 名前:デフォルトの名無しさん [04/09/21 07:39:08] ヒープ使いすぎ
572 名前:デフォルトの名無しさん mailto:sage [04/09/21 10:04:13] >>567 最適化の問題が絡んでるって事は? 組込みだとコンパイル前後でのコードの実行順序が代わるのを 嫌って最適化を弱くする事が多い(volatileをきちんと使えば よいだけな気がするけど)。その結果、本来ならinline展開 されるようなコードでも、展開されず遅くなるとか。 >>571 >ヒープ使いすぎ 別にC++は"stringやらlistをメモリオーバーヘッド無しで 利用できますよ"なんて規格でうたっているわけではない。 組込み向けなヒープにやさしいライブラリを作ればいいだけでは?
573 名前:デフォルトの名無しさん mailto:sage [04/09/21 10:14:03] 組み込みだとそもそもヒープ自体存在しない環境も多いのでは?
574 名前:デフォルトの名無しさん mailto:sage [04/09/21 10:18:49] Cでいいじゃん。
575 名前:デフォルトの名無しさん mailto:sage [04/09/21 10:45:23] >>573 ヒープが使えなくてもコンテナライブラリは作れると思うけど。 まあ、そういう規模の小さなものまで何が何でもC++でとは言わんけど。 ただ、余りに本質とかけ離れた言い訳でCでいいじゃんとか言ってるのは ソフト屋としては余りに痛いかと。
576 名前:558 mailto:sage [04/09/21 11:00:06] 単純に文法として便利な面が多いから new封印C++を使ってるが、異端なのか?
577 名前:デフォルトの名無しさん mailto:sage [04/09/21 11:05:34] >>576 classも封印、structの中にメンバ関数書くのも封印 //も封印
578 名前:デフォルトの名無しさん mailto:sage [04/09/21 11:25:10] >>576 templateなんかは本来組み込みにもってこいなんだけどねぇ。 templateのコード展開量を簡単に確認 and 展開量を強制 出来りゃ問題無いんだろうけど。 >>577 だーかーらー、仮想関数じゃないメンバ関数の呼び出しと 普通の関数呼び出しのコストは代わんないって。仮想関数 じゃなくてもカプセル化の観点からすれば十分意味あるし。
579 名前:デフォルトの名無しさん mailto:sage [04/09/21 11:27:18] >>578 組込CPU用コード生成するコンパイラでまともにテンプレートに対応してるのなんて聞いた事無いよ。
580 名前:デフォルトの名無しさん mailto:sage [04/09/21 11:33:46] 他にネタは無いのか!ネタは!
581 名前:デフォルトの名無しさん mailto:sage [04/09/21 20:45:32] enum型で関数オーバーロード、演算子多重定義。 これなら組込みでもオーバーヘッド無しに使えるだろ。
582 名前:デフォルトの名無しさん mailto:sage [04/09/21 21:49:58] Embedded C++は無視ですか? まああれは糞だけど
583 名前:デフォルトの名無しさん mailto:sage [04/09/22 00:11:04] >>566 動的生成なしでも使えるのがC++のいいとこだとおもうけど。 Javaにはできない。 >>567 リソースが少ない環境がおおいから、嫌ってるだけかと。 AdaもOOやってんだから、組み込みnotOOってわけではない。 俺がC++で苦痛なのは例外処理。 組み込みで使ってる人いるんだろうか。
584 名前:デフォルトの名無しさん [04/09/22 06:38:58] >>581 オーバーロードは便利そう。 型の違う引数のとき、いちいち関数を作り替えたり、関数でなくてマクロにしてみたり、 Cだとめんどくさい。
585 名前:360 mailto:sage [04/09/22 13:54:26] 毎回同じ環境ならいいのですが CPUが変わったり、処理系が変わったり 一人だったり、複数でやったりだと 開発者のレベルもまちまちってこともありますし 処理系のためのライブラリをわざわざ作るのも 単にトラブルの元になるだけって感じだし そういうのを意識したくないので C++にはまだ行く気がしないですね ちなみに、パソコンやワークステーションの方は、C++かDelphiです。
586 名前:デフォルトの名無しさん mailto:sage [04/09/22 14:02:38] >>584 581は「enum型で」オーバーロード、演算子多重定義なわけだが。 enum A; enum B; int operator+(A a, B b); とか int f(A a); int f(B b); int f(int d); とか。 enum→整数型が自動変換なので型チェックが甘い。 ただしclassほどのオーバーヘッドがない。 GCCだと要素ひとつのclassのインスタンスもレジスタにうまく載らない が、enumのインスタンスは載る。
587 名前:デフォルトの名無しさん [04/09/24 13:00:27] gccでC++が普通に使えるって、こないだ知ったわ
588 名前:デフォルトの名無しさん mailto:sage [04/09/24 14:54:44] 状態遷移表を使ってる人っている? あとそれをサポートするCASEツールを使っている人とか。
589 名前:360 mailto:sage [04/09/24 15:43:36] >>588 有限状態機械のことですか? 違ってたら逝きます。。。orz
590 名前:デフォルトの名無しさん mailto:sage [04/09/24 15:49:54] >>589 ステートダイアグラムの事じゃない? 有限状態オートマトンって…
591 名前:デフォルトの名無しさん mailto:sage [04/09/24 16:26:13] Oat Mutton
592 名前:360 mailto:sage [04/09/24 16:55:01] >>590 そうです。 状態遷移表って、そのことかなって 有限状態機械は、2次元でやると穴が出来ないから すっ飛びにくくはなりますね 昔、1次元で、猛烈にひどいコードを見た事がありますw
593 名前:デフォルトの名無しさん mailto:sage [04/09/24 22:55:10] >>592 使ってるけど、CASEは使ってない 以前ZIPCはよさげだなと思った
594 名前:デフォルトの名無しさん [04/09/25 00:23:52] >>588 通信系では使います。 マンマシンインタフェィスで、必要になる場合は、 操作性が悪いということだと解釈してます。
595 名前:デフォルトの名無しさん mailto:sage [04/09/25 06:11:02] C++でいいと言う人。Cでいいと言う人。いろいろいると思いますが。 ”住めば都”って言うように、実際その言語でやっていけば 本当にいいと感じるかもしれません。 ただ、Cから強制的にC++に引っ越すには。それをさせる動機があまりにも弱く ある結果(アプリの作成)を出すにはどちらでもいいように感じます。 実際のところ今までやってきたCを捨ててまで、 C++に移行しなきゃならないように追い込まれるほどではなく、 ソフトの作成はCでほとんどできちゃいます。極端な話、これは何十年たってもそうだろうと思う。 #個人的に思うにオブジェクト指向というのも、 #今までの構造化プログラミングに変わるソフトウェア作成の概念というだけであり、 #両方の考え方とやり方は違うが、同じ結果を出せるはずだと思います。 #もっと、深読みすると「ソフトウェア産業の活性化」だけの為にできたようにも個人的に感じる。 あと、思ったのはオブジェクト指向がアルゴリズムの実装方法に関して 学習するのを妨げやしないか、と個人的に思ったりしてます。 というのも、今までにある使い尽くされたモジュールは大抵は実装されて それがどういう処理になっているか知らずに簡単に使用できます。 初心者等が簡単に実装できる半面、それ自体の処理の流れは知らなくてもいいのです。 まぁ、もちろんそんなもの勉強すればいいじゃんと言われればそうですけど、 そういう風になる可能性もあるということが言いたかったのです。 極端なことを言うと、実際の処理を知らずにアプリを作成する、ということも可能なのです。 これは、良いことじゃねーかと言われる方もいますが、自分にとっては何か不安が残るところです。
596 名前:595 mailto:sage [04/09/25 06:19:41] むしろ、先にCを覚えずにC++を覚えた方がスムーズに 学習できるかもしれません。 Cを先行してマスタしてC++に移行した方に質問したいのですが、 C++をスムーズに学習できましたでしょうか?
597 名前:デフォルトの名無しさん mailto:sage [04/09/25 06:34:55] 御託並べるからC++の肝が理解できなくなる。 それはさておき、先ずはK&R時代のCの書き方を捨ててansiで書くようにすべし。 そうすればコンパイラがどちらであっても通るコードになるはず。 #細かい差はあるにせよ。 然る後、拡張部をC++流で書くなり必要なところを置き換えるなりすればよい。 C++だからといってなにも畏まる必要もないし、それはCでも同じこと。 学習の妨げ云々に関してはオブジェクト嗜好のみの問題でなく、 構造化プログラミングでも同じことが言えると思う。 部品のモジュール化、カプセル化、詳細の隠蔽はCのみでもそれなりにわけだし。
598 名前:360 mailto:sage [04/09/25 07:10:26] 以前、Cで書いたあった処理をC++に書き直したとき きちんと構造化してあったおかげで、ほとんど苦労なく書き直せました。 たしかにC++の方が綺麗に作れますが、ヘボが書くととんでもない事になりますね まあ、この辺の話はスレ違いで、組み込みなどのプアな環境でのC++という話だったかと。。
599 名前:デフォルトの名無しさん mailto:sage [04/09/25 08:26:15] あっちのスレで見たんだが、二進数を0b11010010って書けるCの処理系があるんだそうだ、 って今やってみたら、うちの処理系でも出来たわ。今までの苦労はいったい、、、、
600 名前:デフォルトの名無しさん mailto:sage [04/09/25 09:09:49] 苦労?工エエェ(´д`)ェエエ工
601 名前:595 mailto:sage [04/09/25 09:37:06] 何かちょっとしたものを書くとき、 すぐにCで考えてしまうのが割り切れてないのかなぁ、と思う今日このごろ。
602 名前:デフォルトの名無しさん mailto:sage [04/09/25 10:11:26] >>599 あるそうだって。。。。。。
603 名前:デフォルトの名無しさん [04/09/25 10:38:56] >>600 2進で書くのも16進で書くのも大差ない気がするが。 もしかして>>599 は10進で書いてたとかw
604 名前:デフォルトの名無しさん mailto:sage [04/09/25 10:45:23] >>603 パラレルの入出力考えてたり、SPIなんぞで 妙な位置に割り付けられてると偉く面倒なわけで 出来ないわけじゃないが、面倒くさい
605 名前:デフォルトの名無しさん [04/09/25 12:35:24] >>603 実際にハードじか叩きするコード書いたことない人間の発想だな。
606 名前:デフォルトの名無しさん mailto:sage [04/09/25 12:41:20] >>605 >>603 じゃないけれど、 2進数を16進数に一瞬で脳内変換できるくらいでないとダメだと思うよ。 実際、16進数で書いても2進数で書いてもほとんど変わらない。 でも、確かにポートのビットをOn/Offするのには2進表記の方が見た目に 直感的だとは思うけれど。
607 名前:デフォルトの名無しさん [04/09/25 12:43:40] 2進で書くと、何番目がたってるか目で追うのが逆に大変だったりとかない?
608 名前:デフォルトの名無しさん [04/09/25 12:52:18] >>565 なんか単に感傷にしか聞こえないんですが。 じゃあお聞きしますが、仮想化・ブラックボックス化が不安というなら、 あなた自分の書いたコードの動作を固体物理学レベルで(w理解してないと不安に なるんですか? だってそうでしょ? c処理系・機械語・ALUやメモリ・トランジスタ…… 色即是空じゃないが、これ全部仮想化の産物ですよね。
609 名前:608 [04/09/25 12:56:06] X:>>565 ○:>>595
610 名前:デフォルトの名無しさん mailto:sage [04/09/25 13:05:58] >>605 >>606 直叩きするときに面倒だろ 直感的に分かり辛いと間違える馬鹿が必ず出てくる
611 名前:600 mailto:sage [04/09/25 13:48:24] >>実際にハードじか叩きするコード書いたことない人間の発想だな || || × 0x3f284b74 || ◎ 0011111100101000101101110100 || || || || Λ_Λ 605 || \ (゜ー゜*) ハードじか叩きのキホンです。 ||________________ ⊂⊂ | ∧ ∧ ∧ ∧ ∧ ∧ | ̄ ̄ ̄ ̄| ( ∧ ∧ ( ∧ ∧ ( ∧ ∧ | | 〜(_( ∧ ∧ __( ∧ ∧__( ∧ ∧ ̄ ̄ ̄ 〜(_( ∧ ∧_( ∧ ∧_( ∧ ∧ ・・・・・ホントっすか、先生・・・・ 〜(_( ,,)〜(_( ,,)〜(_( ,,) 〜(___ノ 〜(___ノ 〜(___ノ
612 名前:デフォルトの名無しさん mailto:sage [04/09/25 13:53:58] 漏れも16進の方が判りやすいや。>611見てそう思ったよ。 2進で書くならせめて、 0011 1111 0010 1000 1011 0111 0100 って書いてくれ。
613 名前:デフォルトの名無しさん mailto:sage [04/09/25 13:57:05] 00100000とするのと、20とするのとだと、後者の方が間違い難いと思う。 右にある5個の0を数え間違えたりするかもしれない。
614 名前:デフォルトの名無しさん [04/09/25 14:01:15] 605が窮地に追い込まれました
615 名前:デフォルトの名無しさん mailto:sage [04/09/25 14:01:44] 8bitの型までしかない処理系なんだろ。
616 名前:デフォルトの名無しさん mailto:sage [04/09/25 14:03:50] autoconfで作ったconfigure走らせたらこんな感じのが出てくるのか? char -> 1 short -> 1 int -> 1 long -> 1 float -> 1 doble -> 1
617 名前:デフォルトの名無しさん mailto:sage [04/09/25 14:05:29] doble->double
618 名前:デフォルトの名無しさん mailto:sage [04/09/25 14:08:13] 0x7B 0b01111011
619 名前:605 [04/09/25 14:19:40] >>611 ワロタ しかし、そのAAに描かれている発想そのものが、 はからずも600が「ハードを直叩きするコード」を書いたことが無いことを表していますな。 もっともコレ、実際にコード書いたことが無くてもちょっと想像力があれば 理解可能なことだとも思うけど。 >>608 の話ともつながるんだが、(608も私だ)600の中ではメモリ上の「数値」 が仮想化の産物だって意識がないのだろう。 だから<数値>を「あえて」バイナリで表現することが馬鹿げたことに思える。 「あえて」2進数で表現したい時ってのはメモリ空間上にマップされた ペリフェラルのレジスタビットとか、>>606 も書いているポートを操作したいときなんかだね。 こういうものは数字に「写像」してしまうとかえって仮想化の有り難味が消えてしまう。 ロングワード長のビット操作対象のレジスタってのは普通はありえん。 仮にあっても、>>611 のAA見たいにバイナリ32桁をずらずら書くなんてせず、 プリプロセッサつかって1バイトごと書く。 >>612 アセンブラなんかでは、 B1010$0101 みたいに区切り文字を任意に入れられることが多いと思う。
620 名前:デフォルトの名無しさん mailto:sage [04/09/25 14:48:43] gcc3.2だけど、ケンシロウ進数を使えるようにするパッチを書いたよ ポイントは全角ひらがなと全角カタカナに対応したところ
621 名前:デフォルトの名無しさん mailto:sage [04/09/25 14:52:16] ないよりあった方が便利じゃん。そこまで必死に否定するのはなぜ? この手の議論では極端に走りがちだが、適材適所でしょ。 まあ実際には無いから使わないわけだが。処理系の拡張であっても使 わないと思う。でもHDLなら使う。32Bitでも。
622 名前:デフォルトの名無しさん mailto:sage [04/09/25 14:53:18] ケンシロウ進数をHDLにも対応してください。
623 名前:360 mailto:sage [04/09/25 15:10:43] >>612 禿同
624 名前:デフォルトの名無しさん mailto:sage [04/09/25 16:28:55] 8bitより長い数値を二進数で書く気にはなれない。 分かち書きできるんなら16bit位までなら使ってみたいな。 マニュアル見ながらbit位置を直書きするときなんかに便利だと思う。 01ずらずら書いて後で16進に変換するのが面倒。
625 名前:599 mailto:sage [04/09/25 16:36:21] だってさ、マイコンの仕様書には、タイマーのイネーブルとかオーバーフローとかのビット説明が 7 6 5 4 3 2 1 0 TMR0 TMR1 T0OV T1OV T0EN T1EN X X とかかいてあるわけじゃん。だったら例えばTMR1とT1ENをマスクしたい!と思ったときに ボクは10111011 と一度メモに書いてから0xBBって改めてコーディングしていたわけだが、 このスレの皆様は上の様な場合に、『2進より先』に16進の0xBBっていうのが閃くわけですか。そりゃすごいや。
626 名前:599 mailto:sage [04/09/25 16:39:28] あ。失礼 あたあああたああ って書かないとわからない人もいるんでしたっけか? こう書くとまた「ぷっ。ランレングス圧縮ケンシロウ記法を知らないのかっ!」っていうわけわからんヒトが出てくるからツーチャンネルはいやなんdせうよえs。
627 名前:デフォルトの名無しさん mailto:sage [04/09/25 16:45:31] >>625 普通、defineして、~(TMR1|T1EN)とかしないか?
628 名前:599 mailto:sage [04/09/25 17:05:40] >>627 結局TMR1をdefineするのに #define TMR1 0b01000000 って書いたほうがいいか #define TMR1 0x40 って書いたほうがいいか って事になりませんか? 無論、0bの使えない処理系でも #define B0100_0000 0x40 って書くのは、ここ西九条でも大流行中の兆しです。
629 名前:デフォルトの名無しさん mailto:sage [04/09/25 18:27:00] >>628 #define 0b01000000 0x40 って書いちゃったほうがよくない?できるかしらんけど。 #define あたたたたたた 0x40 でもいいけど
630 名前:デフォルトの名無しさん mailto:sage [04/09/25 18:38:58] 俺なんかは #define HOGE 0x20 /* 0010 0000 */ とか書くよ。 回路図の配線と見比べるときとかはこっちのほうがわかりやすい。 配線の関係でビット位置変更とか良くあるから 2進表記があると便利だろうなとよく思う。
631 名前:360 mailto:sage [04/09/25 18:57:36] >>625 ビットフィールド使えばいいじゃん
632 名前:デフォルトの名無しさん mailto:sage [04/09/25 19:24:17] 0b0001001000110100 と書かれるより 0x1234 と書かれた方が 読み間違いが少ないな。 2進数と16進数の脳内変換が瞬時にできれば どちらか一方を書かれても他方を連想できるので どちらか一方だけでもいいんだけど 長い2進数表記は読み書きで数え間違いが起きやすいので 慎重に読み書きしなきゃならなくなってその無駄が嫌。 >>630 > #define HOGE 0x20 /* 0010 0000 */ 0x20 を見た瞬間すぐに 0010 0000 を連想できるはずだから そういうコメントは無駄だし邪魔。 コメントとコードの差違があるとバグが発見されにくいし コメントがデバグの邪魔をするのは昔からよく起きてること。 連想できない人は鍛えるべきであって 過剰な甘やかしでそのチャンスを奪うので良くない。 自動車のブレーキペダルに「ブレーキ」ってラベル貼ってるようなもので そりゃブレーキがどこか知らない人にとっては便利なラベルかもしれないが そもそもそんな説明書きがないと分からない人がブレーキペダルを 操作しようとしてること自体おかしい。 #define ほ ((((((((0 #define あ <<1)+1 #define た <<1) int main(){int i=ほ た あ あ あ た た あ た;/*0x072*/printf("%x\n",i);return 0;}
633 名前:デフォルトの名無しさん mailto:sage [04/09/25 19:28:19] #define ほ ((((((((0L #define あ <<1)+1 #define た <<1) #define ー + #define たーー! /**/ int main() { unsigned long i = ほ ー ほ ー ほ ー ほ あ あ た あ あ あ あ た あ た あ た あ あ た あ あ た あ あ あ あ あ た あ た あ た あ あ あ あ たーー!; /*0xdeadbeaf*/ printf("%lx\n",i); /* 牛はもうすでに死んでいる */ return 0; /* あた! */ }
634 名前:デフォルトの名無しさん mailto:sage [04/09/25 19:42:10] #define げ ((((((((0L #define あ <<1)+1 #define う <<1)+1 #define ー <<1) #define ぼ + #define ぬるぽ /**/ #define もうだめだ! /**/ int main() { unsigned long i = げ ぼ げ ぼ げ ぼ げ う あ ー う あ う あ ー あ ー あ ー あ う ー あ う ー あ う あ う う ー あ ー う ー ぬるぽ う あ う あ もうだめだ!; /*0xdeadbeaf*/ printf("%lx\n",i); /* 牛と一緒に俺も */ return 0; /* ぎゃー! やっぱ16進数の方が分かりやすい! */ }
635 名前:デフォルトの名無しさん [04/09/25 19:49:01] ケンシロウ進数が一番分かりやすいですな
636 名前:デフォルトの名無しさん [04/09/25 22:42:36] >>635 なんだその結論は
637 名前:デフォルトの名無しさん mailto:sage [04/09/25 23:15:39] 結局0bっていうのが通る処理系はマイナーなんですね? GCCは通るみたいですが、あと通るのはナニ?
638 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:12:39] > > #define HOGE 0x20 /* 0010 0000 */ > 0x20 を見た瞬間すぐに 0010 0000 を連想できるはずだから > そういうコメントは無駄だし邪魔。 そういう人がうらやましい。 おれは線を数えながら16進<->2進変換するのは骨が折れる。 > コメントとコードの差違があるとバグが発見されにくいし > コメントがデバグの邪魔をするのは昔からよく起きてること。 だから処理系に2進表現が欲しい
639 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:23:17] >>638 結局は経験数なんだよね… 長い間組込みとか制御とかやっていると、同じようなシーンに遭遇するから 自然と覚えてしまう。。
640 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:23:29] >>638 16パターンくらい覚えろ 今日は 0x7 0111 0xA 1010 この2つ覚えろ。覚えるまで寝るな。
641 名前:360 mailto:sage [04/09/26 01:13:18] >>638 昔は、同じように思ったけど いまは、16進が自然に出てくる 車のナンバー見て、なんの苦もなく2進が浮かぶよ まだ10進−16進はでないけどね
642 名前:デフォルトの名無しさん mailto:sage [04/09/26 01:31:49] >>640 そんなん二十年前に覚えてるってば。 テスターを線に当てながら、 「0はH、1はL、2はL、3はH…」とかやりながらソース見たときぱっとわかるかってこと。
643 名前:デフォルトの名無しさん mailto:sage [04/09/26 01:54:49] そりゃもう頭が退化してるな
644 名前:デフォルトの名無しさん mailto:sage [04/09/26 02:01:01] うん、そうかも。 恥ずかしながら、よくBとDで0の場所間違うし… けど、一度0と1を頭の中で並べないと16進変換できないから面倒なんだよな。
645 名前:デフォルトの名無しさん mailto:sage [04/09/26 02:18:11] >>640 おまえ、全然わかってないな。 タイマーの制御レジスタみたいに、元がビット列で表されているモノは、そのまま2進数で表せるなら、2進数のままの方が自然だという話だ。 それをいかに早く脳内変換できるか、なんて威張っているのは「変換」という言葉を使った時点で負けなんだよ、負け負け。 なぜなら変換する必要がないからだ。16進数に直す必然性なんか全然無い。 それならお前は、1から100までのループをするときに for (int i=1;i<=0x64;i++){ って書くのかよ(ぷげあ) 100回回したかったら for (int i=1;i<=10;i++){ って書くだろうが。 元が2進なら2進。10進なら10進。16進なら16進で書けるなら書けということだ。
646 名前:デフォルトの名無しさん mailto:sage [04/09/26 02:22:24] つっか、2進表記が出来ないアセンブラなんて無いだろ?必要だからあるんだ。 組み込みに使うCで2進表記の出来ないCなんて無いだろ? 必要だからあるんだ。 組み込み言語だったら、BASICだって2進数使える炉
647 名前:360 mailto:sage [04/09/26 02:41:20] >>645 いちお、コードを脳内変換して読みました。
648 名前:デフォルトの名無しさん [04/09/26 03:33:15] >>588 > 状態遷移表を使ってる人っている? > あとそれをサポートするCASEツールを使っている人とか。 状態遷移表で表現できるのって、入力と内部状態の点数がそれほど多くない場合だけでしょ? 何点くらいまでの入力と内部状態を扱ってる?
649 名前:デフォルトの名無しさん [04/09/26 04:02:02] >>648 >状態遷移表を使ってる人 サブルーチンみたいに 理解しやすいレベルまで入力と状態をまとめるのだよ
650 名前:デフォルトの名無しさん [04/09/26 04:24:15] about:blank これがエクスフローラ開くとどうしても最初に立ち上がってしまう これって治せるのかな?
651 名前:デフォルトの名無しさん mailto:sage [04/09/26 05:42:47] こんなとこにまでマルチポストすんじゃねえ!ハゲ
652 名前:デフォルトの名無しさん mailto:sage [04/09/26 10:32:14] >100回回したかったら >for (int i=1;i<=10;i++){ > >って書くだろうが。 あ、出た・・・・・・ ロン
653 名前:デフォルトの名無しさん mailto:sage [04/09/26 11:58:44] >>652 実は100進数の処理系でした。とか。
654 名前:デフォルトの名無しさん mailto:sage [04/09/26 12:00:09] >>650 blazefind にいって、blazefindツールバーをインストロロールすれば解決するよ。
655 名前:デフォルトの名無しさん mailto:sage [04/09/26 13:49:24] >>637 そのgccは改造されている。 gccの拡張仕様で0b対応という動きは昔からあるようだが、 何故かいまだに採用されないらしい。
656 名前:デフォルトの名無しさん mailto:sage [04/09/26 16:12:10] >>655 そか。GCCだったら0bが使えるってわけじゃないんですね。 組み込み用のGCC-H8とかだけなんかな?
657 名前:デフォルトの名無しさん mailto:sage [04/09/26 16:55:27] どうでもいいよ、そんな事。
658 名前:デフォルトの名無しさん mailto:sage [04/09/27 15:44:18] >>656 (OДO)ψ <そのgccは改造済みだったんだよ!
659 名前:デフォルトの名無しさん mailto:sage [04/09/27 22:34:14] gccか・・・展開効率悪くないですか? 純正メーカー製 買ってくらさいよう・・・・ _, ,_ (`Д´ ∩ < ヤダヤダ、gccなんてヤダー! ⊂ ( ヽ∩ つ ジタバタ
660 名前:デフォルトの名無しさん mailto:sage [04/09/28 01:00:49] >>659 高卒の製造課上がりのゴマスリ野郎が技術部長をやっている、うちの会社ではタダより有難いものはございません。アリガタヤアリガタヤ。
661 名前:デフォルトの名無しさん mailto:sage [04/09/28 07:22:37] どうせデバッグはgdbですよ
662 名前:デフォルトの名無しさん mailto:sage [04/09/28 07:41:57] gdbこそ、真のデバッガー。
663 名前:デフォルトの名無しさん mailto:sage [04/09/28 09:37:17] 何故、雑誌「Interface」にはCDROMが付かないのだろうか>49出版社よ。 ソースが載ってた場合、手打で入力ですか。そうですか。
664 名前:デフォルトの名無しさん mailto:sage [04/09/28 09:42:12] >>659 gccの展開効率が悪いって言ってる奴は、 Optionの指定が足りてない。
665 名前:デフォルトの名無しさん mailto:sage [04/09/28 09:43:51] 俺は>>660 が何を言わんとしてるのかよくわからん。
666 名前:デフォルトの名無しさん mailto:sage [04/09/28 09:46:42] >>663 なんでInterfaceのサイトからダウンロードしないの?
667 名前:デフォルトの名無しさん mailto:sage [04/09/28 09:55:43] >>666 あ、サイトですか。 っていうか、いつも全てのソースを載せているんだっけ?
668 名前:デフォルトの名無しさん mailto:sage [04/09/28 11:33:55] 40ページにも及ぶダンプを手入力していた昔を振り返れば たかが数ページのソースなどたやすいものよ
669 名前:デフォルトの名無しさん mailto:sage [04/09/28 12:22:51] >>664 どんなOption指定してますか? これ制御系でgcc使ってるみなさんに聞いてみたいな。
670 名前:デフォルトの名無しさん mailto:sage [04/09/28 15:34:45] 面倒だから-O2で終了 人間が最適化した方が気が楽
671 名前:デフォルトの名無しさん mailto:sage [04/09/28 15:37:09] エレベータがあるのに階段で行った方が気が楽だ、と言っているようなもの。 そしてその人はエレベータのボタンの押しかたが解からないんだって。
672 名前:デフォルトの名無しさん mailto:sage [04/09/28 15:50:13] >>671 何階上がるかにもよると思うけど それよりもたまには歩いて登った方が健康にいいYo
673 名前:デフォルトの名無しさん mailto:sage [04/09/28 19:26:58] >>638 16進が簡単にマスター出来ると思ってるのが間違いだ。 お前は小学校の時何を習った?九九だろ?九九をやり、四則演算を浴びるほどやったはずだ。 だからお前は10進数をすんなり使いこなせてるんだ。 16進を極めたいのならまずFFをやれ。ファイナルファンタジーじゃないぞ。 1 2 3 4 5 6 7 8 9 A B C D E F 1 1 2 3 2 2 4 6 3 3 6 9 4 4 8 C 5 5 A F 6 6 C 12 7 7 E 15 8 8 10 18 9 9 12 1B A A 14 1E B B 16 21 C C 18 24 D D 1A 27 E E 1C 2A F F 1E 2D 4の位からはお前が作れ。そして暗唱しろ。毎日だ。1ヶ月かけてもいい。ゆっくりでいい。 あとは・・・分かるな?
674 名前:デフォルトの名無しさん mailto:sage [04/09/28 19:56:02] >>673 ステキ
675 名前:デフォルトの名無しさん mailto:sage [04/09/28 20:20:43] >>673 >16進を極めたいのならまずFFをやれ。ファイナルファンタジーじゃないぞ。 不覚にもワロテしまった。
676 名前:デフォルトの名無しさん mailto:sage [04/09/28 20:24:14] 私はファイナルファンタジーかと思って突っ込もうかと思ったけれど 先手を打たれた
677 名前:デフォルトの名無しさん mailto:sage [04/09/28 21:00:25] インド人は22X20の九九を覚えているというから FFも余裕なんだろう。
678 名前:デフォルトの名無しさん mailto:sage [04/09/28 21:11:58] いーいーがしーじゅうよん いーえふがでぃーじゅうに
679 名前:デフォルトの名無しさん mailto:sage [04/09/28 21:14:39] >>678 いーいーがしーじゅうろくよん いーえふがでぃーじゅうろくに じゃ?
680 名前:デフォルトの名無しさん mailto:sage [04/09/28 22:24:24] おまえらここをネタスレにするつもりかw
681 名前:デフォルトの名無しさん mailto:sage [04/09/28 22:58:32] FFに慣れたら、次はVV(32進数)がいい。 そして最終的にはxx(60進数、1〜9、A〜Z、a〜x)を目指して欲しい。 60進数のメリットは時計だ。 何と分の単位が必要なくなるんだ。いきなり1時7u秒とかが使える。 これは便利すぎる。
682 名前:デフォルトの名無しさん mailto:sage [04/09/28 23:23:13] ネタにマジレスかっこいいわけですが、例えば、0xceに、1のビットがいくつあるか、また、bit6とbit3がが立ってるか寝てるかを即座に答えられるヤツはエライと思います。 だから二進でかけるならかけたほうがいいです。っていうか、アセンブラだったら書けるんだからCで書けないほうが元々不自然。
683 名前:デフォルトの名無しさん mailto:sage [04/09/28 23:29:31] 論理演算するときは2進表記のほうがらくだな〜おれは
684 名前:デフォルトの名無しさん mailto:sage [04/09/29 00:03:27] >>682 ビット数くらい即答だろ? 0-0 8-1 1-1 9-2 2-1 a-2 3-2 b-3 4-1 c-2 5-2 d-3 6-2 e-3 7-3 f-4 これ覚えるだけじゃん。規則性はあるし、使っていれば嫌でも覚える。
685 名前:デフォルトの名無しさん mailto:sage [04/09/29 00:16:14] いつまでつまらない話題でレスするつもりだ
686 名前:デフォルトの名無しさん mailto:sage [04/09/29 00:19:18] 16進は割と直感で分かるが、8進は悩まんか?
687 名前:デフォルトの名無しさん mailto:sage [04/09/29 00:21:17] 8進数は使用頻度が低い
688 名前:デフォルトの名無しさん mailto:sage [04/09/29 00:35:28] >>687 そりゃ、自分じゃ書かんが LAPBの古いコードをメンテしてるとき テーブルが8進で書かれてて泣きたくなった
689 名前:デフォルトの名無しさん mailto:sage [04/09/29 00:39:15] >>688 エディターにコピペしてちょちょいと書き直すべし
690 名前:デフォルトの名無しさん mailto:sage [04/09/29 00:48:24] 16進数に対する数値的感覚が養われてないからだよ。 7*Eを即答出来る奴いないだろ? それどころか8*7を16進数で"数秒で"即答出来る奴もいないだろ。 まじでFFやっとけ。これ結構便利だぞ。 2*8=10とかの場合は、"にはちいちぜろ"と読むようにすれば、九九とも被らないしな。 2進数変換はまた違う話になるが。
691 名前:デフォルトの名無しさん mailto:sage [04/09/29 01:08:38] > それどころか8*7を16進数で"数秒で"即答出来る奴もいないだろ。 数秒かけて答えられるのか、それとも即答できるのかの違いがありそうだが、 それを数秒で答えられないのはまずい。7を左3シフトするだけだから。 > 7*Eを即答出来る奴いないだろ? これも類似問題。 0x0e*(8-1)だから 0x0e=0b1110を左3シフトして 0b1110000。 そこから0x0e=0x1110を引いて 0b1100010=0x62。 こういう16進数2進数ソロバンが脳内で動いて数秒以内に答えを出すのが普通。 できないならこの業界に向いてない。 > まじでFFやっとけ。これ結構便利だぞ。 これ正解。数秒かけて脳内ソロバン動かすより速くて正確。 DQよりFFの方が勉強になる。
692 名前:デフォルトの名無しさん [04/09/29 01:14:35] いーびーがきゅーえー いーしーがえーはち いーでぃーがびーろく いーてぃーがかむほーむ えふしーがびーよん えふでぃーがしーさん えふいーがでぃーに えふえふがはつばい
693 名前:デフォルトの名無しさん mailto:sage [04/09/29 06:46:12] おまいらちゃんとしごとしろ
694 名前:デフォルトの名無しさん mailto:sage [04/09/29 07:54:09] >>691 意味無いことにアタマ使うな。 意味無いことがスキなら、おまえらCもアセンブラも使わず、機械語(死語)で直接書け。
695 名前:デフォルトの名無しさん mailto:sage [04/09/29 09:36:26] FFはマジで便利だな ケンシロウ進数の次に便利だ
696 名前:デフォルトの名無しさん mailto:sage [04/09/29 23:50:58] >>628 #define TMR1 (1<<6) 俺はこんな調子だなー。 でもワード幅が増えたとき (1<<18) とか (1L<<31) なんて書いて失敗したり。 (1L<<18) (1UL<<31) じゃないとシフトアウトして…
697 名前:デフォルトの名無しさん mailto:sage [04/09/29 23:52:34] >>694 人間は全員が知能指数同じではないので。 算盤の名人なんか数桁の掛算を悩まず即答するし。 694にとって難しいことでも 他の人にとって簡単なことも世の中にはある
698 名前:デフォルトの名無しさん mailto:sage [04/09/30 09:06:21] >>697 そんなに0b記述が必要ない って言い張るのなら、 googleで 0b01 + 0b1101 = が計算できるのを、どう言い訳するんだ?
699 名前:デフォルトの名無しさん mailto:sage [04/09/30 09:10:50] nibbleマクロとかそれを使ったnibble2,nibble4マクロなんかを使っています。
700 名前:デフォルトの名無しさん mailto:sage [04/09/30 12:05:36] 必要ないなんて主張している奴はいなくて、 今までなしでやってきたしなくてもなんとかなるんだから 余計な仕様増やすなと思ってるだけかも。 #つーか私はそうだが。
701 名前:360 mailto:sage [04/09/30 12:33:54] ビットに意味付けが欲しいなら、ビットフィールドでやればいいし そうでなければ、16進で事は足りてる。 ま、あればあったで別にかまわないけど。
702 名前:デフォルトの名無しさん mailto:sage [04/09/30 15:00:08] あった方が便利だから付け加えて欲しい。 その前に、どうしようもないコンパイラをまともにしてくれるほうが先だが>そのへん
703 名前:360 mailto:sage [04/09/30 15:26:31] 実は、コンパイラにさえ、さほど不満がないオレって..........orz 昔の日立のには確かに不具合があったけど。。
704 名前:デフォルトの名無しさん mailto:sage [04/09/30 18:42:44] ご迷惑をおかけします。 でもバグのないコンパイラを作るのは本当に難しい…。 2進サポートくらいなら、そんなにバグはでないと思いますが。
705 名前:デフォルトの名無しさん mailto:sage [04/09/30 21:20:28] 他スレから誘導されたのでこちらで質問させて下さい。 Linuxでシリアル通信を行うプログラムを作成しているのですが、どうしても データの取りこぼしが起こってしまいます。いろいろ調べた結果データ欠損 の対策として ・low_latencyフラグを立てる ・受信トリガレベルを1バイトに設定し1バイト受信毎に割込みを発生させる という方法がある事が分かったのですが、肝心のプログラムへの実装方法が 全く分からず困っています。どのように実装すればいいのでしょうか? ちなみに通信チップは16550Aです。よろしく御願いします。
706 名前:デフォルトの名無しさん mailto:sage [04/10/01 00:12:39] >>704 2進をサポートしたら、0xb0が0になっちまってごめん。テヘ。 ってな記述が苺リナックスに描いてなかったっけ?
707 名前:デフォルトの名無しさん mailto:sage [04/10/01 00:50:43] >>706 当社マイコンボードに付属しているgccの2進数パッチにバグがありました。 gcc-3.4.0+2進パッチが含まれているCDが対象で、以前のgcc-2.95.xは今回の対象ではありません。 gccのバージョンはh8300-hms-gcc -vで確認できます。2進パッチの問題で、0xb0,0xb1を記述すると0になってしまうという単純なミスでした。 申し訳ありませんが、こちらをお使いくださいますようお願いいたします。
708 名前:360 mailto:sage [04/10/01 10:31:43] >0xb0,0xb1を記述すると0になってしまうという これは、さすがに困るが、、、 いままでほとんどコンパイラのバグにあったことがない。 それ以前に自分のプログラムに問題がある(w というか、初めて使った日立のコンパイラがあまりおりこうでなかったので 計算式を1行でやらせないとか、なるべく複雑なことをしないようにしている 最適化もしてないし、速度を要求するところはASMで書くし (それで済むような仕事であったりして) ハードから、なるべく余裕のあるようにしてごまかしてる
709 名前:デフォルトの名無しさん mailto:sage [04/10/01 12:28:24] バグなのか仕様なのかわかんないけど SH系のコンパイラで以下のような現象があった。 sub(123, 456.789); //関数subを整数123、実数456.789を引数にして呼び出す //パターン1 sub(int a, float b){ printf("a=%d,b=%f\n", a, b); } 実行結果「a=123,b=0.0」 //パターン2 sub(a, b) int a; float b; { printf("a=%d,b=%f\n", a, b); } 実行結果「a=123,b=456.789」
710 名前:デフォルトの名無しさん mailto:sage [04/10/01 14:16:18] >>709 それはANSIの仕様だね。 sub()の呼び出しの前にプロトタイプ宣言すれば、逆にパターン1が正しい結果となるはず。
711 名前:デフォルトの名無しさん mailto:sage [04/10/01 14:26:34] 二重ループにif文くらいのソースで最適化とデバッグオプションつけると デバッグ情報が無効になるコンパイラには難儀した。 最適化オプション抜いたやつが吐き出したコードをアセンブラレベルで手直ししたら 実行時間が1/7になったのには脱力。
712 名前:デフォルトの名無しさん mailto:sage [04/10/01 15:21:05] Cは便利なんだけど、(BYTE)dat とか、のデータ長拡張の時のアレとか 割り込みのフラグが最適化ではじかれないようにvolatileつけるとか、 余計な事も覚えなきゃならんのよな。
713 名前:デフォルトの名無しさん mailto:sage [04/10/01 15:37:13] >>705 >low_latencyフラグを立てる ttp://www.humblesoft.com/mlml/msg00085.html >受信トリガレベルを1バイトに設定し1バイト受信毎に割込みを発生させる ドライバ書き換えしないと駄目かも?
714 名前:デフォルトの名無しさん mailto:sage [04/10/01 16:22:44] >>705 ,>>713 >受信トリガレベルを1バイトに設定し1バイト受信毎に割込みを発生させる ioctl使えばいいじゃん。
715 名前:デフォルトの名無しさん mailto:sage [04/10/01 16:44:28] >>705 たかが(失礼)シリアル通信ぐらいで、そんなにシビアなタイミングが 必要になるのかなあ? 普通に/dev/ttyS?経由じゃダメ?
716 名前:デフォルトの名無しさん mailto:sage [04/10/01 17:20:44] >>705 だからioctlで全て解決するだろーが。 まず、初期化ルーチン内でioctlを使用して初期化して、 main loopでselectでcheckして、データ来たら1byte単位でreadすると。 お仕事がんばれよ。>>705
717 名前:デフォルトの名無しさん mailto:sage [04/10/01 17:22:21] ハードウェアフローには出来んのか?
718 名前:705 mailto:sage [04/10/01 21:12:28] >>713 情報有難うございます。これでlow_latencyフラグを立てる事が出来そうです。 >>715 LinuxシリアルHowTOなどを参考にして普通に/dev/tty経由で送受信してるのですが 数回に一度ぐらいの割合でデータの欠落が起こってしまいます。 >>717 ハードウェアフロー制御を行わせるためにtermios構造体のc_cflagにCRTSCTSを 指定しています。後はハードウェアが勝手にフロー制御を行ってくれると解釈して いるのですがプログラム中で明示的にRTS信号のON・OFFを行う必要があるのでしょうか? FIFOの割り込みトリガレベルの調整方法は制御レジスタをいじる方法をネット上で見つけたので 試してみる事にします。
719 名前:デフォルトの名無しさん mailto:sage [04/10/02 09:11:51] >>718 ハードウェアは自動的にフロー制御はしないけど、 ドライバが制御してくれるはず。 相手が何か知らんがCTS/RTSを見てないとかは?
720 名前:デフォルトの名無しさん mailto:sage [04/10/02 11:59:41] CTS-RTSはとにかくつなぐ なにかあったらとにかくつなぐ
721 名前:デフォルトの名無しさん mailto:sage [04/10/02 12:09:36] 先生! メーカー純正ケーブルがCTS-RTS繋がってません。 クロス仕様で専用コネクタなんで手も出せません。 #いや、マジであったんですよ_/ ̄|○
722 名前:デフォルトの名無しさん mailto:sage [04/10/02 12:46:39] ↑ 自分でつなげばいーじゃん?
723 名前:360 mailto:sage [04/10/02 13:02:49] >>722 モールドしてあるからつなげないんじゃないのかな というか、それ以前に、 メーカー純正ケーブルなのに、そうなっているのが信じられんし、 専用コネクタなんで手も出せない。 って、そのままの意味なんじゃないでしょうか?
724 名前:デフォルトの名無しさん mailto:sage [04/10/02 13:29:06] テスター当てて結線図を書いたら ケーブルを真ん中で切断ですよ
725 名前:デフォルトの名無しさん mailto:sage [04/10/02 13:42:49] >721の実際に私が遭遇したケースでは、客先(ソフト部隊)経由でハード部隊に報告、 ケーブルの仕様変更ということになって作り直しに半月かかった。 #実はその間に慌ててプログラムの割り込み周りのバグを直したのは内緒。
726 名前:360 mailto:sage [04/10/02 13:46:10] >>724 仕事によっては許されませんね。
727 名前:デフォルトの名無しさん mailto:sage [04/10/02 15:06:59] >>705 相手もPCなのか? PCじゃなかったら相手が半二重だったりすることがあるぞ
728 名前:デフォルトの名無しさん mailto:sage [04/10/02 17:17:50] >>726 俺が許す 気にすンなッて
729 名前:デフォルトの名無しさん mailto:sage [04/10/02 18:39:54] >>726 客にバレなきゃいいんだよ。どうせ客なんてセッティング中は見に来ないだろ?
730 名前:360 mailto:sage [04/10/03 00:21:19] >>729 原発とか、そういう作り方でもいいですか?許してくれますか?
731 名前:デフォルトの名無しさん mailto:sage [04/10/03 01:13:03] >>730 北チョンの原発ならOK
732 名前:デフォルトの名無しさん mailto:sage [04/10/03 17:42:38] >>730 まず切ることを報告し、切った後問題を修復し、修復後チェックし、問題ないことをまた報告 原発だろうとなんだろうと同じだろ
733 名前:360 mailto:sage [04/10/03 17:54:16] >>732 「報告」と「チェック」がどの程度のことかわかりませんが 原発じゃないにしても、私のクライアントだと 通常の基準で言えば、不合格になる可能性大です。
734 名前:デフォルトの名無しさん [04/10/03 21:10:34] うちの顧客は自動車メーカー。 めちゃくちゃ細かい。 そんなところまでチェックするなら、自分で書けよと言いたい。
735 名前:デフォルトの名無しさん [04/10/03 21:17:11] >>734 ミツビシでは無いね
736 名前:デフォルトの名無しさん mailto:sage [04/10/03 21:18:59] 最近多品種少量生産だから、品種替えなんかが多くてソフトが面倒くさい。
737 名前:デフォルトの名無しさん [04/10/04 00:21:19] >>735 三菱はノーチェックだろw
738 名前:360 mailto:sage [04/10/04 04:11:23] >>732 もしかして関電系だったりして(笑 通常、その工事手順をふむよりきちんとしたものを製作したほうが早いです。
739 名前:デフォルトの名無しさん mailto:sage [04/10/04 19:20:30] >>705 シリアル通信関係のテストで問題が起きた時は、通信モニタがあれば9割方解決出来る。 ってことで通信モニタ買って来い。
740 名前:デフォルトの名無しさん mailto:sage [04/10/04 19:33:09] >>739 技術評論社のCCT-98IIでよろしいでしょうか?
741 名前:360 mailto:sage [04/10/04 20:23:59] >>740 モニタっていったら「みえちゃん」でしょ(w
742 名前:デフォルトの名無しさん mailto:sage [04/10/04 23:02:28] >>741 ○ッツの回し者キターッ! その節はお世話になりました orz
743 名前:360 mailto:sage [04/10/05 01:17:15] >>742 回し者じゃないけど。ほんと、元をとりました。これがないと始まらない 電池がダメになったので、一度はメーカで交換、 2度目は、自分で単三のNi−MH電池に交換しました。 古いので19200までしか見れません、デバッグ中と実稼動でbpsを変えてごまかしてきました そろそろ新しいのにしないと。。。 セキスイのも悪くないけど、みえちゃんは"惜しげない"感じがイイ
744 名前:デフォルトの名無しさん [04/10/06 07:30:25] 開発環境のeclipseってどうよ
745 名前:デフォルトの名無しさん [04/10/06 12:44:05] >>744 javaの環境のこと? あまり組み込みと関係ないような希ガス
746 名前:デフォルトの名無しさん mailto:sage [04/10/06 20:23:57] eclipseはいいね。 ただ起動が糞長いのをなんとかしてくれ。 つっても学生の頃の卒業研究以来使ってないけど。 >>745 別にeclipseはjavaに限った環境じゃないだろ。
747 名前:デフォルトの名無しさん [04/10/06 23:18:48] >>746 しかしJAVAのイメージが強いのも事実。
748 名前:デフォルトの名無しさん [04/10/07 09:15:40] そんなことない、君の視野が狭いだけ。
749 名前:デフォルトの名無しさん [04/10/07 09:32:07] 広い視野で見ると、やっぱり世間的にはJavaのイメージが強いと思う。
750 名前:デフォルトの名無しさん [04/10/07 12:53:00] 本屋に行けば、Javaばかりだよ もっとも組み込みの本自体少ないけど
751 名前:デフォルトの名無しさん mailto:sage [04/10/07 13:44:11] eclipseのCDTは超ショボいので結局Java目的にしか使えない。
752 名前:デフォルトの名無しさん mailto:sage [04/10/07 18:36:37] 徐々に良くなってはいるよ >CDT
753 名前:デフォルトの名無しさん mailto:sage [04/10/07 18:45:43] C++でecripseつかうくらいならVS使うよ
754 名前:デフォルトの名無しさん mailto:sage [04/10/07 18:46:21] でもemacs一つで十分だったりもする
755 名前:デフォルトの名無しさん [04/10/07 19:44:45] でも、UNIX環境じゃなかったりする
756 名前:質問ちゃん [04/10/07 20:40:56] タブプラウザってありますよね。 あれを起動してから複数のhtmlファイルを窓上に ドラッグすれば一気に読み込めますよね。 その複数のhtmlファイルがCD-R内のパスの定まった フォルダ内においてあるとして CDいれるとオートランで自動的に タブプラウザでそのフォルダ内のhtmlファイルを全て読み込んで 立ち上がるにはどうすればよいのでしょうか?
757 名前:質問ちゃん [04/10/07 20:43:56] タブプラウザは自分ではつくれないので できるだけ既存のものがいいです。 機能としてはIEコンポーネント本体とタブと最大化機能さえあれば十分なのですが・・
758 名前:デフォルトの名無しさん mailto:sage [04/10/07 20:44:21] >>757 ここを何のスレと思ってるんだ?
759 名前:質問ちゃん [04/10/07 20:46:26] スレ違いだったら誘導していただけるとありがたいです
760 名前:デフォルトの名無しさん mailto:sage [04/10/07 20:48:17] 断る
761 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:01:41] 何故このスレで質問しようと思ったのかを聞きたいな 制御系なら俺に聞いてもいいぜ ~~~~~~~~~~~~~~~~~~~~ここしか見てなかった?
762 名前:デフォルトの名無しさん [04/10/07 23:14:54] 組み込みJAVAはこれからどうなりますかね。 メーカーは変則的ガベージコレクションでリアルタイム性を確保しようとがんばっていますが。
763 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:19:25] 携帯&JavaでFFやドラクエできる時代だからなー GUI必要な場所ならtronのみやCEよりはラクそうだな
764 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:20:15] 見やすい状態遷移図の書き方教えてくれ……
765 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:31:08] >>763 x 携帯&JavaでFFやドラクエできる時代だからなー ○「すごいな。携帯でFFやドラクエが出来る時代なのか。 さすが21世紀はすげえや。透明チューブの中をエアカーが疾走するのはまだか?」
766 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:37:29] >>765 馬鹿かお前
767 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:56:08] >>766 コピペにマジレスっすかお前
768 名前:デフォルトの名無しさん [04/10/09 12:57:45] >>767 コピペなら常に馬鹿に該当しないと思い込んでる馬鹿
769 名前:デフォルトの名無しさん mailto:sage [04/10/10 09:36:18] 必死な人がいる
770 名前:デフォルトの名無しさん mailto:sage [04/10/10 23:27:07] ひねくれた人がいる
771 名前:デフォルトの名無しさん mailto:sage [04/10/11 00:24:18] >>765-770 お前等ウゼー くだらねー煽りあいなんて他所でやれ
772 名前:デフォルトの名無しさん mailto:sage [04/10/11 15:01:34] 真偽値 ってTRUEとFALSEだよね トライステートつーかいわゆるZ状態を扱うときは boolではなく 何で表現すればいいのかな n>0, n==0, n<0 あたりでいいかな? みんなはどうしてる?
773 名前:デフォルトの名無しさん [04/10/11 15:03:32] いちおう n>0 真(TRUE) n==0 不明(z) n<0 偽(FALSE) みたいな感じ。これなら if(n)で不明かそうじゃないかわかるし。 あと、TRUE,FALSEに相当する定義はなにがいいの?
774 名前:デフォルトの名無しさん mailto:sage [04/10/11 15:41:24] Zとtrue/false かな つまり1bitZかそうでないかを追加してそっち優先にすると
775 名前:デフォルトの名無しさん mailto:sage [04/10/11 16:48:20] Zってハイインピーダンスのことじゃなかったの?
776 名前:デフォルトの名無しさん mailto:sage [04/10/11 18:54:46] Zはハイインピーダンスだよ。普通は。 不明はXかUだろ。
777 名前:360 mailto:sage [04/10/11 20:06:41] >>772 わたしだったら TRUE/FALSEを使うと BOOLと混同するから 英語として正しいかどうかはわからないけど VAL_HIGHER / VAL_EVEN / VAL_LOWER とか定義して 少なくとも TRUE/FALSE は使わない
778 名前:デフォルトの名無しさん mailto:sage [04/10/11 22:03:41] プルアップかプルダウンしてれば不明にはならないから何も問題はない。と
779 名前:デフォルトの名無しさん mailto:sage [04/10/11 22:03:50] >>776 ごめん
780 名前:デフォルトの名無しさん mailto:sage [04/10/11 22:07:44] >>774 2ビット使って 00 多分 偽 01 多分 真 10 間違いなく 偽 11 間違いなく 真 こんな感じ?
781 名前:デフォルトの名無しさん [04/10/11 22:17:53] ミツトヨのリニアゲージからのデータを取り込みたいのですがデジマチック出力しかありません 出力信号はDATA(測定データ出力端子)とCK(同期クロック)とRD(データレディ)があるのですが どのようにやり取りしていいのかさっぱり・・・ 参考になりそうな書籍やサイトがありましたら教えて下さい これってシリアル通信関係を勉強すればどうにかなりますか? スレ違いなら申し訳ありません
782 名前:デフォルトの名無しさん [04/10/11 22:28:59] >>781 ミツトヨには聞いてみたの? ミッちゃんの俺様フォーマットだから少なくとも本はないと思う。 たぶんデータ吐き出すタイミングでRDがアクティブになるんで それに答えてREQをアクティブにしてやるとデータ送信が開始されるって 感じだと思う。
783 名前:デフォルトの名無しさん mailto:sage [04/10/11 22:44:40] ttp://www.nio.co.jp/pqc-7302.html
784 名前:781 mailto:sage [04/10/11 23:37:56] >>782 どうもです 一応聞いたんですが資料を1枚くれただけでした・・・ 詳しい人ならそれだけでもわかるのかも知れませんが。 もうちょっと聞いてみます >>783 どうもです この手のでお茶を濁そうとも思ったんですが、アクチュエータ付きのリニアゲージを使ってて、ボタンなどを押さずに任意の位置で測定しないといけないのでダメっぽいのです・・・
785 名前:デフォルトの名無しさん [04/10/12 08:30:30] VHDLには弱いHighとかもあって、 信号状態は9種類用意されていたと思う でも、きちんとプルアップ/ダウンされていれば、使い道ない気がする
786 名前:デフォルトの名無しさん mailto:sage [04/10/12 19:48:28] 私H/L/出力オフでしか考えてなかった
787 名前:デフォルトの名無しさん [04/10/13 00:46:29] ローアクティブとハイアクティブとあるからにゃ 気をつけないとにゃ
788 名前:375 [04/10/15 11:16:35] 制御系と組み込み系は、一般に給与はどうなんですか? 組み込みは薄給だと聴いたことがあるんですが
789 名前:デフォルトの名無しさん mailto:sage [04/10/15 11:23:03] 薄給す
790 名前:デフォルトの名無しさん [04/10/15 11:23:19] お金の話しですいません。お金を儲けたいと思ったので。 もし場違いな質問になってしまってたら、どうぞスルーして下さい
791 名前:デフォルトの名無しさん [04/10/15 11:25:36] >>789 さん ほんとすか。。正直ちょっと残念です。レスありがとうございます
792 名前:デフォルトの名無しさん mailto:sage [04/10/15 12:48:32] >>791 我が社では業務系と制御系で給与体系に差はありません。 #尤も、業務系のほうが金になるので有利になるのは事実。
793 名前:デフォルトの名無しさん mailto:sage [04/10/15 13:30:39] >>792 *できる*制御系の奴であれば、替えが効かないので差があってもいいと思うのだが。 どちらかと言うと業務系の方が、替えの効く奴が多いと思う。
794 名前:デフォルトの名無しさん mailto:sage [04/10/15 13:33:28] *できる*人材不足はどこもいっしょと思うなぁ こんだけやってもギャラおんなじどころか、わりにあわな、、、ここはム板だっけ
795 名前:デフォルトの名無しさん mailto:sage [04/10/15 13:45:18] 制御系な奴の価値が低いのが問題なんだよ。 開発サイクルから言うと業務系の方が短いからかな。 やってる内容は濃い場合が多いんだけど>制御系
796 名前:デフォルトの名無しさん mailto:sage [04/10/15 14:25:05] >781 リニアゲージの入力端子と、リニアゲージからの入力端子の種類が書いてないけど?
797 名前:デフォルトの名無しさん [04/10/15 15:34:13] >>792 氏 そうですか。レスありがとうございます。とりあえず僕は、今週末の基情受けてきます。またきます
798 名前:360 mailto:sage [04/10/15 15:47:16] 金に関しては、医療関係の業務系は特にいいですね、 ヒマだし、金はいいし、納品先は白衣だし(w 制御系は、好きじゃないとやってられない。
799 名前:デフォルトの名無しさん mailto:sage [04/10/15 16:04:41] 白 衣 が で す かw
800 名前:デフォルトの名無しさん mailto:sage [04/10/15 16:28:30] 中身は黒だ
801 名前:デフォルトの名無しさん mailto:sage [04/10/15 22:46:17] 白衣系は、好きじゃないとやってられない。
802 名前:デフォルトの名無しさん mailto:sage [04/10/16 00:43:05] ホールピペットが恐い。 化学よくしらないけれど。
803 名前:デフォルトの名無しさん mailto:sage [04/10/16 01:10:00] >>801 白衣が?
804 名前:デフォルトの名無しさん [04/10/17 01:56:41] m16使ってるんですが、16bitCPUは初めてでよくわからないことだらけです。 RAM領域がFFFF超えたらどうなるんでしょう・・・? アドレッシングは出来るみたいですけど 宣言とかがFFFFまたがっても大丈夫なんでしょうか? アセンブラの命令だとストリング転送は 32ビットアドレッシングがサポートされてなくて 領域の初期化ができねぇ・・・・。
805 名前:デフォルトの名無しさん mailto:sage [04/10/17 03:10:24] >>804 pc5.2ch.net/test/read.cgi/tech/1035288252/
806 名前:360 mailto:sage [04/10/17 10:56:19] >>804 今マニュアルをダウンロードして見たら、データバスが16/8bitで、アドレスバスは24bitのようですけど
807 名前:デフォルトの名無しさん mailto:sage [04/10/17 11:30:19] >806 M16は、16ビット超のアドレスをアクセスするのは、別のアドレッシングモードを 使う必要がある。 C言語だと、宣言に far を使う必要があるんですよ。 使い方は、よく知らないんで申し訳ない。OAKSの16-MINIっていうM16CTinyを 使ったキットで遊びはじめたばかりなんでまだ良く分かっていない。 Tinyの場合、16ビット超にはRAMはないんで、初期化データの宣言とか、そのデータを 使う変数とかが、宣言の対象になると思う。 マイナーなキットだけど使いやすい。5000円くらいでシリアルケーブル以外、電源も 付いている。開発環境も、最適化ができないだけで、ソースデバッギングもできる。 H8みたいに色々開発環境があるよりは、使えるのが1つあるほうが分かりやすい。
808 名前:デフォルトの名無しさん mailto:sage [04/10/17 12:15:47] おいおい、開発環境は純正を買ってくれないとわが社の利益(ry
809 名前:デフォルトの名無しさん [04/10/17 19:11:03] >>807 farとか86みたいだな セグメントになってるの? なんだか使いにくそう
810 名前:デフォルトの名無しさん mailto:sage [04/10/17 19:37:26] アドレッシングモードだって言ってるじゃん。。 しかしM16ってウルトラマンの巣かスタローンが脇に抱えて乱射しそうな名前だねえ。
811 名前:デフォルトの名無しさん mailto:sage [04/10/17 19:48:14] M16C
812 名前:デフォルトの名無しさん mailto:sage [04/10/18 07:22:30] M16Cは素直なイイ子だよ。
813 名前:デフォルトの名無しさん [04/10/18 23:07:10] M16について質問したものです。 farに関して勘違いしてました。 386みたいにセグメントからのオフセットでアドレッシングしているのでは なくてfarかnearかでマッピング位置が決まるみたいですね・・・・。 しかしストリング転送命令はnearしかサポートしていないようで far宣言の初期化に使うこと自体が間違いのようでした。
814 名前:デフォルトの名無しさん mailto:sage [04/10/19 00:06:59] >813 farかnearかでマッピング位置が決まるんじゃないよ。関数はfar とか ディフォールトの設定がある。 そもそも、C言語を使うのなら スタートアップのncrt0.a30 の中でfar領域も初期化 されているはず。手元の NC30 V.5.10のマニュアルだと、 2.2 スタートアッププログラムの準備のJKがその処理のはず。 自分は M16CTinyだったんで、far領域にはRAMがないんでやったことはないけど。 M16CTinyの場合、そこはコメントにするからね。
815 名前:デフォルトの名無しさん [04/10/19 08:48:59] スタートアップはアセンブラで自作するものなのですか? アドレスなんかを設定すると、 コンパイラが自動的に作ってくれるのしか使ったことないです。
816 名前:デフォルトの名無しさん mailto:sage [04/10/19 08:51:38] >>815 それでいいと思えばそれでいい
817 名前:デフォルトの名無しさん [04/10/19 14:25:08] >>815 不要な設定や初期化を省きたいときは、汗しかないね でも、一度経験する分には構わないけど、 プロセッサが変わったりするたびに作り直すのは 正直めんどい
818 名前:デフォルトの名無しさん [04/10/19 17:47:29] スタートアップを作れるかどうかが一流と二流の境目
819 名前:デフォルトの名無しさん [04/10/19 21:51:26] マイコンチップ使う程度の規模のハードの初期化処理なんて そんなたいしたもんでもないと思うが。 自分で言うのもなんだけど、俺は二流だけどそんなの普通に書けるよ。 ていうか、「スタートアップ」って言葉の使い方変じゃないか?
820 名前:デフォルトの名無しさん [04/10/19 22:08:59] OSがないと生きていけない私は二流ですか
821 名前:デフォルトの名無しさん mailto:sage [04/10/19 22:11:07] vector.s por_vector: jmp _startup main.c int main() { asm("_startup:"); // initiazize...
822 名前:デフォルトの名無しさん [04/10/19 22:40:33] ワンチップマイコンのスタートアップなんて、大概、リセット直後のプログラムメモリ0番地スタート、これだけだろ。 ROM、RAMがペリフェラルで分かれてる時、ROM上のプログラムで、不揮発メモリ・フラッシュメモリ・各種媒体から読み込んでRAM上に展開させる必要が出てくる。 更に、その前に、デバイスがあるかないかの判別も居る。
823 名前:デフォルトの名無しさん [04/10/19 22:51:24] というか、面倒なのは、可変のプログラムを載せる為のプログラム(モニタ・デバッガ)を最初に載せることだろう、 JTAG使うのもあるし、PSEN(ProgramStoreENable)とかいう書き込みピンをアクティブにして書き込む場合もあるけど、 例えば、モニタには、最低限、シリアル経由等で、プログラムを吸い込んで、基板上の不揮発メモリ等に載せてやり、シリアル経由でコマンド(他に同じ2進コードが無い一意のコード)を送って実行させる機能が無ければいけない。 (この辺は、フラッシュや各種ストレージなんかから読むなら、それから読んでRAMに展開させるモニタになるけど)
824 名前:デフォルトの名無しさん mailto:sage [04/10/19 22:54:57] スタートアップのソースにブートローダーのコードは書いてないやオレ つーかワンチップじゃねーかこれ外バスねーよ
825 名前:デフォルトの名無しさん [04/10/20 01:14:08] モニタープログラムお手上げ ブートローダー挫折 これでも組み込みやってます
826 名前:デフォルトの名無しさん mailto:sage [04/10/20 01:16:27] 世の中は まぐれで動いている
827 名前:360 mailto:sage [04/10/20 02:03:11] いままで、やってきて思った事 「やらなかったことは、かならずツケとして帰ってくる」 ソフトもハードについても、 すべてに目が通せるわけではないのだけど とにかく自分の関連はすべて目を通しておかないと 大抵の場合、最後の最後に、問題は目を通してなかったところから始まります 試験に関しても 大手メーカの現場担当の人は、このあたり徹底していて、すごいです。 ホントあたりまえなのだけど 通電する前に盤の接点のひとつひとつ最後まで丁寧に徹底的にチェックしますね 朝から晩まで、線番に頼らずにテスターなどでチェックしてるのをみるとホントに頭が下がります。 その昔、ボードの入力信号の取り込みのチェックに手を抜いて 32点の入力を31点まで値のチェックをして、まいいやあとOKなんて。。。 その最後の1点が不具合でパニクったことがあります(恥
828 名前:デフォルトの名無しさん mailto:sage [04/10/20 03:39:28] >>822-823 の方が仰った事が今ひとつピンとこないワタクシは三下ですね
829 名前:デフォルトの名無しさん mailto:sage [04/10/20 04:00:22] そういう人がどうやって給料もらえる仕事できているのか理解できない_| ̄|○
830 名前:デフォルトの名無しさん mailto:sage [04/10/20 04:18:39] Windowsのデバドラについての質問はここにしてもよいですか?
831 名前:デフォルトの名無しさん mailto:sage [04/10/20 04:24:09] >>830 何でこのスレで? pc5.2ch.net/test/read.cgi/tech/1063453024/ じゃあかんの?
832 名前:デフォルトの名無しさん mailto:sage [04/10/20 19:22:32] M1号に見られている気がします
833 名前:デフォルトの名無しさん [04/10/20 22:31:54] >>822 ROMからの読み出しはアセンブラですよね? Cで書けたらいいけど、Cで書いたらブート用のメモリに入らないです
834 名前:デフォルトの名無しさん mailto:sage [04/10/21 00:40:29] >>830 Chipの設定なんかの思いっきりデバイス依存の話なら 相談に乗れる人間はいるだろうけど 大抵の組み込み屋はWinのAPIとしてどう見せなきゃいかんか? なんてのは素人だぞ 自主開発したボードの叩き方でも 相談したいんでもなきゃお勧めしない
835 名前:デフォルトの名無しさん [04/10/21 07:50:01] >>825 モニターなんか自作するくらいなら、ICE買え
836 名前:デフォルトの名無しさん mailto:sage [04/10/21 08:58:24] WDTに引っ掛かったらモニターに落としてますが何か。
837 名前:デフォルトの名無しさん [04/10/21 13:14:56] >>835 デバックモニターが貧乏臭いってことだよね オレもそう思う メーカー製の統合環境とICEしか使って無いし
838 名前:デフォルトの名無しさん mailto:sage [04/10/21 21:21:22] モニタープログラム=プログラムを制御するプログラム。コンテキストスイッチングが 必要なので、ライトなOSみたいなもんだ。デバックモニターとはイコールじゃない
839 名前:デフォルトの名無しさん [04/10/22 13:15:35] でもアイスって高くない? うちみたいな貧乏な職場だと買えないな
840 名前:デフォルトの名無しさん mailto:sage [04/10/22 13:21:59] 一度きりの仕事ならレンタルだな
841 名前:360 mailto:sage [04/10/22 13:28:59] >>839 ICE使ったのは最初の1回だけだった。 nonOSだとまったくICE無しでやってます。 レンタルでも 20マソ/月だしね。
842 名前:デフォルトの名無しさん mailto:sage [04/10/22 13:59:36] 岩技が京都マイクロとコンピューテックスになって最後がソフィアの人
843 名前:デフォルトの名無しさん mailto:sage [04/10/22 19:50:14] 岩技・・・・・懐かしい
844 名前:デフォルトの名無しさん mailto:sage [04/10/22 19:54:47] まぁ、モニタプログラムは、色々機能をつけなきゃならないから、 PCからシリアルでコード送って色々動かす機能とか、実行を途中で止めて、その時のレジスタ値見たりとか、 こういう機能があるから、同じ類で、プログラムを走らせる為のプログラムとしては、実製品のブートローダの方が簡単。 ブートローダは、デバイスがどれがついているか判別して、デバイスから、オペコード・オペランドともにただのデータとして読み込んでRAMに展開して、RAMに展開されたプログラムを読んでいってやればいい。 或いは、RAMをただのワークエリアとして使うなら、ブートローダの役目は、ただ単に、プログラムが入っている不揮発RAMの先頭から読み込ますだけ。 すなはち、プログラムメモリへの先頭番地へのGOTO命令ただ一つ、これだけよ、これだけ、奥さん。
845 名前:デフォルトの名無しさん [04/10/22 22:20:34] >>844 ブート元がフラッシュだったり、ディスクだったり、ファイルシステムもどきだったりしたら、 けっこう凝ってこない? そういうのも汗るわけ?
846 名前:デフォルトの名無しさん mailto:sage [04/10/22 22:59:53] >845 それはすでにブートが走っている。 例えば、PCで起動ドライブの選択は拡張バイオスを認識し、これを動かす。 拡張BIOSを認識、起動させるのはBIOS。 従って、>845の意味するブートとは、ほとんどOSのカーネル。
847 名前:デフォルトの名無しさん mailto:sage [04/10/22 23:30:36] で、>844はなにがいいたいんだ?
848 名前:デフォルトの名無しさん mailto:sage [04/10/23 00:06:46] >>847 「俺様は偉い」
849 名前:デフォルトの名無しさん mailto:sage [04/10/23 00:37:51] また分けわかんないのが沸いてるな >843 岩崎技研のPROASM使ってる (C)1985古っ! 8.3ファイル名規則に目をつぶればwin2kのコンソールで動く さすがに8インチ搭載ポータブルwは埃被ってるが
850 名前:デフォルトの名無しさん mailto:sage [04/10/23 01:00:37] 京都マイコンさんとソフィアさんしか知らないや
851 名前:デフォルトの名無しさん mailto:sage [04/10/23 01:21:23] マイテックのNICE-Z80 ユニダックス DICE-6502 もう使ってません
852 名前:デフォルトの名無しさん mailto:sage [04/10/23 04:15:48] ASCII入力を実数変換するのに、cの実数変換が重くて使えないので、小数点の上下を整数で 表現しようと思います。strtol()で整数部を変換した後区切りが'.'ならその後ろをatoi()とか。 有効桁数はそれぞれ16bitで十分な程度です。そこで相談は、小数部の表現なのですが、 何桁まである、と決まっていればいいのですが、.001だと整数変換すると1になって1/1000に ならないし、.100となってたら100になって1/10にならないし・・・ 小数部をどういう表現で持てば 小数点付きの数をうまく扱えるでしょうか?
853 名前:デフォルトの名無しさん mailto:sage [04/10/23 04:32:17] 1.000 = 1000 / 1000 0.100 = 100 / 1000 0.001 = 1/1000
854 名前:デフォルトの名無しさん mailto:sage [04/10/23 04:36:12] 固定小数点演算 www2.muroran-it.ac.jp/circle/mpc/old/algorithm/cg/fixedpoint/fixedpoint.html
855 名前:360 mailto:sage [04/10/23 04:43:13] >>852 単に、小数点3桁なら1000倍した値としておけば? 3.027 = 3027 で扱うだけ
856 名前:852 mailto:sage [04/10/23 06:59:55] 早朝からありがとうございます。 853,855のアイデアは「少数以下何桁と固定で」の考え方ですよね。 できるといいなあと思っているのは、xx.1でもxx.523でも扱える手法なんです。この2例を整数変換 すると1と523で、例えば1/1000単位と決めたらこれを100と523にする規則が考えつかないです。
857 名前:デフォルトの名無しさん [04/10/23 07:16:03] ( ´D`)<アイスは8段アイスがうまいのれす
858 名前:デフォルトの名無しさん mailto:sage [04/10/23 08:20:42] >>856 その例なら、整数変換後10の(2-桁数)乗すればよろしい。 といっても、高々3桁しか入らないと言うのであれば、 static const int ratios[] = {0, 100, 10, 1}; int i = atoi(s) * ratios[strlen(s)]; とでもすればいい。
859 名前:デフォルトの名無しさん mailto:sage [04/10/23 08:28:04] >>856 少数点以下何桁あったか見ればいいじゃないか。 あるいは、少数点以下に0を埋めてから処理すればいいじゃないか ただ、俺たちは、普通は 自前で変換=頭から x*10+n を繰り返して処理するけどね
860 名前:デフォルトの名無しさん mailto:sage [04/10/23 08:30:12] >>859 いや、「俺達」っていうけどあんたみたいな馬鹿他にはそうそういないから。
861 名前:デフォルトの名無しさん mailto:sage [04/10/23 18:44:19] >>860 そうか。スマン。 Cでさえ滅多に使わん奴らのスレかと思ってたよ。
862 名前:360 mailto:sage [04/10/23 18:58:51] >>856 ちょっと意味がわかりません。。。鬱 小数点の取り扱いって、どうなっているかじゃなくて、どう取り扱うかって考えるものと思っていましたので 0.1 = 0.10 = 0.100 = 0.1000 じゃないのかな
863 名前:360 mailto:sage [04/10/23 19:10:07] >>856 要求される精度って最初から決まってはいないんですかね? 最初からその精度で取り扱えばいいように思うのですが なんか変?
864 名前:デフォルトの名無しさん mailto:sage [04/10/23 21:05:27] >360 >>852 は自分のやりたいことが頭の中で整理できてないんんだろう。 少なくともそれを人に説明できる程度には。 まあ、本来は恐らく次のようなことを聞きたいのだろう。 ----------------------------------------------------------------------- 小数点付の数値を表す文字列を「数値」(もっと扱いやすいデータ型)に 変換したいんだが (1)「数値」はどのようなフォーマットが簡便か? (2)文字列からその「数値」への変換はどのように行ったらいいか? ----------------------------------------------------------------------- それでいま困っているのは、小数点で区切って小数点以下をatoiすると0.1(1)も.01(01)も.001(001)も 1になってしまう、どうしたもんか?って話なんだと思うよ。 >>852 こんな風にすると簡単じゃない? まず、「数値」のフォーマットとしては実際の数値の10^n倍の値をLongで持つようにする。 たとえばn = 4なら、"123.4"は内部形式としてはLongで1234000、"12.34"なら 123400、"1.234"なら12340で表現するようにする。 で、この「数値」( = X)への変換方法としては、(1)元の文字列から小数点を取り除いた 文字列をLongに変換する。( = L) (2)元の文字列の小数点以下の文字数dを求める。 (2) X *= pow(10, 4-d)
865 名前:デフォルトの名無しさん mailto:sage [04/10/23 21:09:01] 番号付け間違えた、(3) X *= pow(10, 4-d) でした
866 名前:デフォルトの名無しさん mailto:sage [04/10/23 22:03:04] そのやりかたが合理的だとは思えないがどうしてもそれでやりたければ 頭に1をつけてから atoi しろ、元へ戻すときはあたまの一文字を消せば桶
867 名前:デフォルトの名無しさん mailto:sage [04/10/23 22:06:39] >>866 もうちょっとスマートにやりたければ補数にしとけ
868 名前:852 mailto:sage [04/10/24 06:40:57] >>864 うまく表現してくれてありがとう。そんなふうに言いたかったのです。 866は864の(3)のstepについてのうまいやり方ですよね?小数点以下が4桁までならatoi 5桁以上ならatolでいいですね。(3Mの8085でのアプリだから後者はまずありえません) 実際には表現桁数は決まっているのですが、後で有効桁数増やされたりしたときの為に 内部に保存する表現はなるべく桁数保っておきたいと思ったので相談させてもらいました。 勉強になりました。
869 名前:デフォルトの名無しさん mailto:sage [04/10/24 09:44:25] 8085でCって… どこのやつかは知らないが標準ライブラリ使ってる限り 速度の向上は見込めない気がする
870 名前:360 mailto:sage [04/10/24 10:34:06] >>868 つまり >>855 とどう違うのでしょう?(馬鹿ですまいません)
871 名前:デフォルトの名無しさん mailto:sage [04/10/24 12:04:53] 話が噛み合ってないと思われ。
872 名前:デフォルトの名無しさん mailto:sage [04/10/24 12:36:52] 8085なら、俺なら100進使うところだな。 余計な話だが。
873 名前:デフォルトの名無しさん mailto:sage [04/10/24 14:21:10] 確かに80系ならCでのサポートがない点を覗けば、BCD使うほうが楽だね。
874 名前:デフォルトの名無しさん mailto:sage [04/10/24 17:16:46] 80系で速度要求するならアセンブラつかえよ(w
875 名前:デフォルトの名無しさん mailto:sage [04/10/24 18:06:33] たとえば、ペンチアムは80系って言っていいのか? そういえば、例えば、CPUとっかえた時、手元に残ったP3とかP4でLEDを点滅させるのは出来るんか?とか。
876 名前:デフォルトの名無しさん mailto:sage [04/10/24 18:22:21] >>875 そのへんのCPUなら、アドレスバスかデータバスあたりにぶら下げておけば点滅するん じゃないかなあ。電圧が足らんかもしれないから適切につなぐように。
877 名前:デフォルトの名無しさん mailto:sage [04/10/24 18:30:50] 点滅は見えないでしょ・・・・・薄暗く光ってみえるかも
878 名前:868 mailto:sage [04/10/24 18:42:03] >>870 数学的には同じこと、って気がします。cで扱いやすい表現がどうか、って話かと。 >>874 ASM使っても乗算・除算の回数は変わらないとおもいます。cのlibはいちおう効率を考慮 して書かれているでしょうから。cを注意深く書けばASMとの違いは「callオーバーヘッドだけ」 にできます。
879 名前:デフォルトの名無しさん mailto:sage [04/10/24 20:26:34] >>878 汎用にかかれたものと特定の用途に絞って書かれたものとではずいぶん違ってきますふつう
880 名前:デフォルトの名無しさん mailto:sage [04/10/24 20:39:15] 8085には掛算は無でしょ?だから、x=x*10+n を実行するには 10 = (2*2+1)*2 と分解するとか、そういう所からやるんが普通では?
881 名前:デフォルトの名無しさん mailto:sage [04/10/24 20:47:00] なんで掛け算の話になってんだ?
882 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:02:33] >>897 8085のアーキテクチャ知らないと正確なことはいえないし、だから断定はできないけど 今話題になってる処理(Ascii => BCD, BCD => Binary)なら、確かに違いは ないとはいえないがまあ無視できるレベルと予想するのが妥当でしょ。 オーバーヘッドなんてせいぜい引数をスタックで渡すことぐらいしかないと思う。 しかし8085って70年代の石でしょ確か。 こんなの使うシステムがまだ存在するの?8051と勘違いしてません?
883 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:07:24] >>882 甘いな。甘すぎだな。 引き数をレジスタ渡しするコンパイラもあれば、動けばいいというレベルで実装されたライブラリもある。 従って、一概には言えない。 おまけに、80系(8080、8085、Z80からの派生)のCPUは今世紀に入っても作られている。
884 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:11:18] >>882 元ネタは ”cの実数変換が重くて使えない” これです
885 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:23:14] まず、その添附ライブラリがどうやって変換してるのか調べた方が無駄が少ないんじゃね?
886 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:25:06] >>883 >動けばいいというレベルで実装されたライブラリもある。 なんか非現実的な想定って気がするけど。。 昔「プロのプログラマは人が作ったライブラリを信用しない」って小話(?)が あったけど、これはもちろん他人に必要以上に懐疑的な奴に限って自信がない 三流の奴だってネタなんだけど、君もその類なんじゃないの? >>884 だから>>882 で書いた「今話題になっている処理」の話になっているわけでしょ。
887 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:27:41] インデックスレジスタ少ないしレジスタ修飾貧弱なのにCで吐き出すコードが効率いいとは思えない と昔に教え込まれた
888 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:31:16] >>886 元ネタへのcじゃ重いへの返事としてASMでやりなってこと どんなにがんばってもプログラマーの技量が同じならcでASMより速いルーチンはかけないだろう?
889 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:34:54] >>888 読解力ない人だねえ。。
890 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:35:37] へたれCプログラマがまともにASM書けると思うのか?
891 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:40:51] っていうかねえ、実数扱う処理なんてド素人に、曲がりなりにもプロが書いている コードより効率がいいものがホイチョイト書けますかねえ。。 掛けるとしても、まずコンパイラの実数のフォーマット調べる必要があるわけで これは案外大変な場合があると思うんだが。
892 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:44:24] Cだけで書いて早い処理がやりたいのか、そうじゃないのかハッキリしる
893 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:45:58] >>892 ハッキリしてるって。読解力ないなあ本当に。。
894 名前:ε=( ̄。 ̄)yー~~ mailto:sage [04/10/24 21:49:21] >886 配列・ポインタで使われるベースインデックスアドレス指定の話とか分かってるか? 具体的にアセンブラで言うとeb〜の話だ。 その使い方によっても速度は思いっきり変わる。 ポインタ使えば、速度は速くなるってことぐらい知ってるのであろう。 >883の甘いってのは、こういう基本的なアドレッシングモードの話が分かってるのかどうかということであろう。
895 名前:ε=( ̄。 ̄)yー~~ mailto:sage [04/10/24 21:53:40] 追加だ。 アドレッシングモード・・・、やさしく言うと、 アドレス指定方式の話だ。 基本情報の試験にも出るぞ。 そこを分かっているかと問われているのだ。 はずかしいと思うべし。
896 名前:デフォルトの名無しさん mailto:sage [04/10/24 21:58:58] >>891 ホチョイと書かなくてもいいんじゃねえの、一ヶ月くらいかかって書いてみればいいのよ で、だめだったらあきらめて整数型のところへ降りてくればいい、そしたら一ヶ月の苦労が実って 整数型のルーチンがホイチョイとかけるようになっていると思われる
897 名前:デフォルトの名無しさん mailto:sage [04/10/24 22:10:50] >>894 あのー、Ascii => BCD, BCD => Binってアセンブラで書いた経験あります? こんな処理にディスプレースメント付のインダイレクトアクセスなんて 普通は使うまでもないんですが。 しかし、HNに顔文字使う人ってたいていヘタレなのはどうしてだろう。 本人は余裕かましてるつもりなのかもしれんが、 「余裕かましているふり」をしないではいられないことが傍目には 脆弱にみえることがどうしてわからないのかだろう。
898 名前:デフォルトの名無しさん mailto:sage [04/10/24 22:17:09] 8085と思ってない模様 <ε=( ̄。 ̄)yー~~
899 名前:ε=( ̄。 ̄)yー~~ mailto:sage [04/10/24 22:21:58] >897 >オーバーヘッドなんてせいぜい引数をスタックで渡すことぐらいしかないと思う。 こう書かれていたからだよ。 アドレッシングにスタック使うなんてx86はスタックマシンじゃあるまいし、無いはずだが。 この一行は、割込みでのスタック処理でのオーバーヘッドと読んだのだが? >普通は使うまでもないんですが。 オーバーヘッドの話題だそうだからだ。 別に使う必要が無ければ、普通にCで書けば良いのではないのか。
900 名前:ε=( ̄。 ̄)yー~~ mailto:sage逃げるが勝ち・・・ [04/10/24 22:24:13] >898 ん?8085・・・
901 名前:デフォルトの名無しさん mailto:sage [04/10/24 22:32:05] >>900 8085なんだろ、8086ですらない そんなもんでSoftwareFloatingPointなんて使えば ライブラリの出来以前の問題で遅いだろうな
902 名前:デフォルトの名無しさん mailto:sage [04/10/24 23:12:09] >>886 作った張本人が言ってるんだから間違いない。 実際、atoi()は空白を読み飛ばせない代物だった。 #どこのなんてコンパイラかは内緒。 あーそうだ、MS-DOS用時代のCコンパイラの(製品版の)バグもいろいろあったねぇ。 必要以上に懐疑的になる必要もないが、充分な検証もしないで過信もしない。
903 名前:デフォルトの名無しさん mailto:sage [04/10/24 23:15:49] >>902 当時はバグをいかによけて使うかというのがプログラマーの腕に含まれていたからねえ 古きよき時代じゃッたよ・・・・え゛
904 名前:デフォルトの名無しさん mailto:sage [04/10/24 23:59:41] 今もだよ(泣
905 名前:デフォルトの名無しさん mailto:sage [04/10/26 06:00:38] 昔語りが出てくるとスレ止まるのなw
906 名前:878 mailto:sage [04/10/26 09:41:10] ずいぶん引っぱってくれてありがとう。CはLSIC80('85頃のVer)。LIBは逆ASMして調べました。 整数変換機能の中では*10はシフトと足し算でやってます。callは通常reg渡し<--引数3個を 越えると以降はスタック渡しだから3個までで済むように気をつけてます。sscanf/sprintfみたい な「可変引数関数」は全部スタック渡しです。この調査の結果変換機能などの「下層」はASM化 する必要はないと判断しました。printf系では整数除算が使われるはずで、そこをASMで書いても 除算が減るわけではないと思います。アプリ部分をASMで書いてもリーダビリティが悪いだけで 速度改善には(工数かけた割には)貢献しないと思います。 割込は外付け8251が4本と8253を8259で整理させる方式ですが、割込処理も「先代」のASMより 速い奴をcで書いて実装しました。
907 名前:デフォルトの名無しさん mailto:sage [04/10/26 09:46:04] >>905 ヤングが付いて来れないからじゃね?
908 名前:デフォルトの名無しさん mailto:sage [04/10/26 11:16:18] >>906 =878 で、後は何が問題だ? #大体片付いたのかな?
909 名前:デフォルトの名無しさん mailto:sage [04/10/26 13:58:26] OSを使い始めるのはだいたいどのくらいの規模から? いや、この話もループになることはわかってるんだけど 定期的に議論しとくといいことあるかなって
910 名前:906=878 mailto:sage [04/10/26 17:20:01] 片づきました。906は純粋に御礼です。 >>909 アプリがOSの10倍くらいかなあ、行数で。何度も開発するならいいけど、一発モノなら裸でいい。
911 名前:デフォルトの名無しさん mailto:sage [04/10/26 20:45:06] まあでも8bitCPUなら、自分ならCでも 1234.56 は char [3] で確保して100進法で処理するな。 足し算も掛け算も100進法なら作るのも確認も簡単だしBCDの相互変換もテーブル引くだけだし トータルの処理コストも低いしな
912 名前:デフォルトの名無しさん mailto:sage [04/10/26 21:28:36] なんだよ「100進法」って ヽ(´・`)ノ
913 名前:デフォルトの名無しさん mailto:sage [04/10/26 21:42:14] 10進数でいうところの0〜99までを1桁とするんだろ? 2進数が北斗なら、100進数は南斗だな。
914 名前:デフォルトの名無しさん mailto:sage [04/10/26 22:41:26] 100進法なんて半端なことするなら256進法の方が効率良いだろ?
915 名前:デフォルトの名無しさん mailto:sage [04/10/26 22:49:24] >>914 石によってはな。
916 名前:914 mailto:sage [04/10/26 23:12:51] あぁ、もしかしたらBCD 2桁を1byteにパックしたのが「100進数」ってことなのか? もしそうなら、それは一般的な呼び方なのか? で、一般的なのだとしたら、いつの頃からそう云うようになったのだろうか… かつてはファームウェアを専門にしてたのだがなぁ〜。歳取ったな〜
917 名前:デフォルトの名無しさん mailto:sage [04/10/27 10:20:34] 36進数って結構使うよね
918 名前:デフォルトの名無しさん mailto:sage [04/10/27 13:39:02] 漏れなら 8bit CPU (というか 8085) なら、100進法じゃなくて素直に BCD 使うなぁ。 どうせ掛け算は無いし、桁上がりの処理も 100 進法よりラクだし。
919 名前:デフォルトの名無しさん mailto:sage [04/10/27 18:22:10] それだとDAA命令が要るでしょ。それがcで書けない。
920 名前:デフォルトの名無しさん mailto:sage [04/10/27 21:55:10] そういうのは自分でライブラリ書け
921 名前:デフォルトの名無しさん mailto:sage [04/10/28 07:45:01] 桁上がり処理って100以上なら上に足すだけだからさ。 asmでDAA命令使って書くのと同じ程度のコストだよ。 それに、100進ならCで手軽に書けるだろ? ポータブルに書いて、それで速度足りないなら自前で処理してもいいでしょ。 パックBCDのメリットはそのままHEXダンプで読める程度だな。
922 名前:デフォルトの名無しさん mailto:sage [04/10/28 07:49:38] >>914 多倍長だと、最終的に10-16変換があって、バイナリ多倍長だとこのコストが大きい。 加減算のコストを1.5倍くらい払っても、最悪を減らるからいいじゃない。 それに100進数だと、0.05の掛け算とかがとても楽だよ。バイトずらして 2*2+1するだけだし
923 名前:デフォルトの名無しさん mailto:sage [04/10/28 09:16:10] >最悪を減らるからいいじゃない。 へらる
924 名前:デフォルトの名無しさん mailto:sage [04/10/28 12:41:00] >>921 >桁上がり処理って100以上なら上に足すだけだからさ。 >asmでDAA命令使って書くのと同じ程度のコストだよ。 このものすごい勘違いには誰も突っ込まないのか?
925 名前:デフォルトの名無しさん mailto:sage [04/10/28 12:50:35] >>924 馬鹿構うのに疲れてきた恭子の頃。 #歳かな…
926 名前:デフォルトの名無しさん mailto:sage [04/10/28 15:21:11] >>924 「上の桁に1足して(今の桁からは100引く)」ってことだと思う。 漏れにはこれが DAA と同じ程度のコストとは思えないけど、 人によっては「どちらも O(n) のアルゴリズム≒同じ程度」なんだろうな・・・
927 名前:デフォルトの名無しさん mailto:sage [04/10/28 15:47:30] >>924 突っ込んでくれよ。 8085のアセンブラ忘れてしまったから、 アセンブラで書けば、こんなコードになる筈 CF=0 loop: RAM からロード=>A RAM からロード=>B A=A+B+キャリー DAA AをRAM に格納 DEC COUNTER JNZ loop 同じく100進数をアセンブラで書けば(たぶんCで書いても同じようになるだろ) C=0; ;CはCF用のレジスタ loop: RAM からロード=>A RAM からロード=>B A=A+C ; A=A+B ;ここで最大は99+99+1で199で8bitに収まる ADD A,#(256-100) ; 100以上ならCFが立つ C=0 JC SKIP ADD A,#100 ; 桁上げが無いので元に戻す同時にCFが立つので C=1 SKIP AをRAM に格納 DEC COUNTER JNZ loop そんなに変わらんだろ?
928 名前:デフォルトの名無しさん mailto:sage [04/10/28 17:26:10] >>927 「そんなに変わらん」=「同程度」かはともかくとして、 8085 で C レジスタまで使っちゃったら、カウンタ用のレジスタがなくなっちゃう罠 (HL, DE は RAM からロード/ストアする際のポインタとするとして) もともとの速度の話に戻ると、C で100進法の加算をインプリメントしてDAA とホントに 同程度になるのかは疑問っぽいのでは。憶測なんで外れてるかも知れませんが。
929 名前:デフォルトの名無しさん [04/10/28 18:40:06] CANを使おうとおもっているんですが、 参考になるソースやデバイスの使い方に詳しいサイトははないでしょうか?
930 名前:デフォルトの名無しさん mailto:sage [04/10/29 21:51:53] RS232Cで通信して動く機械AとBがあり それぞれを連動させて動かすプログラムを作りたいのですが、、、 まずAのみのプログラムはちゃんと動き、Bのみでも同様に動きました そこで二つを連動させたら動かない、というかプログラムを実行したところでPCがフリーズ なぜでしょうか? 素人質問ですみません
931 名前:デフォルトの名無しさん mailto:sage [04/10/29 21:56:24] >>930 他人にわかるように説明しろ
932 名前:デフォルトの名無しさん mailto:sage [04/10/29 22:02:59] あいまいすぎて原因が絞りこめないんだが…
933 名前:デフォルトの名無しさん mailto:sage [04/10/29 22:36:28] プログラムに問題があるか、仕様に問題があるかのどちらかだろう。
934 名前:デフォルトの名無しさん mailto:sage [04/10/30 00:19:00] 同じCOMポート使おうとした…そんなわけねぇな
935 名前:デフォルトの名無しさん mailto:sage [04/10/30 01:09:52] 両方受信待ちしてるとか言う、ベタな落ちに5000バーツ (・`ω´・)ノ
936 名前:デフォルトの名無しさん mailto:sage [04/10/30 01:41:21] >まずAのみのプログラムはちゃんと動き、Bのみでも同様に動きました それぞれどうやって「ちゃんと動いたかどうか」確認出来たんだろう・・・
937 名前:デフォルトの名無しさん mailto:sage [04/10/30 02:38:40] ちゃんとした後輩Aと、ちゃんとした後輩Bを連動させたら大変に険悪なことになった
938 名前:デフォルトの名無しさん mailto:sage [04/10/30 04:51:39] >>937 ワロタ 詳細キボンヌ
939 名前:デフォルトの名無しさん mailto:sage [04/10/30 22:32:42] おかしいのは>>930 の頭 以上
940 名前:デフォルトの名無しさん [04/10/31 13:37:11] 彼女Aとはちゃんと、、、彼女Bともちゃんと そこで2人を合わせたら、、、(以下略
941 名前:デフォルトの名無しさん mailto:sage [04/10/31 13:47:45] うむ、制御系はやはりノウハウが必要だね。
942 名前:デフォルトの名無しさん mailto:sage [04/10/31 13:48:04] >>930 共通ヘッダがだめだめ
943 名前:デフォルトの名無しさん mailto:sage [04/10/31 14:47:30] >>940 お前さあ、世の中には3Pとかやってる香具師いるんだよ? HIGH/LOWだけじゃなくて、もっと世の中を(ry
944 名前:デフォルトの名無しさん mailto:sage [04/10/31 14:58:31] >>943 量子コンピューティングを学べ
945 名前:デフォルトの名無しさん mailto:sage [04/10/31 15:04:11] 量子コンピューティング=乱交パーティー
946 名前:940=360 mailto:sage [04/10/31 17:54:35] >>943 3Pに関しては、男2女1あるいは女2男1ともに経験ありますが、こういうこともあります。 再現性は高いです。場合によっては資源を喪失することもあります。 いわゆる、深刻なダメージを受けるといったらよいでしょうか。
947 名前:360 mailto:sage [04/10/31 17:59:32] 資源の共有には十分な注意が必要ですね。 調停者を置くか、ルールの規定が必要ですね。 基本的には、 need to know と言ったらよいでしょうか 知る必要の無い事は知らなくてよい。 もういいって?しつれいしますた。
948 名前:デフォルトの名無しさん mailto:sage [04/10/31 18:03:14] >>945 違うね、オナニーだ。しかも、両刀使い。
949 名前:デフォルトの名無しさん mailto:sage [04/10/31 18:36:54] 収拾つかなくなってきたな。で、>>930 、原因は何だったんだ。 このスレは参考になったかい?ん?
950 名前:デフォルトの名無しさん mailto:sage [04/10/31 19:39:38] ネタ振りしてる間に 出て行ってくれ
951 名前:デフォルトの名無しさん mailto:sage [04/11/01 00:00:30] >>950 それは確か… 沢田研二
952 名前:デフォルトの名無しさん mailto:sage [04/11/01 00:09:13] >>949 ストレートケーブルだったのさ
953 名前:360 mailto:sage [04/11/01 00:13:16] >>950 年齢が。。。と、自爆攻撃
954 名前:デフォルトの名無しさん mailto:sage [04/11/01 02:45:11] >>953 360って何の番号?
955 名前:360 mailto:sage [04/11/01 03:02:08] 360=0x168=イロハ
956 名前:デフォルトの名無しさん mailto:sage [04/11/01 13:30:21] >>952 ケーズルがクロスだけの事はあって、苦労ス
957 名前:デフォルトの名無しさん [04/11/02 16:43:01] 新スレ建てないと、このまま落ちますよ。 950超えてるので自動的に落とされます
958 名前:デフォルトの名無しさん [04/11/02 22:25:09] キタ━━━( ゚∀゚ )━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━( ゚∀゚ )━━━!!!! 香田 やっと、やっと キタ━━━。・゚・(ノД`)・゚・。━━━ !!! www.ogrish.com/a/shosei_koda_beheading_video_on_american_flag.html すっげー。エグさでは韓国人が一番だったけど、悲惨さではトップかも・・・・・ やられる前の朗読でずーっと下向いてるのはもうカクゴとか決めてるのかな。 泣いちゃったのかな? おまいら、感想は?どうよ?(゚∀゚≡゚∀゚)どうよ?どうなのよ━━━━━ん?
959 名前:デフォルトの名無しさん [04/11/02 22:31:51] buffer って何ですか?どこにあるのですか?
960 名前:デフォルトの名無しさん mailto:sage [04/11/02 22:35:46] bukkerなら結構身近にあると思うよ
961 名前:デフォルトの名無しさん mailto:sage [04/11/02 22:56:31] >959 〈衝撃などを〉やわらげる,緩和する 擬音語 ‘buff' から、つまり 叩くとバフッて音がする チミのお腹の脂肪のことだ
962 名前:デフォルトの名無しさん mailto:sage [04/11/03 00:34:35] >>957 そうだな、そろそろ立てるか 以下テンプレ、問題なきゃ明日立てる 俺は俺であり、それはお前の事だ。 ハード寄りの話も大歓迎だ。 道具話も楽しくやれるならやってくれ。 過去ログ 制御系なら、俺に聞け! pc3.2ch.net/tech/kako/1002/10021/1002176627.html 制御系なら俺に聞いてもいいぞ(2) pc2.2ch.net/tech/kako/1038/10380/1038094914.html 制御系なら俺に聞いてもいいぞ(3) pc2.2ch.net/tech/kako/1059/10594/1059488975.html 制御系なら俺に聞いてもいいぞ(4) pc5.2ch.net/test/read.cgi/tech/1068869894/ 関連過去ログ ●●●くみこの組み込み相談室●●● pc3.2ch.net/tech/kako/988/988084737.html
963 名前:デフォルトの名無しさん mailto:sage [04/11/03 00:35:55] スレが落ちてからでも問題は無かったりする
964 名前:デフォルトの名無しさん mailto:sage [04/11/04 07:41:13] >>963 じゃ、その方向で(w
965 名前:デフォルトの名無しさん mailto:sage [04/11/04 11:24:12] 落ちてからじゃ遅いんだよ 制御系ならフェイルセーフをきちんとしる
966 名前:デフォルトの名無しさん mailto:sage [04/11/04 11:26:44] そのためのウオッチドックだ
967 名前:デフォルトの名無しさん mailto:sage [04/11/04 11:39:26] だけど ”誰” が ”ウオッチ” するんだよ!? ・・・>>966 、よろしく頼(よろ)んだぜ!? (ビキッ
968 名前:デフォルトの名無しさん mailto:sage [04/11/04 13:26:48] 魚っ値
969 名前:デフォルトの名無しさん mailto:sage [04/11/04 14:00:04] 970 がスレ立て担当
970 名前:デフォルトの名無しさん mailto:sage [04/11/04 21:33:38] 北チョンのニュース番組はだいたいこう聞こえる 踏んだら孕んだ! 孕んだ振る降る般若だ! 童貞擦る無駄、フン出る春巻きはむ無理! チン毛ちぎり、看板塗る飛騨! 安眠煮る焼酎! 安打!?半田ゴテ適時打!! 原チャリ盗んだ! よくちょん切れるハサミだ! ∧__∧ ________ <丶`Д´>/ ̄/ ̄/ ( 二二二つ / と) | / / / |  ̄| ̄
971 名前:970 mailto:sage [04/11/04 21:36:43] ぎゃああああ。アクセス規制中でしたああああっ?(;・`д・´) だずげでええええっ ---------- 新このホストでは、しばらくスレッドが立てられません。 またの機会にどうぞ。。。 デフォルトの名無しさん ( , 1) ホスト121.net218219044.t-com.ne.jp 制御系なら俺に聞いてもいいぜ(6) 名前: デフォルトの名無しさん E-mail: 内容: 俺は俺であり、それはお前の事だ。 ハード寄りの話も大歓迎だ。 道具話も楽しくやれるならやってくれ。
972 名前:デフォルトの名無しさん mailto:sage [04/11/04 22:25:53] >>970-971 荒らしじゃないのか(w FailSafe起動します
973 名前:デフォルトの名無しさん mailto:sage [04/11/04 22:28:32] 次スレ告知です 制御系なら俺に聞いてもいいぜ(6) pc5.2ch.net/test/read.cgi/tech/1099574832/
974 名前:970 mailto:sage [04/11/05 13:37:56] >>972 ,973 ありがとゴジャマス m(。。;)m あんなのはじめて見たんであせった。 もうしません、もうしませんからあっ、って言ってからトライしても同じエラーだった。
975 名前:デフォルトの名無しさん mailto:sage [04/11/15 04:55:30] sage
976 名前:デフォルトの名無しさん mailto:sage [04/11/15 13:50:10] 未だ生きてたのか。
977 名前:デフォルトの名無しさん mailto:sage [04/11/17 22:46:44] 埋め
978 名前:デフォルトの名無しさん mailto:sage [04/11/18 01:42:43] 梅
979 名前:デフォルトの名無しさん mailto:sage [04/11/18 02:20:40] 979
980 名前:デフォルトの名無しさん mailto:sage [04/11/18 02:21:16] 980
981 名前:デフォルトの名無しさん mailto:sage [04/11/18 02:21:50] oti!
982 名前:デフォルトの名無しさん mailto:sage [04/11/18 03:26:20] int3