1 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:12:02.228 ID:WehlNyC60.net
この(a)教えて

33 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:41:31.801 ID:WehlNyC60.net

>>32
天才ですか?
ちょっとトモダチになってください神様

54 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:12:33.716 ID:qXbyzVgC0.net

Winのgccって-oで指定した名前に勝手にexeつけてくるのか・・・

40 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:50:34.137 ID:ssFE83h+0.net

やっと理解できた。
よくあの情報から導き出せたなぁ、まだ必要な情報足りてないと思うんだが、そうではないのか、、、?

18 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:26:34.388 ID:aaBTruDL0.net

v = (u + 10) / 4096; // (a)
al = v & 0xff; // (b)
ah = (v >> 8) & 0x0f; // (c)

31 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:39:06.211 ID:aaBTruDL0.net

16ビット符号無し整数
おまじない # include <stdint.h> が必要

37 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:46:02.997 ID:sgxCYpsm0.net

>>28
これって4095じゃなくて大丈夫なの?

10 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:16:38.765 ID:ssFE83h+0.net

c言語でググって自分で解決してね

29 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:35:35.622 ID:WehlNyC60.net

やばい……ここは天才しかおらんのか

36 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:44:17.333 ID:WehlNyC60.net

いややばすぎる
天才すぎるほんとに友達になりたい

53 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:11:01.685 ID:ujuyZPBP0.net

3.でマスクして上位ビット取り出してるけど
どうせ右シフトではみ出して消えるんだからこの工程必要なぐね?

44 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:56:57.808 ID:WehlNyC60.net

(c)ちがくない?

57 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:17:49.479 ID:qXbyzVgC0.net

>>53
お行儀お行儀w

現実的にはuの範囲検査とクリッピングもしてないし、レジスタ側の上位ビットに変な制御ビットが割り当てられてると嵌るし。

63 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:39:20.196 ID:iUQW2yZh0.net

Arduino弄ってた時に似たようなことやった気がするけどもう忘れたわ

60 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:21:20.646 ID:lnqr1QAW0.net

>>54
Winじゃないとどうなるの?

42 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:53:24.727 ID:aaBTruDL0.net

>>37
ああ、そうだね。4096だと10.0入力のときオーバーフローするね。

じゃあ最終稿

uint16_t v = (u + 10) * 4095/20; // (a)
al = v & 0xff; // (b)
ah = (v >> 8) & 0x0f; // (c)

34 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:43:34.304 ID:aaBTruDL0.net

重要なのは、
(a) が -10‾+10の範囲の実数値を0‾4095の範囲の整数に範囲変換(と型変換)してる
この結果は0‾4095の12ビットになり、
DA変換器の仕様で上位4ビットと下位8ビットに分けて出力する必要があるため
(b) 下位8ビットの抽出
(c) 上位4ビットの抽出
をそれぞれ行う

を理解することだよ

47 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:01:44.047 ID:/jZ4d3vr0.net

せっかくだから最後まで書いてみるか。

void da( int ch , double u )
   {
   int v = (int)( ( u + 10.0 ) * 4095.0 / 20.0 );
   int al = v & 0x0ff;
   int ah = ( v & 0xf00 ) >> 8;
   outb( ADR_DA + 0 , al );
   outb( ADR_DA + 1 , ah );
   }

chって何だこれ?

9 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:16:36.609 ID:F738KEQ60.net

めっちゃ写りこんでるのはいいのか

66 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 01:14:57.847 ID:27AWjXTD0.net

web系だからさっぱり分からん、なにこれ日本語なの?

52 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:09:59.986 ID:YaIHx96x0.net

コンパイルできた
本当にありがとう

21 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:27:55.946 ID:WehlNyC60.net

>>18
これ正解?

14 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:21:26.914 ID:WehlNyC60.net

ちょっと待って

67 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 02:09:42.034 ID:wGxdA2Yld.net

俺も分からん
systemVerilogの方がまだ分かる

17 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:25:43.540 ID:5RChp6rW0.net

