1 :
デフォルトの名無しさん :
2007/10/03(水) 19:47:24
前スレ974だけどやっぱ組み込みでcifsは無謀そうですね。 ところで複合機とかでsmbプロトコルが使える製品あるけど、 あれはやっぱりOSにwindows使ってるんですかね?
MSからライセンス買って仕様もらってるだけじゃない? 昔、話題になったときは勝手に使うのはまずいだろうという話だったような
>>3 独自開発スタックのを見た事あるよ。詳細は知らんけど UNIX 系。
MSに睨まれるのは怖いな
FATの特許料払えよおめーら
CPUビッグエンディアンFPGAリトルエンディアンの基板を初めてみた。 狂ったふりをした。
それなんてCBE評価キット。
10 :
デフォルトの名無しさん :2007/10/17(水) 18:09:34
もう保守させるつもりかよ。 建てた奴は責任もって何か話題フレよ
ファミコンのソフト作りたいんだが、どこを参考にするのがいい?
12 :
デフォルトの名無しさん :2007/10/17(水) 23:05:11
よくハードウェアの仕様で メモリアドレスの表にミラーアドレス? というのがあるのですが、これはどういった用途のためなんでしょうか 物理アドレス 0x00000000-0x0000FFFF 論理アドレス 0x00000000-0x0000FFFF 0x80000000-0x8000FFFF (ミラー) みたいな
用途というより単にアドレスデコードを手抜きしてるだけじゃないの?
こっちはキャッシュが効いてあっちはキャッシュが効かない みたいな使い分けもあるときもあるしないときもあるっぽい
toppersのJSP1.4.3を組み込んでるんですが、ROM化がうまくできないので 詳しい方いたらアドバイスお願いします。 ハードは3069+LANボードです。 プログラムはLEDを点滅させるだけのものです。 FLASHに簡易モニタを書き込んで、DRAMにアプリを転送したときは正常に 点滅するのですが、ROM化して書き込むとうまく動きません。 以下ROM化するときにやったこと config\h8\akih8_3069f内のMakefile.configのDBGENV := TNCT_MONITORを コメントアウトしてDBGENV := ROMを有効にした。 カーネルを % perl ../configure -C h8 -S akih8_3069f % make depend % make libkernel.a で再構築 アプリを % perl ../configure -C h8 -A test1 -S akih8_3069f -L ../libkaernel/ % make depend % make でコンパイル できあがったjsp.srecを書き込んだがLEDは点滅しない。
>>15 MemoryMapはROMに合わせたんだろうな?
17 :
デフォルトの名無しさん :2007/10/23(火) 20:49:50
VxWorks5.5にPCIでLANインタフェースを組み込んだんだけど、 最初は動くけど少し負荷(数kのパケットを受信)をかけただけで もう受信しなくなってしまう。 なんか同じような状況になった方いたら教えて欲しいです。 ・PCI-PCIブリッジ上にLANのポートがある ・PCIコンフィグレーションはPCI-PCIブリッジを含めて手動設定 ・LAN IFはGD82559ER(メモリ経由) ・ENDドライバの追加タイミングはアプリケーション上で ・netStackSysPoolShow,netStackDataPoolShowで見てもfreeはたくさん
18 :
デフォルトの名無しさん :2007/10/23(火) 21:18:09
制御系って何言語で書くことが多いんですか? アセンブリ?C?C++を使うことはあるんですか?
リッチなときはC++も使うしperlだって余裕で飛び出すけど 大抵は貧乏なのでCかアセンブラ
20 :
デフォルトの名無しさん :2007/10/23(火) 21:34:56
貧乏というのは、メモリの容量とかの問題ですか??
21 :
デフォルトの名無しさん :2007/10/23(火) 21:43:29
すいません。C#でテキストボックスに入力された数字をintに格納すること ってできるのでしょうか??
intは型なので格納できませんよ つかスレ違いですよ
テキストボックス・・・
24 :
デフォルトの名無しさん :2007/10/23(火) 22:43:35
貧乏乙
>>18 今時アセンブラなんて使わない。
電源ON時の処理とか割り込みハンドラーでアセンブラ
必要になることあるけど、ほとんどCかC++で大丈夫。
メモリー価格とかCPUの処理能力が一昔前よりアップしてるので
C++が使いやすくなってる。
昔は少ないのメモリーにいかにプログラムを収めるかが
重要だったかもしれないが、今はそれよりもバグの少ない高品質な
ソフトが求められてると思う。そのためにはC++のクラスを使った
ソフト設計が有利。
RAM 2KBとかじゃなければなw 頑張れば2KBでもC++使えるかもしれんが。
C++ 使うのに RAM の少なさなんて関係ないだろ。使えない機能は出てくるだろうけど。 選べるんなら C より C++ だな。
>>27 関係なくもないよ。
26も言ってるけど、RAMの容量が少ないときは
プログラムはROM上に置いてデータ領域だけRAMに置くのが
一般的だった。
そしてRAMの容量を超えないようにRAMを絶対アドレスで管理するようなことも
行っていた。
この場合はアセンブラだと管理しやすい。
RAMの容量が十分大きければプログラムすべてをRAM上で動かし
メモリーが必要になった時点でnew(malloc)でメモリー確保することが可能となる。
RAM容量が少ないとnew(malloc)でメモリー確保時にメモリー不足になることも
想定する必要が出てくるので大変になる。
また、C++でテンプレートなんか使うとプログラムに必要なメモリー容量の
見積もりも難しくなる。
メモリー容量の見積もりが一番簡単なのはアセンブラ。
ソフト開発の容易さはC,C++の方が良い。
>>28 C/C++ 使っててもマップファイル見れば何がどこでどれだけ容量食ってるのかすぐわかるよ。
new/malloc がマズイなら使わなきゃいいだけ。テンプレートで無駄に膨らむならそこだけ
手で書けばいい。それでもアセンブラよりは遥かにマシなはず。
>>29 作っちまってから足らないじゃ済まないわけで
むしろ、そこまで高級言語に固執する理由がわからん
アセンブラで済むようなものなら、それでも良いんじゃない?
リアルタイムOSに何%か食われる、ってことの他に、そのOS採用するときのチーム/チーフ の決定がクソだったりね。タイマが100mSオーダーでしか張れなかったり、複数イベントを タイムアウト付で待っちゃいけなかったり・・・ ASMでもCでもいいけど素っ裸が好き♪
リアルタイムOSっていうのはこの世にないんだよ。
>>31 >複数イベントを タイムアウト付で待っちゃいけなかったり・・・
それってマルチスレッドでセマフォ使ってプログラムしてもそうなの?
ま、決め付けはよくないんだが・・・。
ちなみに何てOS?
>>32 文字通りとればね。
でもリアルタイムを名乗るOSなら簡単に出来る事を、
例えばFPGAで論理を組むのは大変だしー。
リアルタイムOSっていうのを使って制御する方が難易度高いって事をわかってないのが...
>>34 それは失礼。確かに簡単な制御をRTOS使うより裸の方が使いやすいけど?
FPGA、RTOS、裸のどれを選ぶかは自由ですよ自由。
何か不満があったらココじゃなくて君の上司に言って。
おれに上司はいないよ。
就職しろよ
丸投げするところばっかりだろ?
どこまでリアルタイムか予測できない
タイミングチャートとか書けば、ある程度はわかるのでは?
今、派遣ですが制御系をやるにはやっぱり就職した方がいいでしょうか?
派遣でも就職してるのに変わりはないよ。 転職した方がいいかどうか聞いてるの? 過去ログより 3 名前:1 投稿日:02/11/24 09:02 就職相談の話題が循環するから先に答えておく。 好きならやれ。 他に選択肢があるならそっちをえらべ。 自分が選んだ、なりたい自分になれ。 以上。
政府見解でも一般人の認識でも派遣は無職に分類されるわけだが
44 :
デフォルトの名無しさん :2007/11/12(月) 20:57:52
今H8マイコン+HEWで文字出力してるんだけど、 プログラム上で"送信"ってのをchar型に入れると、90 97 90 4Dになる・・・ (SJISだと91 97 90 4D)。 strcpy(str, "送信"); みたいな感じで。 他にも、完了だと 89 AE 96 B9(SJISだと8A AE 96 B9)になってしまう・・・。 "データ"とかカナだと上手く行くのに漢字だと0x100づつ足されてる・・・? これ何て文字コードですか?JISでもEUCでもないよね?
何かのコードというよりも、変になっている、んでは? 「進」「了」はそのままのようですし。 ソースファイルをバイナリダンプしてどうでしょう? オブジェクトファイルは? という感じでとりあえずビルド過程のどこでどうなっているのかを 追ってみては?
自己解決しました・・・そりゃいかんわ・・・ 別のところでそのchar2文字をushort型に入れるところで・・・ ああ恥ずかしい・・・。
>>42 >派遣でも就職してるのに変わりはないよ。
バカ?
48 :
デフォルトの名無しさん :2007/11/28(水) 02:07:30
制御工学って機械系の中で最も就職が悪い分野なんでしょうか?
49 :
デフォルトの名無しさん :2007/11/28(水) 09:45:29
地方によるべ
50 :
デフォルトの名無しさん :2007/12/02(日) 17:58:39
制御系って大手メーカー以外の就職先ってあるの?
>>50 弊社などいかがでしょう。従業員100人前後の会社ですが、制御系の請負
開発もやっています。
>>50 大手メーカーの子会社
中小メーカー
請負
派遣
いろいろありますよ
54 :
デフォルトの名無しさん :2007/12/02(日) 18:20:26
派遣はスキルにならないからやめとけ
100人ってけっこう多いな
100を越えると、まとまりにくくなるから分裂しやすくなるんじゃね。
会社にノウハウが貯まらないと嘆いているのに派遣を雇う会社があったな 制御系は特に自社の力を武器にしなきゃいけないだろうに。
100〜200人の間に、「安定性の壁」 みたいのがあって、なかなか越えられないんだよね。 俺の居た会社もそうだった。なんか原子核の法則みたい(w
板違いだからそろそろ遠慮するかマ板でやってね
KY
死ね
H8/3052Fでstd::vector使おうとしたらROMから溢れたorz newlibとかlibstdc++よりサイズの小さい組み込み用ライブラリがほしい・・・ # リエントラントとかいらねーのに、struct _REENTがでかい
>>63 日本語でおk
エスパーすると、newlibのunreent()の中身は大概
unreent() { unreent_r(_impure_ptr); }になってて、切り離せない
それとも組み込み用ライブラリの隠語?
じゃ、自前で用意すればいいんじゃないの?
そもそもROM512KでROM溢れるか? RAM8KだからRAM不足だろ? ヒープ使うようなコードをRAM8Kで書こうって方がどうかしてる
俺の腕が悪いんじゃないと言いたいのかも?
つーか、ROM512K、RAM8KでSTL使おうとするほうが無茶。
H8レベルだとヒープも使わないし、初期値付変数も使わない (HEWのD R セクションは殺してしまう)
フリースタンディングでC++使うのが初めてだったんで、 そこらへんの見積もりがぜんぜん取れてなかったんですorz まあ、C++使おうとするよりずっと前から3052使うのは決まってたし、 必ずしもstd::vectorが必要なわけではないのでそれはかまわないけど。 # 経験が浅いとか知識がないとかはそのとおりなので # 反論の余地はないけど、腕のよしあしは関係ないと思う std::vectorは単純に手を抜きたかったから試しただけ。 そもそもC++使おうとしたのが単なる手抜き # でもprintf使いたいけど書きたくないからnewlibのstdioは使うw
7行スレで拾ったprintfもどきが役に立つ
昔、8086でprintfをアセンブラで書いたことあるよ。付属のprintfがデカすぎたから どっかのCコンパイラについてたprintfは割とよくできたなあ。
LSI-C86かな? あれの整数版は確かにコンパクトにできていたが。
85にもあったよ。ICC(H8用)では実数機能の有無をlibで選択できるようになっていたり。
75 :
デフォルトの名無しさん :2007/12/29(土) 10:24:52
すいません、よくprintf関数が重いとかいわれるのですが、 よく意味がわかりません。 開発環境は、yellowsoftのものをつかってますが、 無償版だと、「YCH8は16kまで」「printf関数は10kを超えるので 使用しないでください」とか書いてあります。 ○○kとかの意味もよくわかりません。 こんな素人ですがご教授お願いします。
>>75 printf()はなんでもありの万能関数になっている。
従って、普段使わないだろうロジックも含まれているためサイズが大きい。
そのサイズを具体的に表わすとすると、10KiBなどという表現になるわけだ。
つーか、その辺の基本も判らずに制御系の開発なんて何考えているんだ?
だから簡易版のオレprintfをみんなで
k はコードのキロバイトのことだろう。多分。
7行printfは便利だったな
>>79 どんなの?%dだけ処理なら7行でもなんとかできるかな?
printfの本体は別の関数だよ。元を小さくしないと...
>>80 7行スレに行ってこい。そんでもって感動してこい。
84 :
デフォルトの名無しさん :2007/12/29(土) 22:00:59
85 :
デフォルトの名無しさん :2007/12/30(日) 08:38:58
printfのなかって、こんなに深かったんだ。 printf-vprintf-vfprintf-__vfprintfてコールしてるのか。 すげえな。 感動した。
てーか、似たような処理をするバリアントがたくさんある奴は なんだってだいたいこんな作りだ。 例の7行printfはもちろんその7行で完結しとるわけだが。
87 :
デフォルトの名無しさん :2008/01/02(水) 00:02:49
これは組み込み系の話題といえるのかわからないんだけど、 printfみたいに引数を何個でも指定できる関数ってどうやって作るの?
>>87 C言語スレのほうが適切だろうが…
「可変引数リスト」でぐぐれ。
あまり使わないけどね。
89 :
デフォルトの名無しさん :2008/01/02(水) 00:06:13
>>88 ありがとう。組み込み系でprintf作るんで使いたかったんです
作るんだから使いたいってのが判らないが 普通はいったんvsprintf系の関数を作る。 つまり可変引数じゃなくてポインタ渡しのを作って それを呼び出す形にする。
91 :
デフォルトの名無しさん :2008/01/02(水) 15:36:41
最近、職場で「出戻り寄生派遣」という言葉が囁かれています。 派遣契約を切られたにもかかわらず「次の派遣先でも切られてしまって生活できません」 などと 言って泣き落としで現場マネージャーにすら一切話がないまま再派遣契約した人のことです。 今月初め、半年前に切った派遣が出社してきてマネージャーも含めみんなびっくりしました。 影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・ そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。 仕事に必要な技術がなく勉強する気もないのを逆手にとって 「私のような人の視点で仕事をすることも大切だと思います」と挨拶された時には みんな凍りついていました。派遣でスキルアップとか言ってる癖に以前と同じように 技術を勉強する気はなく「それは私の仕事ではありません」の一点張り、 派遣で収入アップとか言ってる癖に時給は前回と同じで喜んで再契約。 結局、なんの努力もせずに派遣で安直に収入を得たいだけじゃないですか。 身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、 いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、 契約終了を通知されれば泣き落とし。悲惨な人生ですね。 氏んだほうがいいんじゃないですか。
92 :
デフォルトの名無しさん :2008/01/02(水) 23:36:52
ノートPCのマザボにくっついてる部品を取りたいんだけど、 手持ちの電子工作用はんだごてでははんだが溶けません。 何Wぐらいのつかえばいいんでしょうか?
>>92 どこかのサイトで、天ぷらのよーに揚げてるのがあったな
きもちいいくらいぽろぽろ取れてたよ
一度使った鍋はもう食用には使えないけどな
>>92 鉛フリーはんだとかかもしらんね
融点高い奴
ローズ対応だろ どのキャラ使っても楽勝じゃないの?
?
追いハンダして一旦そのメタルスライムをキングスライムにしてしまえば取れるんじゃないかな?
>>89 Linuxのはパクるなよ
同じとこにBSDのもあるから
Linuxの、という言い方は宜しくないな。 GPLな、とはっきり言うべきかと。
LinuxだろうとGPLだろうと、決まりに従えば使えるじゃないの パクるなんて人聞きの悪い
102 :
デフォルトの名無しさん :2008/01/05(土) 18:17:58
コピペ君って馬鹿だな、まで読んだ。
ある物体をDCサーボモータを使って定速回転や位置決め制御を行いたいんですけど PI制御かPID制御どちらが良いのでしょうか? PID制御にすると初動や近似の時、慣性モーメントの影響で高トルクが必要だと思うのですが・・・ 実際どうなんでしょう?
>>104 理屈は分からんが、それはPID制御と言わないのでは?
>>105 ハードウェアにかけられるコストで安定するまでの時間が変わるんちゃう?
って、いいたいのんとちゃうやろか???
位置決めに関わるような制御するなら オーバーシュートが許されるかそうでないかで結論は自ずと出るだろ
制御系と組み込み系って聞くのですけれども両者は何が違うのでしょう?
同じ意味で使う人もいればケチつけたがる奴もいる 気にするな
PCで制御することもあるがその場合は組み込みとは云わない
>>108 個人的には, ちゃいます
制御系: 伝達関数とかの数式を理解できる知識が必要
組込系: 上記知識がなくてもやってける所
制御系:きったねー現場で2ヶ月間デバッグに耐える必要あり 組込系:ダメ上司とクソミドルの間で延々耐える必要あり どっち選ぶ?
>>108 制御するのが制御系
組み込むのが組み込み系
組み込み系かつ制御系ってのが多いので混同されやすい。
>>113 制御系とは「高度な制御理論を実現する物だけ」と
騒いだ奴が居てウザイから「くみこスレ」が復活したけどな
halt中のNMIの話以降全く見なくなったが
彼は一体何処に行ったんだろうな?
115 :
デフォルトの名無しさん :2008/02/29(金) 02:11:18
制御系の仕事に興味があるのですが、日々どのような仕事をするのでしょうか? プログラムを書くだけ…というわけではなさそうですが
>>115 学生さん、かな?
設計〜デバッグが5割
ドキュメント整理が3割
打合せ、会議が2割
ってとこかな。
あなたの実力にもよるし、会社にもよるから
一概には言えないと思うけど書いてみた。
117 :
115 :2008/02/29(金) 21:17:32
ありがとうございます。 設計は具体的にどういうことをするか、ドキュメント整理が何なのか、良く分かってないヘタレですが、 今年制御系の授業を受けて機械よりも制御に興味を持った学生です。
機械制御の理論と、ここでいう制御系とは違うよ。 H∞とか持ち出しても皆んなチンプンカンプン。 使うのはPID制御に毛が生えた程度。DDAの方が応用が利くかもな。
>>118 そらそうだ
「どう実現するか?」には興味はあっても
理論そのものには興味がないのが
プログラマという人種なんだから
120 :
デフォルトの名無しさん :2008/04/12(土) 14:33:23
一ヶ月以上も前の話を発掘されてもな
PID制御か、なつかしい
オープン系専門だったおいらが制御の勉強しようと思うんですが 先人の皆様にとって最も効率的と思える学習方法おしえてください。 ちなみにC++は使ったことありますがメインはJavaでした。
なんか つくる
126 :
デフォルトの名無しさん :2008/05/14(水) 06:44:50
>>122 ゲームが好きなら GBA あたりでゲームとかツールを作ってみたららどう?
資料も英語なら探せば見つかる。C言語で作れるし、パソコンで動くシミュレータも色々ある
作ったものを マジコンでDSで動かして他人に見せて自慢も出来る
127 :
はげおやじ :2008/05/25(日) 19:16:09
リアルタイムOSについて素朴な疑問なんだけど 例えばAタスクとBタスクがあって Aタスクが優先度が高い場合なんだけど Aタスクでdly_tsk(10)とかになったら Bタスクに制御が移るんだけど Bタスクの処理が20msぐらいかかるもので その間タスクの切り替えシステムコールがない場合は Aタスクには10ms経っても戻ってこないってことでOK? それともOSが10ms経ったらBタスクの処理中でも Aタスクに制御を戻してくれるのかな?? う〜ん、そのへんがよくわかってないで 中堅PGのおいらっていったいorz
タイマ割り込みか何かをきっかけに使って、強制的にディスパッチするような 仕掛けがそのシステムになければ、制御は戻らないですね。 あと、その時点で実行中のタスクの優先度がタスクAの優先度より高ければ、 タスクAには戻りません。
>>127 > それともOSが10ms経ったらBタスクの処理中でも
> Aタスクに制御を戻してくれるのかな??
こういう仕組みが無ければリアルタイムOSとは言わない。
タイマ割り込みをOSが握っていて、割り込みごとに待ち時間をチェックして、
ディレイタイムが過ぎていたらディスパッチする。
ただし、タイマ割り込みの時間はシステムによってさまざまなので、
タイマ割り込みの間隔が長い場合には10msを超えることもある。
>>127 を10mSのオーダーで実現してくれるリアルタイムOSなら、最小のタイマ割り込みは1mS
を選ばなければいけない。XXX_TICKとかいう生成パラメータがあるはず。
100MHzより遅い石では重くてしょうがない。
>>127 ,129
>> それともOSが10ms経ったらBタスクの処理中でも
>> Aタスクに制御を戻してくれるのかな??
>
>こういう仕組みが無ければリアルタイムOSとは言わない。
これは寧ろ、リアルタイムじゃないOSの仕様だと思うが?
>>131 タイムスライスのことを言ってるんだと思うが、
>>127 にdly_tsk()とあるのでプリエンプティブの話と解釈した。
133 :
デフォルトの名無しさん :2008/06/09(月) 16:34:09
HEW4コンパイラについて質問があります SHコンパイラでは、デフォルト引数の使用は出来ないという解釈で合っていますか? void hoge(int a = 100); // ←こういうヤツ C2500 (E) Illegal token "=" というエラーが出て、怒られてしまいます・・・ R8C Tinyのコンパイラだと、全く怒られません。 そもそも、デフォルト引数ってC++からでしたっけ?
C++ から。
C99でもおkだったと思う。
136 :
133 :2008/06/10(火) 08:56:17
どうもです。 R8C Tinyコンパイラの方が、余計(?)に対応してくれているんですね。 というか、SHの新規プロジェクトを明確にC++ sourceで立ち上げなかった 私が悪いのかorz
グラフィックLCDのフォントについて質問だけど、漢字とか ひらがなが必要なくて半角英数と半角カタカナぐらいなんだけど、 自分で作れるもんですかね?作り方がよくわからないんだけど。 それとも普通に購入かな?
>>137 作ろうと思えば作れるけど、
ちゃんとしたフォントデザイナーに作らせないと綺麗にできないぞ。
確かJISの8x16とか12x24が公開されていたんじゃないかと。 それより小さいのは誰が作っても大差ない位きちゃないし。
>>137 Linuxとかについてくる6x12サイズのビットマップフォントかっぱらって
くればいいんじゃない?
まあ問題は著作権だな。
>>140 なら大丈夫なんだろうけど。
フォントはフリーがあるみたいなんで探してみるか。 ただ組み込みに使うには.ttcなんかもってきてもどうしようもないよね? bmpとかPNGで配布してるのはどうやってデータに変換するん?
144 :
デフォルトの名無しさん :2008/06/11(水) 12:24:44
お前、本当にプログラマか?
おれのようにハード屋がファームまでやるハメになってるとみた
>>140 JIS X 9051 と JIS X 9052 は残念ながら全角だけだ。
X Window System のソースの中に入ってる、7x14.bdfなら
権利的な問題はないはず。
ハードもソフトも両方やってる人間だよ。ハードはほとんと 駄目だが出来る人いないからやる羽目に。 ソフトだって自分には向いてないのはわかってるんだ。
両方ダメならやめてしまえ 製品が出回ってからミスが発覚すると厄介だ
やめたいけど食べていけなくなる。俺みたいに技術向いてないのに しぶしぶやってるってやつは多くいると思うがね。
ハードは俺がやってやる、ソフトに専念しろ
>>150 プログラム技術板の住人とは思えん発言だな(w
>>151 昔はな、プログラムはハードウェアで作ってたんだぞ。
プログラムコードなどという軟弱なものは女子供のためのものだ。
>>152 バベッジの演算機かよ(wwww
俺が憶えてんのは、紙と鉛筆が限界だわ
MY2ZN-D2 DC24 が引き出しの中にゴロゴロしてるけど同僚からはソフト屋さんと言われるオレ
無限ループのタスク動かしても、他のタスクの処理ができる奴ってあるの?
できなきゃ困るだろ
どこのが出来るの?
どこのが出来ないの?
タイマー割り込みとかでスケジューリングしてるってこと? 軽いのがないか探してるんだけど。
そんな大雑把な質問でどうしろというんだ
知らないの?
H8もしくはSH用でお手軽なリアルタイムOSはないの?
>>163 SH用か知らんが、フリーのITRON仕様OS作ってる人がいた希ガス。
for(;;); で他のタスク動いてくれるのかな?
>>168 OS で違うとオモタ。
ITRON は止まるんでないかい?
RTAI は動いてた気がする。
中途半端はレス、メンゴw
>>170 ITRON以外でH8/SH用だと
for(;;);
で他のタスクが動いてくれる奴って、何があるのかな?
>>171 そんなに詳しいわけじゃないのでパスします。
けど、 for(;;); を使用するって事のほうが問題な気がス。
slp_tsk() とか interruptible_sleep_on_timeout() とか使えないの?
上記を for(;;); と一緒に使うと大丈夫だと思うけどその意味自体が??
>>171 Nortiを含め、ITRONなら、
時間待ちが解除された上位のタスク
割り込みハンドラから、iwup_tsk された slp_tsk()で待っていた上位タスク
などは、動くよ。
いつの話題にレスしてるんだよ
♪ミスラ〜や ミスラーー ドンガンカッタームヤ〜 インドンムー♪ ※以下くりかえし
178 :
デフォルトの名無しさん :2008/11/13(木) 02:44:08
Y(s)=1/Ts*U(s) U(s)=u(t)/s u(t):ステップ関数 という系をシミュレータ上で実験を行うと,あるところで値が収束してしまうのですが 理論値では y(t)=u(t)/T*tとなり,線形比例だと思うのですが,このときのシミュレータ上との違いは何でしょうか?
>>178 スレ違いだと思うが、丸め誤差とかじゃね?
>>178-179 同じくSim板向けの話題だと思うけど、
どっちかというと情報落ちを先ず疑った方が良さそうな。。。。
181 :
デフォルトの名無しさん :2009/06/22(月) 23:55:13
19才学生です。 根軌跡につぃて質問です。 極が3つあってゼロ点が2つあるとする。 3つの極のうちゼロ点に収束する極と発散する極があるけど、 どれがどっちとかってわかりますか??
>>181 ム板でする質問じゃないような。制御工学って板なかったっけ?
ある質量を持った物体が運動してるんですが, 制動するのにかける力のみを制御入力にできるとして 目標位置においてちょうど速度を0にしたいです. 電車をちょうど停止位置で止めるようなイメージです 物体に力は二次遅れ系の応答をします. モデルは作れないことも無いのですが 単にその運動してる物体を目的どおりにとめるのって 位置フィードバックかけてやるしかないんでしょうか?
184 :
デフォルトの名無しさん :2010/03/16(火) 11:02:20
保守しておきますね。
このスレまだあったのか・・・何個か前にはお世話になったが。 この板は落ちないの?
まあ、チャタリング取りの話題さえあれば不滅です。 そろそろ新人がチャタリング取りの・・・・・あれ? 新人が・・・・いないや・・・・
で、まぁ、その、「チャタリング取り」なんだが どの程度が理想的な時定数なんだ?
7日間ぶんまわしてノーエラーかつチェックサムをつけれ
それこそハード依存でしょ? メンブレンSWだと20mS押下状態が続いたら押下、 として作った製品は安定な動作したよ。監視はタイマ割り込みとポーリング両方 使ったが使い勝手は同じだった。うちで使ってる浄水器のメンブレンSWはアホで よくチャタ起こす。出したつもりが止まったり、その逆だったり。 まあ、SWじゃなくてマがアホだったのだが。
押しボタンスイッチについては、 普通の製品なら、だいたい15ms 〜30ms毎にサンプリングして、2回一致採用でまずクレームは出ない。 これは有名な XOR NOT AND XOR の論理演算で実現可能だからパラレルに処理出来て処理コストも安価。 これ以上短いサンプリングにすると、チャタリングやノイズを受け易くなるし 長いと操作感が悪くなる。 デジスイッチのような場合は、ゆっくり回された時の中間状態での誤動作を取るために、何度か比較一致して安定したら取る処理が必要 100ms以上は欲しい。 300msにしてもクレームは来なかった。めったに回さないからかもしれないが 元がアナログデータをデジタルポートで受け取る場合(明暗とか、温度とか)は、ポートにコンデンサ+抵抗を付けてもらって 入出力を切り替えてソフトでシュミットトリガ特性を出す。 これが電子屋の手間が減るので評判がいい。
電子レンジのタイマのロータリーSWが変な動作するようになってきた。 回しはじめに終了のビープが鳴ったり、最後の1,2個が進まなかったり。 位相のずれた2portのパルスがときどき抜けることで、早回しや反対回しの パルスに受け取られてしまうんだと思ってる。 自分でロータリSWのパルス処理書いたとき、そういう作りにしたから。 前すれの終わりに、組み込みやらされそうなんだけどどんな勉強すれば っていうスレを後継スレにしよう、って話が出たんだけど、やっぱり本スレ のほうがいいみたいだね。
2相の信号はチャタリング取ったら駄目。 サンプリングを高速にして、1サンプル前のデータ合わせた4bitでテーブル引いて+/-してゆくだけ。 それ以外の変な事をやると逆にノイズに弱くなる
>>191 入力ポートにエッジ検出が入ってれば幾分楽なのよねー。
さもなければ
>>192 の言うとおりサンプリングレートを上げるしかない。
ていうか気の利いたコントローラだったらそれ向きのポートがあるよね?
で、プログラミング以外の話をすると、
接点エンコーダ->接触不良だろ、磨け! ケミカルを注入しる!
光学エンコーダ->埃に違いない、ジェットの力で吹き飛ばせ!
いっそ俺ツマミをパラレルに取り付けたら? w
>>193 エンコーダの信号みたいなのは、とにかく2本の線の状態を「同時に」読めることが
必要条件だから、普通はエッジが検出できても使えないでしょ。
なんか信頼性低いコード書いてそうだねw
>>190 >有名な XOR NOT AND XOR の論理演算
どういう内容? 無知な俺に教えてください
だからチャタリングをソフトで除去する必要があると思ってるお馬鹿さんは、 そもそもチャタリングがどういう現象かわかってないか、あるいは論理的思考能力がないか、 またはその両方なんでしょ。 N回一致で確定とか意味ねえんだよそんな処理。
>>194 >なんか信頼性低いコード書いてそうだねw
若気の至りでヤッちゃったんですねワカリマスタ
>>194 2本の信号線の両エッジで割り込みかけて、割り込み処理で2本を同時に見ればいいのさ
そうすればタイマー割り込みを使わなくていいからね。
ただし、ノイズの勢いが凄いと、割り込み処理だけで手一杯になる可能性があるので
タイマー割り込みで、エッジ割り込み許可 エッジ割り込みで自分の割り込み禁止 みたいな処理を追加したくなったら、
いっそタイマーで見た方がマシかもな
>>196 3倍の温室効果で煽りまくる理学者じゃないんだから頭の中だけで考えちゃ駄目だ。
今やチャタリング処理はチャタリングを取るのが目的じゃない。
市販のスイッチはそもそもチャタリング殆ど無いからね。
代わりにゴムスイッチなどの不安定性やノイズに強くするためのもの。
これを歴史的な経緯からチャタリング処理と言ってるわけ。
火花試験してみればわかるよ。2回一致の
>>198 のコードを入れるだけでどれだけ強くなるか
201 :
195 :2010/03/19(金) 23:33:25
>>198 ありがと。
そういや、なんか見たことあったわw
>>200 そっちこそノイズ(というか誤認識)を単なるエルゴード性の現象だと
思い込んでるからそんな風に考えちゃうんだよ。
そんな都合のいい前提を勝手に持ち込んではダメ。
現実には、ノイズに対しては効果はあまりない。
>>198 なんか疲れるコードだな。もっと明示的にシンプルに書けよと思う。
つーかchatKeyって何だよ。
こういうコードを得意げに書く人とは仕事したくない。
static int rawKeyState = 0;
static int filteredKeyState = 0;
static int onEdgeKey = 0;
void UpdateKeyValues(int rawKey)
{
int prevRawKey = rawKeyState;
rawKeyState = rawKey;
int stable = ~(prevRawKey ^ rawKey);
int diff = filteredKeyState ^ rawKey;
int altered = diff & stable;
filteredKeyState ^= altered;
onEdgeKey = altered & filteredKeyState;
}
>>202 偉そうに言ってるけど、無意味にファイル全体にスコープがあるstatic変数使うなよ。
無意味って何で分かるの? っていうか、static付けなきゃファイルスコープどころか(以下略 しかし、別のスレでも書いたけど、今でも時々こういう ファイルスコープとグローバルの区別が付いていない上に、しかもグローバル変数が 絶対悪だと理屈も分からず思い込んでる人がいるな。
>>204 >>202 のコードだけ見ると、意味があるとは思えないけどね。
意味があるとしたら、
・ROM/RAMの容量、もしくはスピードの制約が厳しい。
・ほかの関数からアクセスする必要がある。
という両方の条件が満たされる場合だけだろ。
ある程度コーディング規約がしっかりしてるとこなら、
・グローバル変数、ファイル全体スコープのstatic変数はは可能な限り使わない
・ファイル全体スコープの場合は「s_」、グローバルの場合は「g_」の接頭辞をつける
という規約になってると思うが。
それに、
void UpdateKeyValues(int rawKey)
{
int prevRawKey = rawKeyState;
rawKeyState = rawKey;
int stable = ~(prevRawKey ^ rawKey);
int diff = filteredKeyState ^ rawKey;
int altered = diff & stable;
filteredKeyState ^= altered;
onEdgeKey = altered & filteredKeyState;
}
↑このコード、コンパイルが通らない場合も多いだろww
接頭辞ってのは、レベルが低いといるのか?
>>205 ファイルスコープの変数を(それこそ無意味に)忌避するのは、
ろくに設計もせずに一つのファイルに馬鹿みたいに全部詰め込んでる無節操な
自分を前提としてるから。
そんな間違った方法論を前提とした議論なんて無意味だよ。
これも別のスレでも書いたけど、ファイルスコープなんて
C#みたいな今時の言語の静的クラスのフィールドと何も違わない。
っていうか、
>>202 に書いたような関数で結果をファイルスコープの変数で
持たずに、誰がどうやって結果にアクセスするんだよ。
もちろん構造体を返すって手もあるが、(俺基準で下手な)サンプルコードを手直し
しただけのものにそんなのを要求するのもどうかと思うし、そもそもこの種の処理の場合
構造体にまとめる意味があるとも思えない。
キー入力が複数あるシステムを想定するのなら話は別として。
まあとにかく言い掛かりにしか思えないな。
目くそ鼻くそ状態?
だね。
>>205 が重要な論点の一つを理解できない可能性があるので(まあ、こんな突っかかり方をするってことは
恐らくそうだろう)一つ補足しとくけど、一口にキーの状態を取得っていっても
いろんな要求がありうるわけだ。
>>202 のコードでもすでに2種類の値があるけど、ほかにキーが放されたタイミングが
知りたいとか、長押しの検出とかね。
そういう、割とありがちな要求にはどうやって対応するの?
構造体で返すの?
そんなことをするより、キー処理だけを一つのファイルに持たせて、
キーの様々な状態を表す値はアクセサを経由して取得するようにした方が
分かりやすいし簡単でしょ。
俺はむしろ
>>198 のコードに何の不満があるのか判らん。
コピペして使うならコッチだろ
ファンクション方式や、連続押しに対応するとしたって、エッジと現在のキー状態だけあればいい。
>>210 反論するのもばかばかしいが、
> っていうか、
>>202 に書いたような関数で結果をファイルスコープの変数で
> 持たずに、誰がどうやって結果にアクセスするんだよ。
キー状態を持つ関数で、現在の状態を返せばいいだろ。
>
>>202 のコードでもすでに2種類の値があるけど、ほかにキーが放されたタイミングが
> 知りたいとか、長押しの検出とかね。
キーが放されたタイミングを取りたいなら、普通は割込みのコールバックとかだろ。
割込みが取れないなら仕方ないけど、それでも
>>211 と同意見。
あと、
>>202 のコードだが、C99に対応してないコンパイラだと、エラーが出る。
C99に対応してないコンパイラなんてまだたくさんあるのに、
こういうコード書いてるのは経験が少ないとしか思えない。
>C99に対応してないコンパイラなんてまだたくさんあるのに、 そう? 組み込みLinuxは殆どgccだろうし、腐れOSのHP-UX以外になんかあった?
急に組み込みLinuxかよw
gccはデフォでビルトするC99はオフだよ
>>212 割り込みってw
そもそも
>>198 がナニをするコードか分かってそれ言ってるの?
本物の馬鹿だな。
まあこれだけでも君は少なくともこの業界の仕事をしたことがないのがバレバレ。
そもそもキー入力処理みたいなものはメインループで同期的に処理したい場合が多いのに
割り込み使ってどうする。
あとアホ丸出しなのが
>キー状態を持つ関数で、現在の状態を返せばいいだろ。
その「キー状態を持つ関数」が返す値は、ファイルスコープの変数を禁止するとして
一体どこに保存しとくの?
関数の中のstatic変数?
じゃあ「長押し」とか「その瞬間のキーの状態」とか、取得したい値の数だけ
関数が必要になるけど、キー入力ポートを読み取る処理からそれら全部を呼び出すの?w
シロート以下だな。
俺が中学生の時MZ-80のアセンブラで書いたコードでもそんな馬鹿なことやってないよ。
ついでに言えば、この業界の人は
>>212 式の馬鹿が多くて本当に困る。
そもそも俺が最近の言語の静的クラスのような考え方で作ればよい、
と言っている意味をちゃんと理解して反論しているのか。
しかし、この業界の想像を絶する馬鹿には何人にも呆れてきたけど、 さすがにキー入力の変化を割り込みで通達すればいいんだ、って言う程の馬鹿は始めてみたよ。
連投して申し訳ないけど、
>>218 みたいな発想をする人は
恐らくVBからプログラミング始めた人なんじゃないの?w
VBみたいな言語のイベントドリブンと割り込みは、一見似てるけど
目的が全然違うだろうと。
その辺わかってないんだろうなたぶん。
ファイルスコープって言いたかっただけなんじゃ
あーあと、割り込みでキー入力変化(「押した瞬間」and/or 「放した瞬間」)を通知するとして、
ISRの中からそれらの値にどうやってアクセスするのかね。
またそれらの値を関数内にstatic変数で持たせるためだけの関数を作る、
とか寝ぼけたこと言うんだろうかw
あと、「押した瞬間」に関しては
>>198 の関数の返値そのものなわけだけど、
>>212 の口ぶりからするとそんなこと程度も読み取れてないんだろうなw
>>211 機能には必ずしも文句つけてない。
もっと可読的に書くべき、と言ってる。
サンプルコードならなおさらのこと。
サンプルったってサイトのコピペだし、しかも10年前のサイト。 よく知らんけど昔は関数名や変数名に8文字制限とかあったそうだし、 そういう時代のコードじゃないの?
よく知らんのなら黙っていればいいのにw
知っててそうで知らないでやってる人が多いんだよ
あの辺りにはよく書いたなあ・・・
228 :
30♂ :2010/05/26(水) 19:36:36
未経験で制御の仕事に就くにはどうしたら良いでしょうか。 C言語は初級者レベルです。 今は求人無いのでしょうか。
>>228 オペレータ志望か? 違うよな?
ソフトウェア業界の中でも特に製造業臭がきついので覚悟しろ。
今求人があったとしてもブラックだと覚悟汁。
さしあたっては検査・評価あたりからステップアップしてみろ。
>228 30才で未経験でCは初心者で、それで制御系のプログラマになりたいとな? なんか得意技とかないの?
231 :
30♂ :2010/05/27(木) 18:35:13
意外とコメントがついていて嬉しい…。
>>229 製造業派遣でやってきているので、製造業臭は問題ありません。
今は本当に無いようですね。
ハロワで探すのが良いでしょうか?
>>230 高校、大学が電子系でした。
得意技は違う言語を1年半程やっていた事でしょうか。
電子とプログラミングを活用するなら制御系じゃないかと思って希望してます。
ハードウェアがある程度できるならそっちからアプローチする(ソフト*も*できる)ほうがいいかも。 制御系は最終的にはどれだけハードを理解できているかが鍵だから。
>>231 一ヶ月の研修期間でCの読み書きができるようになる自信があるなら私の部署で一人雇えるけどどう?
234 :
30♂ :2010/05/28(金) 20:52:57
ご返信ありがとうございます。
>>232 ハードウェアも設計の実務経験無いので押しにくいんです。。困った事に。
下の行は肝に命じます。
「とりあえず小さい会社の正社員等で検査・評価あたりをハロワで探す」
ってパターンがベストでしょうか。
この職への入り口が良く分かりません…。
それと処理系は何を勉強するのが良いのでしょうか。
235 :
30♂ :2010/05/28(金) 21:11:30
>>232 ありがとうございます。
まさかここで声をかけて貰えるとは。
自信はありますので、ぜひ内容をお聞かせ頂ければ幸いです。
sageられなくてすみません。
上から目線で書いたらぁとオモタらレス番ずれたw
組み込み屋はおっさん率たかいしねえ 若い子欲しい
238 :
デフォルトの名無しさん :2010/06/07(月) 21:48:09
ほんとにね バージョン古いおっさんより 最新型で威勢のいいのがなかなか・・・
どなたか、御教授して頂けないでしょうか? 仕事で必要になり、ドットプリンター(スーパーとかのレジでレシートを打ち出す奴です)で、 とある計測データを手入力で打ち出したいと思い、プリンターを購入しました。 データは英数字とギリシャ文字で、一定の配列内でランダムの数字をです プリンターはシチズンシステムズの小型の910-Uで、 シリアルで接続しています。 ドライバーは有ります。 メーカーに問合わせた所、 VB等でプログラムを組まないと無理と言われました。 PCは仕事で10年以上使っていますが、 全てウィンドウズ上のアプリだけです(オフィス&CAD等) 取り敢えずVB2010をインスコし、入門書を購入しましたが、 VBなどのプログラムはサッパリわかりません。 ExcelVBAもサイトからコピペして使うだけで、 内容は把握してません。
何をしたいかが充分に伝わってないよ。 テストプリント機能はついてる? ASCIIで"ABC<CR><LF>"と送ったらABC改行と印刷してくれるプリンタではない? 英字・数字のドットパターンにしてからプリンタに送らなければいけない、ということ? この理解で合ってるなら、それっぽい仕事をcでさせるコードは書いたことあるけど。
外字登録:224文字(漢字の場合112文字)
>>240 正にそれです。
『LF』で印字改行します。
『LF』の前にASCIIの文字列を指定すれば良いと言うのもメーカーから聞いたのですが、これらをプリンターに送る方法が判りません。
ドライバーにテストプリントは付いているので、試しにやってみたら、印刷はしましたが、*が沢山印字されました。
ちなみに、私のPCにはシリアルポートが無いため、LAN経由で他のPCに繋いだ状態です。
印字改行のデータをプリンターに送る事が出来れば、印刷内容はなんとかなると思います。
宜しくお願いします。
>>242 シリアル接続している端末から、copy con com1してみるよろし。
通信速度などの設定はmodeコマンドで。
具体的に何をしたいか判らんが、仕事で必要なら外注した方が間違いないだろうに。
>>243 Copy con com1はコマンドプロンプトでって事で良いのでしょうか?
やってみましたが、変化無いです。
プリンターで文字を打つのがこんなに難しいとは・・・・・・・
泣きそうです。
(T_T)
245 :
デフォルトの名無しさん :2010/06/08(火) 18:32:41
mode コマンドとたった一言書いてあるが、そこ結構難所だよ
>>239 時給\3000×8時間×3日、別途宿泊費、交通費支給でお請け致します。
>>244 自分の端末でやっても意味ないぞ
COMに刺してる端末でやらないと。
USBと232の変換ケーブル買ってきてもいい
(その場合ポート番号に注意)
「serialport .net」で検索すると
プログラムサンプルはいろいろ出てくるけど
今の状態だとなかなか厳しいな
スタートメニューにハイパーターミナルがあるなら
モード(手順)を合わせて
直接字を打って試せると思うけど
え? とりあえずTeraTermとかで手動で動作チェックしたほうがよくね? .NETだと何かプロパティコントロールとかあって設定も楽
あ、すぐ上にハイパーターミナルって書いてあったw
>>239 私も>246と同条件でいいや。但し、東京日帰り圏内。
「超初心者」とかなんかネタ(ただしちっとも面白くないが)のつもり満々のようにも思えるが....
252 :
デフォルトの名無しさん :2010/06/09(水) 12:34:35
東京からだと大阪日帰りを何度かやったな・・・
>>244 240の下2行のようなプリンタではないらしいね。シリアル接続ということで、
プリンタのマニュアルから「接続条件」ぽい話の所で、解らない所をここに書いて
みては?例えばRS232Cでchar=8bit,パリティ有無、有りの場合偶奇、STOPbit
速度は9.6K〜19.2K、とか、そんな話が書いてないか?
>>253 さん
ありがとうございます
プリンターはシチズンシステムズのCBMー910Uです。
シリアルの仕様は以下の通りです。
1.同期方式:非同期方式
2.ボーレート
1200 2400 4800 9600 19200 BPS
3.1ワードの構成
・スタートビット:1ビット
・データビット:7または8ビット
・パリティビット:奇数,偶数,なし
・ストップビット:1ビット以上
4・信号特性
RS232C
・マーク:論理"1"(ー3V〜ー12V)
・スペース:論理"0"(+3V〜+12V)
等ですが、上記で理解出来る項目は皆無です
宜しくお願いします
>>254 それすら理解できないなら、外注した方がいいよ。
判っている人間なら、一日で接続から転送スクリプトまで全て用意できる。
一方あんたは既に丸二日も無駄にしている。仮に、集中的に一週間ほど
勉強すればあんたでもできるようになるかもしれないが、如何にあんたが
低賃金でも半月分のコストは馬鹿にならないだろ。
とても素直なプリンタじゃないか
九州であれば
>>246 の条件でも受けたいところだ
>>257 使ったことあるけど、フロー制御にさえ気をつければ素直だよ。
まぁ、ハードフローするなら結線に注意するのは常識だけどね。
259 :
253 :2010/06/09(水) 16:54:29
>>254 出荷時の設定のままなら、parity=Non, stop=1, char=8, レート=4800BPS この
条件で、シリアルポートのあるパソコンと、そのプリンタを、クロスケーブルで接続。
パソコンにある適当なASCIIファイルを、DOS窓で、copy ファイル CON<ret>で印字。
エディタを使ってなければ、notepadでABC123<ret>とか、何行か入力して保存。
DOS窓じゃなく、htermかてらた〜む使える人が近くに居ればその人に頼む。
まずはここまででプリンタが使えるかどうか確認できる。
260 :
253 :2010/06/09(水) 16:59:39
254のパソコンにはシリアルポート無いと書いてるけど、それで測定とかやるんでしょ。 そしたら測定データはファイルに取って(ASCIIファイル、改行はCRLF)、そのファイルを LANで別のパソコンに送ってシリアル出力してもらう、という実現方法が楽だとおもう。 測定に即してリアルタイムに印字したいなんて言い出すとそれこそプログラム組む ことになってやっかいなだけだし。
>>262 取り説見れば書いてあるけど、このプリンタはDTEなので同様にDTEであるPCからはクロスじゃないと繋がらないよ。
>>263 そっか、そういう仕様なのか、じゃあ似非クロス(というか方言?)には泣かされるな
DTRを結線していない、或いはコネクタ内で短絡しているクロスケーブルのことでしょ。
266 :
259 :2010/06/09(水) 18:53:13
また雑音ばっかり・・・ 俺が259でクロスと書いてるのに
皆様色々御教授ありがとうございます。 今日は仕事上の重大トラブルが有り、その後処理で右往左往して、机に座ってる時間が無く、チャレンジ出来ていません。 しかし、金曜日には落ち着く予定なので、週末には皆様のアドバイスを参考に色々ググりつつ、チャレンジしてみます。 こんなド素人ですが、お力添えの程、宜しくお願いします。 真っ暗闇でしたが、少し光が見えてきた気がします。 気のせいでしょうか・・・・・
確実に気のせいでしょう。 結局のところ、自分の頭でちゃんと理解してない技術(という程のものでもないけど) なんか使えるわけない。 君の場合、そもそも理解しようとする意思がないわけだから。
初心者とかド素人などと自分で言うのはやめろ 仕事だろ?ガキのつかいじゃあるまいし、そんな態度の奴に誰が真面目に教えようとするものか 今までの書き込みを見てみろ、みんなゴキブリ相手のような扱いだぞ
だってこれ、教えるより自分で見た方が絶対早いもん。
そうだよなぁ 例えると、パソコンを触ったこともない人が、パソコンを買いさえすればホームページが作れると思って買っちゃってから、 HTMLの基礎を1から勉強する気は一向に起こそうとしないのに、自称超初心者を盾にホームページの作り方を聞きまくって、 まず<body></body>と打ってみろ、ワープロじゃなくてテキストファイルに書いて拡張子変えろ、とかのレベルでしょこれ。。。
レベルはまあ誰でも始めてはあるから仕方が無いとして 向上心とか態度とか、そこがばっさり良さが見受けられないのは痛い
数日の奴にそこまでいうなよ 1週間じゃなく1年かかるんじゃね
274 :
デフォルトの名無しさん :2010/06/11(金) 16:18:57
素人うんぬんより、仕事上の重大トラブルとか言ってるほうが気になるな なんで俺らがそんなこと聞かされにゃならんのだ ヒマがなきゃ別にやらなくていいんだよ お力添えとやらに義務があるわけじゃなし 板の趣旨に沿った発言をしていれば釣れる奴は釣れるというだけ 関係ねーことほざくぼけには仇こそあって恩はねえぜ
ところで、印刷したい計測データというのは、どういった形式なんだろ。 すでに人が読んで理解できるようフォーマットされているんかな。 たとえば、もしExcel等で使われるCSV(カンマ区切りテキスト)形式とかなら、 それをフォーマットするスクリプトを組む必要があるはずなんだが....。 仮にターミナルからの印刷実験に成功しても、先は長そうだ。 素直にシリアルポートに詳しい知人に依頼する(あるいは外注する?)ことを 考えた方がいいと思われ。もし上司からの指示でやっていて、その上司が 本人の技術的な成長を期待しているという背景があるならモガくのもいいけど。
計測器がシリアルで吐き出すデータなら、ヘッダ1〜3byteに続いて数値,数値CRLF ぐらいには整形されているもんだよ。ちょっと親切だとASCIIとHexとバイナリを選択 できるようになっていたり。
277 :
259 :2010/06/12(土) 17:38:08
>>267 は、土日も働くほどにはせっぱ詰まってないんだな。
なんか盛り上がってたみたいだけど、 プリンタの選定の問題じゃないの。 最初からパソコンで印字できるのを買えばいいだけじゃないの その超初心者氏がプリンター出力プログラムを作ることが目的 ならそうだと思うけど、たまたま買ったプリンタが悪かっただけじゃないのかと
>>278 定番プリンタだからね。
セントロ版を買わなかったのはセントロ端子がないPCでの運用を想定したのかもしれない。
今時シリアルも怪しいだろ
シリアルとパラレル以外となると、どんな方法があるんだろう USBもシリアルだし
282 :
デフォルトの名無しさん :2010/06/18(金) 22:06:45
単なる ASYNC とアイソクロナスを混同されても・・・
一緒ですがなにか?
RS-232Cのことでしょ USBのRS-232CだとCOM?の?がどこに割り当てられるんでしょね?最近の機種だと
>>283 単にアイソクロナスって言いたかっただけだろ、放置しろよ。
この文脈で USB とか言い出す
>>281 もどうかと思うが。
>>284 単にレガシー COM の続きの番号割り振る奴とか、番号設定できる奴とか
色々だよ。
シリアル、パラレル、USBときたら無線だろ。
IrDAもあるでよ
シリアル、パラレル、IrDA というジャンル分けとなりました
OBEX
HPIBも入れてやれ
もう、CANでおk
>>284 たいていはコントロールパネルでCOMn番号を強制設定できるけど
MSFT的にはポート列挙してGUIDでアクセスしろ、だそーな。
HP-IL でどうよ。
結局どうしたんだろ。気になって夜もぐっすりだぜ。
三球なんだっけ
照代
297 :
デフォルトの名無しさん :2010/07/02(金) 16:47:27
どうよ。
298 :
名無したま :2010/11/17(水) 18:03:49
>何故単純に1bit出力ではダメなのですか? reg := reg +x; if CF then output:=1 else output:=0; MPUは16f648a(16f886-2chの場合)の予定です。 インターナル8MHzで8bit_PWM出力をDAC代わりに使いたいんだけど、 6bitならPR2を63にすると125khzの繰り返しで動作して、 ソフトで2bit分助けるとその速度で変換できる。(自信なし) 1bitソフトだけならどれくらいの速度出ますか?
>>298 PWMで出力したいが periodを6bitに短くして、だけど精度を上げたいという事ですね
periodの周期毎に
reg:=reg+x;
n:=reg shr 2;//<---regが8bitならキャリー付シフト
DC1:=n;//デュテイサイクルの設定(0〜$40)
reg:=reg-(n shl 2);
を実行すればいいでしょう。 もしperiod周期毎に実行できない事情があるなら
非定期に実行すればいい。ノイズは多くなるけどね。
1bitPWMを高速に行いたいなら メインルーチンで 1,reg := reg +x; 2,if CF then output:=1 else output:=0; 3,TRIS(方向レジスタ)を入力モードに 4,割り込み許可 5,割り込み禁止 6,TRIS(方向レジスタ)を出力モードに 7, goto 1 というように無限ループにして それ以外の処理を割り込み内で処理させれば 割り込みはハイインピータンス中にされるので出力にあまり影響しないでしょう これでどの程度のソフトが出るかは自分で試すしかないでしょう
301 :
名無したま :2010/11/17(水) 21:03:04
おそらく割り込みの優先度は(External Interrupt)です。(カウント洩れは致命傷) >もしperiod周期毎に実行できない事情があるなら非定期に実行すればいい。 アナログコンパレータを2ch使います。 (無理ばっかりです) 有り難うこれは名案です。 目的の一つはPWM周期を有る程度確保したい。(早すぎるとswが応答しない) 6bitで4回に拘っていましたが、4回数えるのが面倒に成る。(合わなくなり易い) よく考えると6回になっても問題なさそうです。(ノイズは目をつむれる) 出来れば2ch欲しいがハードPWMなら648aでは無理,886しかなさそうです。 >これでどの程度のソフトが出るかは自分で試すしかないでしょう PDMはSWが付いてこず、ダメだったのでしばらく考えてみます。 (出力を6bit分貯める?) 6bit相当休ませることが出来れば、2chPWMも出せて最高です。 コンパレータは割り込み使わず、出力を外部回路にゲートできます。
302 :
デフォルトの名無しさん :2010/11/17(水) 21:59:02
nam
PWMにしても、結局小さな値、大きな値で、スイッチの短い時間が出ると思う それは歪になるだけだからいいわけだね? 1bit方式でも1か0が連続する事は可能。ただ16ビットレジスタが必要 8bitのDACを実現するのは regにxを累加しながら,1を出した時に256を減算する これだけでいい。 1を8回続けなければならないという条件なら8回出したあと8*256を引けばいい アナログ電圧が最終出力ならADCで読んでフィードバックをかける方法があるよ
304 :
名無したま :2010/11/18(木) 11:59:58
>スイッチの短い時間が出ると思う・・それは歪になるだけ・・ 歪みはおそらくOKです。 アナログコンパレータに通して外部比較をコントロールします。 AN1047,AN1050がよく似ています、 (英語が読めませんので細かいところが不理解) >16ビットレジスタが必要・・ 256までならキャリー(status)では済まないでしょうか? あるいはキャリーより簡単ですか? (俺頭悪いんでCは間違ってばかり、jalv2で書きました)
確かに PIC はキャリー付き加算命令が無いから16bit加算なら面倒だけど この場合、キャリーがあれば上位ワードに1を加算するだけだし 減産対象は上位ワードだけだし そんな苦労するような問題じゅないと思うよ
306 :
名無したま :2010/11/18(木) 14:29:56
>そんな苦労するような問題じゅないと思うよ
頭の出来が悪いので・・jalv2リストを書いてみました。
頭の中では、キャリー付無し、8bit、16bitの振る舞いの区別が付いていません。
192行目以下です
-- pwmreg1 = pwmreg1 - (pwmdat1 << 2)--6BIT_Conversion
pwmreg1 = pwmreg1 & 0x03 --6BIT_Conversion
は同じ結果になるのでしょうか?
http://den-nekonoko.blog.so-net.ne.jp/2010-11-15-1
ゴメン。 プログラムまで見ろといわれるとひくよ。
>同じ結果になるのでしょうか?
JAV2というのは知らないけど、X -= (X
>>2 ) *4 は x &=3 と同じだね
それと、CFを処理しないと 252 を超えた値を出力出来ないよ
pwmreg1 = pwmreg1 + newdat1
RRF pwmdat1
CF=0
RRF pwmdat1
pwmreg1 = pwmreg1 & 0X03;
RRF は PICのアセンブラ命令ね
308 :
名無したま :2010/11/18(木) 17:06:03
>CFを処理しないと 252 を超えた値を出力出来ないよ 此処が気になっていました。 256は9bit目、最初の「RRF」に「CF=0 」が無いこように、 jalv2のasm出力を見たら「bcf」してました。 bcf v__status, v__c rrf v_pwmreg1,w movwf v_pwmdat1 bcf v__status, v__c rrf v_pwmdat1,f 2度目の「RRF」の後は9bit目が生きていると、01xx_xxxx=64 256まで必要なとき、4回通してやると良いのですね。 データテーブルMAX値を252に制限しても大丈夫かやってみます。 (ハードPWMでもPR2を62にすれば同じで使えそうです) 有り難うございました、PWMを生成する部分を研究してみます。
その最初 _C = 0 は pwmreg1 への累和の後 だよね それは不要。 手動で消せないの?
310 :
名無したま :2010/11/18(木) 19:50:45
>手動で消せないの? 俺にはjalv2が考えやすいっす。 普通では消えないようで、最後にアセンブラ記述でまとめてみます。 今は252にまとめるスプライン補間をやっています、 (元々256でも 8点を64点 に拡張するので作らねばならかった) webで見ても解き方が判りません、(連立方程式の計算は出来たんですが)トホホ
311 :
名無したま :2010/11/22(月) 15:26:38
有り難うございました。 スプライン補間テーブルがやっと出来ました。 これをアクセスするルーチンを考えて、(必需であるから) 最後にPWMを組み立てて検証してみます。 もし上手くできなかったら、また相談に乗って下さい。
どなたか下記の件についてアドバイスをいただけないでしょうか。
あるいは適切なところに誘導していただいても助かります。
Windows 7 x64 上で AutoHotkey_L x64 を使用し (言語は何でも良いのですが
x64 ビルドを希望)、Synaptics 製タッチパッドの触れている部分の情報、
あるいはタッチの有無を取得しようとしています。
x86 ビルドでは今でも可能なのですが、x64 ビルドで行う方法がわかりません。
x64 OS 上のデバイス設定画面では座標が取得できているので (画像参照)、
ドライバーの参照方法さえわかれば技術的には可能なのだと思います。
行ったことは以下の通りです。
1. Synaptics タッチパッド SDK を参照し、CreateFile と DeviceIoControl の
使い方を調べました。しかし情報自体が古く、x64 専用の情報はありませんでした。
2. AutoHotkey スレッドにて質問してみましたが、解決には至りませんでした。
3. Synaptics 本社に直接電話しドライバー担当者とのコンタクトを試みました。
開発部門までは繋がりましたが、SDK のページを教えてくれただけで開発担当者の
連絡先までは分かりませんでした。
Synaptics SDK
http://www.synaptics.com/developers/manuals 使用コード
http://up.poiu.jp/38.txt デバイス設定画面
http://up.poiu.jp/39.png
制御工学の証明でわからないことがあるので、ぜひ教えてください。問題は 伝達関数L(s)が安定な正実システムであればW(s)=L(s)/(1+L(s))のゲイン余裕は∞になる。 です。宜しくお願いします。
制御工学の証明でわからないことがあるので、ぜひ教えてください。問題は 伝達関数L(s)が安定な正実システムであればW(s)=L(s)/(1+L(s))のゲイン余裕は∞になる。 です。宜しくお願いします。
制御工学の証明でわからないことがあるので、ぜひ教えてください。問題は 伝達関数L(s)が安定な正実システムであればW(s)=L(s)/(1+L(s))のゲイン余裕は∞になる。 です。宜しくお願いします。
制御工学の証明でわからないことがあるので、ぜひ教えてください。問題は 伝達関数L(s)が安定な正実システムであればW(s)=L(s)/(1+L(s))のゲイン余裕は∞になる。 です。宜しくお願いします。
プログラムと関係ねーじゃん
つーかこれならないだろ。問題間違ってないか?
319 :
デフォルトの名無しさん :2011/03/24(木) 05:53:17.04
8085の質問です。ゼロ番地に LXI SP,RAM末尾 JMP cのmain と書いてcのmainで DI と書くのと、ゼロ番地に DI LXI SP,RAM末尾 JMP cのmain と書くのと、 どちらがいいでしょうか? 妥当性・安全性などに違いは出ますか?
リセットもどきの動作をさせるときに、 0番地に飛ばなきゃイカンときとかは、先頭でDIかな 昔、NULLアクセスしたときのために、 0番地から2バイトをnopで埋めたこともあったな、(未熟だった頃)
後者でも8バイト以内に納まるから後者でいいんじゃない? って、そりゃZ80の発想か。
322 :
319 :2011/03/24(木) 13:22:34.12
>>321 私もその発想はしました(w まだ1nop余ってます。
>>320 WDT叩いてるんで、リセットもどきはWDT叩かなくすることで起こしてます。
フラッシュマイコンの時代に8085使うってどんだけ時代錯誤w
8051の間違い…と思ったがLXIなら8085だよなあ
325 :
319 :2011/03/25(金) 02:34:31.70
でも実際使ってるんです。8259で割り込み交通整理、8253でタイマ作ってRST7.5に 入れて、82514本並行動作。とっくに製造中止なので、基板バラして回収したり アキバで買ったり・・・だそうです。8KBのRAMチップなんて売ってるのかな? リーダビリティ重視でcメインの頭にDI書いてたのですが、パチパチ君とかで いじめたりして変なアドレスにジャンプする可能性を考えると、 先頭の2命令だけEI状態なのがいけないかな?とか考えました。
それって、単純に暴走してるだけでしょ。 WDTが機能してない時間があるような?
327 :
319 :2011/03/25(金) 16:18:30.88
いや、今まで暴走したことはありません。uartから特定のコマンド入れてloopさせて WDTによるリセットがかかる、という確認はしました。
WDTの周期次第?
329 :
319 :2011/03/27(日) 02:24:13.31
WDTに書くパルスは、エッジ間隔が1ミリ〜1.6秒だそうです。 ↓か↑かどちらかの間隔だと思うのですが、詳細は忘れました。 今は10mS割り込み処理の中で書き込んでいます。
1ミリ未満で暴走してる可能性がある。 モノによるけど、タイマーでWDT叩くのはどうかと...
331 :
福盛俊明 :2011/03/27(日) 02:59:40.82
アハ〜♪”
>>319 の両者で差が出ることがあると仮定すればその時はCPUが正常に動作していないはずだけど、
CPUが正常に動作していない状況下では、どんなソフトウェア的な工夫も
普通に考えれば無意味だと思うけどね。
そもそも
>>319 の2者の違いにどういう狙いを込めてあるつもりなのかよくわからんけど
334 :
319 :2011/04/03(日) 17:25:54.93
あ、ちょっと離れたけどまともなレスもらえましたね。ありがとです。 実質、cメインが1バイト少なくなるのと、PGに割禁命令を読ませなくていい、 ぐらいしか効果ないですね。
335 :
デフォルトの名無しさん :2011/04/11(月) 06:20:07.25
uart 4CH搭載、タイマは最低1CHあればいい、外部割り込み使わない、 ROM64KB RAM12KB程度。 こんなspecの石でおすすめありませんか? H8S/2378は使ったことありますが、ちょっとオーバースペックかなと思って。
いいぜ
From where do I start programming if I to be a emmbeded proggramer?
足りない分のUARTの処理をソフトでやるんだな、bps次第だけど
341 :
335 :2011/04/12(火) 15:46:54.60
R8Cは4CH積んでいませんよね? タイマ端子使ってuartの替わりさせるsoftは 書いたことがあります。適当な石が無ければできますが、私の知らない石で ちょうど良いのが無いか聞いてみたかったのです。
4chもUART使うぐらいならI2Cにすりゃいいのに....
何言ってんだか
>>343 異論があるならはっきり言えよ。
いえないなら黙ってろ。
>>341 ああ、R8Cはmaxで3chか。
4chも付いてるのはそこそこ上位になっちまうかもな。
インターフェース誌の付録にあったH8SXとか。
学習リモコン作るのに適した石ってなんだ シリアル2つと接点たくさんか
arduino
PIC
␂ DATA1 DATA2 DATA3 ␍ ␊ ␃
>>344 ∨∨∨∨∨∨∨∨∨
「「「「「「「 異論があるならはっきり言えよ。 」」」」」」」(キリッ!!!きリ!!!!キリ!!!キリッッ!!きリッッッッ!
∧∧∧(キリッッ
∨∨∨∨∨∨
「「「「「「「「「「「「「「 いえないなら黙ってろ。 」」」」」」」」」」」」」」(キリッッッ!!!キリ!!!!キリッ!
∧∧∧∧∧(キリ
うるさいしね
I2Cって言えばすむ問題なのかね
352 :
デフォルトの名無しさん :2011/07/05(火) 04:23:16.07
8085の DAA って、どういう動作なのですか? 沖のpdfだとデシマルアジャストしか 書いてないんです。「低位ニブルがA以上ならそこを0にして10hを足す」 ですか?
>>352 それだと下位ニブルが0になってしまうし、9+9とか誤判定するだろ。
ニブル間のキャリーフラグがあるのでそれ使う。
下位ニブルは0にするんじゃなくて10引く。
355 :
352 :2011/07/05(火) 13:47:41.33
リンク先ありがとうございます。確かに、今見ているコードも加算の後でのみDAAを 使っていますね。減算の場合は補数を足すようにしています。 使い方としては、BCDのバイトに何かを足し、DAAするとまた結果がBCDになる、 ということを期待すればいいのですね。 時分秒をINRしながらDAA使う所は解ったのですが、100だか64だかを減算しながら DAA使っている所がよく解らなくて聞きに来たものです。 LXI H,mem ;BCDのバイト MVI A,00110110B ; gensuu = 64 no hosuu wo set ADD M DAA MOV M,A 00110110B=36hは、64の補数ではないように思えて・・・どんな値を減算する ことになるのでしょうか?
54 = 64 - 10 かなぁ? なにやってんだろ。
64(bcd)の補数を求めている。 つまり、100(bcd)-64(bcd)->36(bcd)とコメントは言っている。 64引くことに何の意味があるのかは知らん。
358 :
352 :2011/07/05(火) 14:42:25.23
BCD5桁(20bit)の数を100で割った商11bitと余り7bitを求めているようです。
「引けるか?」の箇所は64h=100と比較してて、
>>355 の36hを足す所のコメントは
BCDの64hを引くという意味みたいです。 BCDで36h+64h=00hを利用してる?
減算の後はDAAが使えないので、繰り下がりの所は
DCR A
ANI 0Fh
CPI 0Fh
JZ------->MOV A,M
DCR A
ANI 0F9h
MOV M,A
とかやってます。DCR=-1を足す=FFを足す ですよね?
そしたらDCRの替わりに ADI 255,DAA ってやれば減算後BCDにできますよね?
359 :
352 :2011/07/05(火) 14:51:27.85
タッチの差で言われてしまいました(w BCD5桁からBCDの64hをずーっと引いて ゆくと、最下位バイトに100未満のBCDが残ります。 今度はそのバイトからBCDで1ずつ引きながら、余りにバイナリで1ずつ足して ループで計算させていました。 これ、BCDをバイナリにすればそれでいいのに。
360 :
352 :2011/07/05(火) 16:23:51.51
BCD→binの、うまいやり方:HLがメモリを指しているとして、 MOV A,M ANI 0F0h ; 上だけにする RRC MOV B,A ; *8 save RRC ; *4 RRC ; *2 ADD B ; 上*(8+2) MOV B,A ; 上*10 save MOV A,M ANI 0Fh ; 下だけ ADD B ; 上*10+下 ここでAregにbin8bitで求まる。ラベルも無くてすっきり。
なんか意味不明だなw BCDなんだから100で割った余はLSBに決まってると思うんだがw そもそもBCD値から0x64はBCDの世界では100じゃなくて64なのに0x64引いてどうするのw そんなコード捨ててしまえ
362 :
352 :2011/07/06(水) 02:55:29.87
元々の問題は、10進数で5桁の数を100で割って商と余りを求める だったようです。
バイナリにしてcのldiv使えば1発で求まるのですが、これを書いた人はBCDのまま
減算していって減算回数を商、引けなくなった残りを余り、という手法を採ったようです。
LINK制御文にはROMLIB.sofを書いてあったので、LIBの存在は知っていたようですが、
使い方が解らなかったのでしょう。
今回PLLの生産中止に伴って、この割り算の式自体が変わるかもしれないので、
その時にはこのコードは捨てられますが、動いている製品なのでアホというだけでは
捨てられないのです。
>>358 後半の質問(減算後にDAAを使うには)は、あれで合ってますか?
>元々の問題は、10進数で5桁の数を100で割って商と余りを求める だったようです。 BCDだったら 0xFFF00 との AND が商 0x000FF との AND が余り だろ
364 :
352 :2011/07/07(木) 04:45:27.65
BCDの100ではなくて10進数の100だからその解釈は違います。
10進数の100はBCDだと0x00100だろ
366 :
352 :2011/07/07(木) 18:05:19.86
ってことは、BCDで XXXdd を BCDの100で割った余りは必ずdd? (*o*) 明日電卓で試してみよう。 それだと64hを引き算できる回数をカウントしてた 元のプログラムはとんでもないムダしてたのかな・・・
俺の女を制御するには? セマフォで叩いても開けてくれないんだ
まず二次元配列にvcreしろ。
>>366 そんなこと言ってて良いのは小学生までだな。
ウチの社員がそんな発言したらクビにするぞ。
元のコード書いたやつもな。
>>367 セマフォで叩くから死んじゃっただろう。
まず、手めーの人生を制御してから濃い
>>370 の親が無くなっても、子が生きててガベコレされてない。
372 :
352 :2011/07/08(金) 03:15:40.02
>>369 確かに、BCDでXXXddを100で割るには商=XXXをバイナリ、余り=ddをバイナリ
にするだけでよかったのね。除算すら要らなかったのねorz
俺は高卒だが、元のコード書いた奴は大卒のはずなのに、なんというコード書いて
くれたんだ・・・ 引き算しなければ減算後のDAA補正も要らなくなったし。
あーめん
374 :
デフォルトの名無しさん :2011/07/11(月) 13:14:08.65
LSIC80で、ROMLIBにある関数をコールするとき、 call DIVIHD##というASMなのに リンクされたMAPには##の無いDIVIHDがリストされています。これって何でなの?
#はコメント
376 :
デフォルトの名無しさん :2011/07/11(月) 17:07:23.49
EXTRN書かなくても外部名になるって意味もあるのかな?
どうかな?あるかも?ないかも?
378 :
デフォルトの名無しさん :2011/07/12(火) 16:15:56.59
沖の8085データシートだと、演算後のフラグの立ち方まで書いてないんです。 ACCに AND OR XRA の演算をするとCYはゼロになります。 DCR reg は、非ゼロからDCRしてZが立ったときはCYもゼロ。 この理解で合っていますか?
>>378 dcrはキャリーを変えないよ。
つーか、その辺りも載ってるニモニック表なんて、ぐぐればすぐ見つかるだろ。
>>380 ありがとう。ということは INX,DCX もそうなのでしょうね。
たしか以前ぐぐったときは
>>378 のぐらいしか見つからなかったような。
383 :
381 :2011/07/14(木) 06:24:27.59
今ぐぐってみましたが、やはり表になってるのは378のぐらいしか見つかりません。 過去に製本されて出版されたという情報はあるのですが、電子媒体になっている ものは意外と無いものですね。64180でも同じ事を経験しました。
384 :
381 :2011/07/14(木) 06:34:03.71
あら、すれ違いでしたね。ちょっと見にくいけど、コレイイですね。ありがとう。 htmlファイルのまま保存できるんですね。
385 :
381 :2011/07/14(木) 06:39:19.25
論理演算はCY=Zになるのだと記憶していますが、この表だとそれが表現できてない
>>385 論理演算の結果CY=0になってその結果が反映されるんだから
何も問題ないんじゃないの?
387 :
381 :2011/07/14(木) 07:33:04.38
押し出されたり借りたりが無いからキャリーは0と推測することはできますね。 当時紙で出版された本などではその辺のフォローまできめ細かに書かれてたなあ INR/DCR でキャリーが立たないのはなんかくやしい(w
388 :
381 :2011/07/14(木) 09:48:16.70
どこかからコピーしてtextで保存したflag変化まで書いた奴がtestフォルダに 埋もれていました、やれやれ。netぐぐる前に自分のマシン探せばよかった(w |Mnemonic |Op|SZAPC|~s|Description |Notes | |---------+--+-----+--+--------------------------+-------------| |ACI n |CE|*****| 7|Add with Carry Immediate |A=A+n+CY | こんなの
389 :
381 :2011/07/14(木) 10:15:23.49
あ〜!半角spaceが全部詰まってるorz
uPD17Kシリーズは分かりますか? スキップ命令ってなんでしょう?
そのシリーズは使ったことないけど 一般的には、条件分岐の一種で条件が成立すると、直後の命令をスキップする命令
直後の命令をコールにしておけば一連の処理をしたりしなかったりできる。
普通は無条件jumpを入れて使う 確かPDP8が導入した<conditional skip
もっと古い機械にもありそうな気はする
本当にそんな命令なのか? それってなんか思いっきり実装しにくい気がするし(命令長は一般に固定ではないから、 結局次の命令をフェッチしないと「スキップ」できないという矛盾)、機能的にも 条件付ブランチとかぶっていて意味があると思えない。
逆に言うと、命令長が固定だったり、先読みしてデコードとかが進んじゃっていれば パイプラインの次の命令をアボートするだけ。 条件ジャンプと違って飛び先が固定だし、パイプラインなら次の次の命令はそのまま 実行できるわけで、無意味じゃあないね。uPD17Kシリーズは知らんけど。
いにしえのプログラム電卓にも条件スキップがあって重宝したよ。 ラベルなしでプログラミングできるのは魅力だった。 そもそも、命令長が一般に固定でないという発想自体、インテルに代表されるマイクロチップに毒されている。
そのインテルチップだって、条件ジャンプのオペランドが短くて、条件を反転して直後の無条件ジャンプを飛び越える様に使う必要がよくあったね。 これって、結局スキップ命令と同じだよね。
>>398 それは相対ジャンプが短かったz80のことじゃないのか? それならZilogチップだ。
尤も、8080の時代に無条件ジャンプ命令のオペランドに飛び込むコードはよく書いたが。
なんかもういろいろ無茶苦茶な知ったかぶりだなw
>>399 8086も相対分岐のオフセットは8bitしかないでよ
さらにZ80みたいな条件付き絶対アドレス分岐命令ないので、ぎりぎり届いてたところに
手を入れたら連鎖的に届かなくなって、一個一個泣きながら直したり
>>399 8086でも変わりなかったよ。
後期のMASMにはそれを自動でやる機能がついてたくらい。
386で命令を拡張するときになって、漸く条件ジャンプのレンジが拡がった。
常にジャンプになってしまうんじゃ性能が出ないと判断したんだと思う。
今はジャンプ先でもプリフェッチしちゃうような時代だから、
現在のプロセッサ技術があれば広げなかったかも知れないし、スキップ命令にしたかもしれないね。
403 :
399 :2011/07/19(火) 13:48:06.76
単に8086を知らんだけだし。つーか、忘れたんだと思う。1パスのアセンブラだとなんともならなくて2パスにした記憶はあるから。
# N88Basic(86)でアセンブラなんて、今だったら絶対作らんと思うw
>>402 x86はSSEの条件セットがその役を担っているのでは?
9801ならmonに一行アセンブラ入ってなかったか?
あったね。というか、MONコマンドはBASICで、MS-DOSのはDEBUG.EXEだったか。
406 :
399 :2011/07/20(水) 10:50:30.12
>>404 Epsonの互換機にはなかった気が。それに、シンボルもなければソースのロードもないし。
debug.exe(symdeb.exe)はリダイレクトできたけどそれ使うようになった頃はmasmかLSI-Cのアセンブラを使ってたと思うし、それはもう少し後の時代だと思う。
いろんなところでいろんなもん触ってたからもう、ごっちゃだよw
俺のEPSON機に付いてたBASICにはあったよ。 もしかしたらBASICのシステムディスクを作るときに何か設定必要だったかも。 いずれにしろシンボルは使えんけど。 SYMDEB.EXEはNECのMS-DOSにはなぜか付いてて(3.3のころから拡張なんとかに なったけど)、EPSONのにはDEBUG.EXEしか付いてなかった。
408 :
デフォルトの名無しさん :2011/07/20(水) 11:35:36.02
debug.com は masm.exe と一緒に dos に同梱されていた symdeb は別売り masm だろ epson dos の頃になると主力が c に移っていたし c++ まであった
時代によって(バージョンによって)違う
98用は 2.11 - masm入り/debug 3.1 - masm別/symdeb だったような気がする 20年以上前の話なんでかなり記憶が曖昧だ
制御系とはだいぶ離れてきたなw
とても広い意味では制御系と言えなくもなくもなくも
制御系なら98は現役w
ノイズ対策w 連続稼動w
FC-9801てえのがあったでよ うちはそこまでシビアじゃなかったので お値段的にふつーのPC-9801一択だったが
FはFinal?
Factory
Fatal
PC-9801Fw
沖の8085データブックpdfで、ACI と、ADI の説明が反対になってるの見〜っけ!
421 :
デフォルトの名無しさん :2011/07/31(日) 02:45:04.03
8085のデータブックで、命令一覧表にステート数とサイクル数って 書かれてるんですけど、この2つって何のことなんでしょう? 実行時間見積もるのにどっちを使ったらいいかを知りたいのです。
423 :
421 :2011/07/31(日) 12:27:26.96
どうもです。クロックの逆数なのはステートのほうみたいですね。3MHzで、 OUT 0xxh 10ステート=3.3μ ORI 0x20 7ステート=2.3μ OUT 0xxh 10ステート=3.3μ setup/hold = 1μのPLLへの書き込みなので5倍ぐらい余裕があります。 ありがとうございました。
DAD H は左シフトに使えて、キャリー立ちますよね?
425 :
デフォルトの名無しさん :2011/08/04(木) 05:42:56.53
MB1504とかの、基準分周器が16bitなPLLが生産中止で、基準分周器が19bitな PLLを採用するらしいのですが、どんなのがあるか紹介してくださいませ。
最近は難しいね そういうのはCPUと一緒にチップ上に取り込んでしまうから実験のためくらいの用途しかない
PLLのデータブックは貰えなかったけど、数式だけでなんとかできました。 周波数+70455 を64で割った商と余りを 11bit,0,余り,0 でシリアル出力するの。 ACCが8bit、HLregが16bitな8085では面倒だったけどパツイチで動きました。
戦闘機や自動車の制御ソフトウェアでオープンソースなもの拾えませんか?
その手のは、パックったら動くってもんでもないし ソース眺めただけじゃ、ワケワカになるような
制御ソフトウェアがどんなコードなのか雰囲気だけ味わってみたいんですが モジュールの分割だったり、クラスに落としてるのかとか
アホか
>モジュールの分割だったり、クラスに落としてるのかとか 言葉知ってるだけで終わるのが落ち 簡単なパソコンで動くものを何回もやることだろうね、数学みたいに
>>432 作る気も動かす気もないし、用語を覚える気も簡単なもの動かす気もないから
上で丸め誤差やら計算誤差、チャタリング、制御の話が出ていて、
実際には、どんな感じのコードになっているのか気になったんだよ
まず、近寄りたくない分野の1つだけれども怖いモノ見たさで
書けるけど、読めない人が多いってのはどう思うよ、プログラム系
>>434 一種の謙譲、あるいは「読めない」ではなくて「読みたくない」。
読めるようなソースを探すことでもやるんだね お仕着せの書き方覚えても通用しないってわかってるってことじゃないの
437 :
デフォルトの名無しさん :2012/03/12(月) 12:38:22.73
本当に必要なときはどんな手を使ってでも 何が何でも読むしな
使用者側にはそれができる人かできない人かを見分けることが必要で、 また、一定以上のキャリアがあるなら自覚できる必要があるよな。
>「読みたくない」 転職考えたほうがよくね
難読化されたまともなコード、のほうがまだまし、と言いたくなるような まともでないコードを解読するのは一種の特殊技能だろ。
俺の書くものは完璧ですってのもないだろうに 入門レベルで読みたくないってのは向かないって、気づくにはいいかも
442 :
デフォルトの名無しさん :2012/03/12(月) 16:55:28.55
読んでいる最中は必要以上に難読化されているかどうかわからん おや、バグかな? と思ったところも、後々になって謎が解けることがあるし いや、結局バカヤロウなオチもあるけど それはごにょごにょ・・・
制御方面(電気とか)の知識はあるんだろうか?やりたい系は
444 :
デフォルトの名無しさん :2012/03/12(月) 23:57:09.45
最近はプログラム書くのも面倒だ
>>440 コード読む以前の知識を取得しなきゃむり
つか、 おまえは数値計算ソフトも読めないんじゃない?
大学でロボティクスや制御の講義を行ってた自称10年のベテランの教授の下で、 卒業研究を行ってたら、「おまえはオカシなコードを書くからプログラマにはなるな」 と言われたんだが、どうも納得いかないんだ。 その教授のコードってものが、グローバル変数を使って、引数なしの関数に値を処理させたり、 ループ変数をグローバル領域に置いてたり、構造体やらポインタなんて全く使ってないんだ。 おまけに、printfに初期化指定子を使っておらず、ファイルに出力するデータのナンバリングにif文で 条件分岐していたもんだから、とにかく電気やロボティクスから入ったプログラマの下で働きたくない。 あんなコードで数値計算やって納品して戦闘機が飛んでたりするのか?
そうだよ 制御系プログラムをPCなどのプログラムと一緒にしてはいけない 余裕のある環境なら別だが、非力な環境ならそれなりの書き方をする
マヂで?制御ソフトってスタック領域にループ変数すら置けないの?
そういうやり方もあるって話 ふつうのプログラムなんて誰だって書けるんだよ せっかく特殊なテクニックが学べるのに批判しか頭に無い 君はプログラマにむいてないんだろうね
texやbashすらまともに使えないんで、自称ベテランのアホだとばかり…。 まぁ、いいや。制御にゃ絶対に進まない決心がついた。
制御にかぎらず、金融や役場関係のPGにも行かないほうがいいな 似たような書き方する所がある やめておきなさい
金融や役場関係でもメモリが足りないなんて場面を想像できないんですが、 何故、そのような書き方がされるのでしょうか? もう、ショッピングセンターで働こうかな
代々それでやってきた仕様だ その場にいる奴は誰も理由なんて知りはしないよ
ウェブ系ベンチャーとjava屋の他は地雷だって肝に銘じときます
Javaはアウトだ ウェブは知らんがDBかかわってたらアウト なんにせよ、仕様通りに作るのがPGであり 自分の意見を持つようなガタガタうるさいガキは使い物にならないから今のうちから他の道を選ぶ事を勧める 君がプログラマにならなくっても、換えはいくらでもいるんだ
>>446 現場知らん人にツボみたいのがわかってるわけねえじゃん
理解力があるから作れるってもんでもないし
BASICあたりで止まってるんじゃねえの、若い頃の知識でやってるだけでしょ
底辺の職場って経験年数が長いだけの万年初心者ばっかなの?
ITドカタの名は伊達じゃ無いぞ。
ドカタ仕事だって言って、単価下げてることをしてることもわかってない連中なんじゃないの 下手したら、廃人になる可能性があることもわかってないみたいだし
考え方はあってるとしても、そのままは通用せんでしょ パソコンみたいになんでもありってわけじゃないし、制御系 (なんでもありってわけじゃないけど、パソコン)
>>446 納得いかないなら理屈を聞いてみろよ。大学で、教授が相手なんだろ?
理屈を説明するのを嫌がられたら、たぶん教授がおかしい。
464 :
デフォルトの名無しさん :2012/03/13(火) 12:22:33.04
スタイルについて尋ねて理路整然とした答えが返ってくる率は少ない 謙虚に聞いているのにやたら高圧的とかね
空白や括弧の置き方なら「スタイル」だろうし理路整然なんていかないだろうが、
>>446 みたいなのを「スタイル」というのは、違うんじゃないの?
ただのスタイルだとすればそれで「プログラマにはなるな」ってのもおかしいし。
466 :
デフォルトの名無しさん :2012/03/13(火) 12:59:00.97
スタイルに含める場合もある。 いずれにしろ、その教授はおかしいと判断してよい。
468 :
デフォルトの名無しさん :2012/03/13(火) 14:15:39.96
> スタイルに含める場合もある。 なぜ? 含める場合と含めない場合の境界は? > いずれにしろ、その教授はおかしいと判断してよい。 なぜ? おかしいとは正常域を逸脱、または矛盾があることを言うが、 何に対するどのような期待による正常域? もしくは何と何が矛盾?
古文みたいな書き方してるだけでしょ 研究に没頭?してるとそうなるのかな、流れの早い業界だし
C言語の基本なんて80年頃からたいして変わってはおらん。 最初の標準化から既に20年、32ビット環境があたりまえになって10年。 グローバル変数を多用、構造体を使わない、いずれもC言語云々というより、 Fortran中毒から脱却できないとか何か、かなり重篤な病状。 ポインタに関しては濫用すべきじゃないけど、全く使わないというのも 普通ありえない。
>>463 実際のところ、ライブラリが何か理解してないみたいなので、正直なところ聞くまでもないと思ってます
念のため、組み込みや制御分野では当たり前のコーディング作法なのか聞いておきたかったので
>>465 インデントスタイルはPicoスタイル(wikipedia参照)でした
>>469 就活担当だったし、事務室の仕事を手伝ったり、研究に没頭しているような教授ではないです。
haskell何それ?役に立つの?って具合な計算機科学とは縁のほど遠い製造業マンセーな教授。
ちなみにPGは高卒、専門卒の仕事だとの認知らしいですが、私に紹介した企業は三交代制の工場勤めでした。
>>470 教授自前の逆行列を求める関数はグローバル変数で値渡ししており、
非常に考えさせられる部分の多いコードでした
製造系SEを2、3年も経験したら誰でも教授が勤まりそう
大卒に求めてるのは技術的なことがわかればいい営業だからね 動くものが作れる作れないは関係ないからでしょ
日本の製造業の病巣のサンプルだな。 あいつらがスペースシャトル作ったら、高卒、専門卒にプログラム書かせて 人を乗せて飛ばす可能性すらある。
仮引数と返値はスタックに詰むからハーバードアーキテクチャとかRAMに余裕のないマイコンだと仕方がないかも 命令単位で時間を計ったりといった高級アセンブラな使い方すると書式文字列のパースなど見えないところで時間を食うのも困る
>>474 そんな事情があるならはじめからアセンブラで組むか、さもなければ
コメントを残しながら仕方なくやるのがまともなプログラマ。
「高級アセンブラ」とか言い出す奴って、たいてい規格票を見もせず、 コンパイラが吐くコードを解析しただけで、仕様がどうこうとか言い出す という印象がある。
478 :
デフォルトの名無しさん :2012/03/15(木) 07:57:26.02
現金なヤツが多いってのはまああるけど 机上で丸暗記した知識だけで満足してる頭でっかちを等しくばかにてるぞ 規格票を見てないってのはおまえ認識が甘い おまえの想像を絶する量のデーターシートやら規格票やらと戦う毎日であって その絶対量の中で言語1つに付き合ってやれる工数が限られてるだけだ
____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ <その絶対量の中で言語1つに付き合ってやれる | |r┬-| | 工数が限られてるだけだ \ `ー'´ / ____ / \ /\ キリッ . +/ (●) (●)\ / ⌒(__人__)⌒ \+ | | クスクス> \ / ____ <クスクス / \ /\ キリッ . / (●) (●)\ / ⌒(__人__)⌒ \ + | | + \ /
480 :
デフォルトの名無しさん :2012/03/15(木) 08:06:29.61
どうした、それしか言い返せないなら褒め言葉あんがとよ
規格覚えれば、出来るってもんでもないでしょ
規格票て何?
JIS
FL-NETの仕様ってなんであんなに意味不明なの? シーケンスやパケットの仕様の書き方もわかりずらい 普通にudpで通信する物で何番ポートで何してるって感じで良いと思うんだが 制御屋はあの仕様だと助かる部分があるの? メモリマップみたいなんとか意味不明 必要無かったし
udpって垂れ流しだからね、udpの実装は簡単だったけど やってるうちに、ワケワカになったとか
486 :
デフォルトの名無しさん :2012/05/07(月) 19:23:33.88
半開?
488 :
uy :2012/05/08(火) 17:54:03.00
俺のバグで会社に50万円ぐらいの損害を出したことある
489 :
デフォルトの名無しさん :2012/05/08(火) 20:01:49.47
ちっちぇ
>>486 がバグってたら最悪、お金で贖えるレベルの損害じゃすまないな
セクタ条件ってなんすか?
フィードバックの改善を数式で改善しましょう って、ことかな?