ダイレクトホームワークでワロタ

7 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:15:11.031 ID:Zvq4w0i10.net

普通PCのスクショだよね

7 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:15:11.031 ID:Zvq4w0i10.net

普通PCのスクショだよね

24 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:30:15.354 ID:WehlNyC60.net

ほんとたすけて
まじ天才たすけて

15 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:23:29.488 ID:WehlNyC60.net


65 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 01:05:52.199 ID:iRvq4w8N0.net

あと、Windowsは別に拡張子省略しても実行できるから、-oの後に.exeがついたところで何も困らない

28 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:33:14.900 ID:aaBTruDL0.net

uint16_t v = (u + 10) * 4096/20; // (a)

かな

41 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:50:51.116 ID:d5vm66Gq0.net

俺も大学の時メモ帳でプログラミングの授業させられたけどよくよく考えると意味不明だよな
最近もメモ帳なんだな

35 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:43:35.772 ID:ws5cOrES0.net

解決したかな?おめでとう!

2 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:13:36.652 ID:WehlNyC60.net

25 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:30:52.779 ID:BQ0UCuVa0.net

>>16違うぞwwww
vはキーボードから入力するんだ。
その後に、それを -10.0 → 0 , +10.0 → 4095 にする。
それが>>15の(1)の「電圧uを二進数vに変換」だ。
変なのは>>2のコードで変数vが電圧uで、二進数vの変数はまだ無い。

6 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:15:01.931 ID:WehlNyC60.net

わかるやついないよなあ
さすがに

48 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:03:46.488 ID:YaIHx96x0.net

いないの?神様

55 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:13:37.915 ID:wGxdA2Yld.net

きてやったぞ

何が分からないの??

3 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:13:38.817 ID:ssFE83h+0.net

これ画像足りてないじゃん

19 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:26:37.787 ID:SF0Da053a.net

分からんけどこんなもん実務じゃ使わんよな

61 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:29:59.668 ID:qXbyzVgC0.net

>>59
そうだね。。。たとえばDA変換器のケースで有り得るのは、上位ビットにDAのレンジがエンコードされてるとかいう変態仕様とかありがちかな。DMAで連続出力して波形再生とかするときにいちいちレンジをORしてやらないといけないとかソフト泣かせw

>>60
ふつうは -o で指定した名前がそのまま出力ファイル名になる気がするね。

でもこれ(winのとき)って-cのときとそうじゃないときに出力ファイル名を決定する嫌な作業があるしmakeのdependency書くときにgccが何してくるかの暗黙の知識が必要だし本当かしら・・・w

22 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:28:09.873 ID:WehlNyC60.net

>>20
君だけが頼りなんだ

4 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:14:26.774 ID:WehlNyC60.net

>>2
どゆこと?

64 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 01:05:03.932 ID:iRvq4w8N0.net

>>61
Linuxは実行可能フラグで実行可能かどうかが決まるけど、
Windowsは拡張子で決まるから仕方ないな

5 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:14:43.967 ID:DaRXq4aW0.net

失せろ。

32 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:39:54.775 ID:aaBTruDL0.net

が、別にintでもかまわないよ。

45 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:58:19.159 ID:WehlNyC60.net

(c)ってvじゃなくてahじゃね?

23 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:29:52.330 ID:fjJ2aTAd0.net

しょうがないなぁ
one Tabでググれ

59 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:21:13.375 ID:ujuyZPBP0.net

>>57
低レイヤ?組み込み?プログラムだとそんなとこまで気にしないといかんのか
大変だな

26 :以下、?ちゃんねるからVIPがお送りします:2020/10/26(月) 23:31:54.939 ID:BQ0UCuVa0.net

>>18間違ってるwwww

50 :以下、?ちゃんねるからVIPがお送りします:2020/10/27(火) 00:05:51.735 ID:/jZ4d3vr0.net

>>49そうなんだよな。最後に outb ってやった時に addr に与えるつもりだったのに
あれ? ってなったww

Twitterでフォローしよう

おすすめの記事