[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 20:08 / Filesize : 94 KB / Number-of Response : 422
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門篇) Part 30



1 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 23:38:08 ]
言語の入門者向け解説スレです。

教えて欲しいのではなく宿題を丸投げしたいならこちらへ。
 C/C++の宿題を片付けます 108代目
 pc11.2ch.net/test/read.cgi/tech/1211980711/

・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 29
pc11.2ch.net/test/read.cgi/tech/1212329099/
過去スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000

237 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:16 ]
>>131
1643.zipがねーぞ?
2chなんかでリンク張るから消されたんじゃねーのw

238 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:23 ]
ここは半角板じゃねぇぇ。

239 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:25 ]
やぱりからかれてるんだ。


240 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:41 ]
>>236
しねばいいよ

241 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:44 ]
明日ゼミあるのに全くゼミ資料も裏付けもやってねー

242 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:25:45 ]
いくらなんでもa = 1がわからないやつを2週間も放置する会社は無いだろ

243 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:26:28 ]
a = 1; において、a という箱にはなにかしらデータが入っているから
そのままではそのデータが邪魔で 1 を代入することはできない
だから a からデータを取り出すなり消去する(「クリア」する)必要がある

とでも考えているんじゃなかろうか

244 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:26:35 ]
なぜreturn aで返るんですか?

245 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:28:44 ]
>>243
そうです。
どうしてクリアしなくていいんですか?



246 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:29:30 ]
上書きしてるから

247 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:30:08 ]
自分でC言語のコーナーいって
自分が一番わかるであろう本をかいなよ。
そしてプログラムを自分が理解してうつ。
それがベストだろ。

248 名前:デフォルトの名無しさん [2008/06/17(火) 01:30:50 ]
>>245
箱と説明されてるのがまずかったのかな?

ホワイトボードみたいなもんだを思ってくれ

a = 1;はaって言う名前のホワイトボード書き換える行為だと

249 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:09 ]
+=とか|=なら、245的クリアしない代入と言えるのだろうか?

250 名前:131 [2008/06/17(火) 01:31:17 ]
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#define MAX 5000
#define M 25
#define STR_MAX 256
void binary_file_process(char *fname)
{ float sample1; float sample2; float sample3[5]; float s1[MAX]={0};
float input_data[150][M]; char buff[100]="text/"; FILE *fin1=fopen(fname,"rb");
strcat(buff,fname); strcat(buff,".txt");
FILE *fp =fopen(buff,"w"); int i = 0,j = 0,k = 0,l = 0,m = 0,y = 0,z = 0,max=0;
int count=0; fseek(fin1, 0, SEEK_SET);
fread(sample3, sizeof(float), 6, fin1);
fseek(fin1, 12, SEEK_SET); while(fread(&sample1, sizeof(float), 1, fin1) == 1) {
s1[k] = sample1; k++; }
count=k/M; max=k; for(i=0;i<max;i++){ printf("{%.1f}",s1[i]); if((i+1) % M ==0){
printf("\n"); } }
printf("\n\n"); printf("k:%d count:%d max:%d \n",k,count,max);
k=0; for(i=0 ; i < count ; i++){ for(j=0;j<M;j++){
printf("\t"); input_data[i][j]=s1[k];
fprintf(fp,"%f ",input_data[i][j]);
if((k+1) % M ==0){ fputs("\n",fp); } k++; } } fclose(fin1); fclose(fp);}
int main(){ char buf[100][STR_MAX]={'\0'}; FILE *fp; int i,j,k=0,count=0; system("dir power/*.data >memo.txt");
fp=fopen("memo.txt","r"); if(fp==NULL){ printf("prog001.c:file can't open memo.txt\n");
exit(-1); } printf("読み込み開始\n");
i=0; while(fscanf(fp,"%s",buf[i]) != EOF){
i++; } count=i; fclose(fp); printf("count:%d buf[0]=%s\n",count,buf[0]);
binary_file_process(buf[0]);
}

なんとかまとめてみました
お願いします

251 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:29 ]
>>255
5行目と11行目のfor文を
i == 1 → i != 1 にかえるとおk

252 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:31 ]
変数の初期化
その変数に代入すると,初期化した変数にいれられる。

253 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:45 ]
>>246
そこが言ってることがわかりません?上書きってクリアとは違うんですか?

254 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:49 ]
>>245
ホワイトボードじゃ、一回クリアしないと書けないぞw

MDでもカセットテープでもなんでもいいが、
繰り返し録音できるメディアはいちいちクリアしなくても
新しく録音できるだろ。
それと一緒だ。上書きだよ上書き。

255 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:32:07 ]
間違った >>225



256 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:32:21 ]
>>150
単品じゃうごかねえつったろw

257 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:32:58 ]
>>245
C言語は、プログラマのコードが全て
つまりプログラマの責任において操作する
a = 1;
の後に、aに何を代入して上書きしようがプログラマの勝手
で、その変数aの値を使用するのは、プログラマの責任で使えってこった

258 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:33:42 ]
データがねーから

nt main(){ char buf[100][STR_MAX]={'\0'}; FILE *fp; int i,j,k=0,count=0; system("dir power/*.data >memo.txt");
でエラー

259 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:35:43 ]
まさにカオス

260 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:37:03 ]
何を代入してもいいのに1を代入するとかもうわけがわからないのは
やっぱりむいてないんでしょうね。
書いている言葉は理解できるのにさっぱり意味がわかりません。
長々とありがとうございました。明日相談してみます。

261 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:38:52 ]
何を代入してもいい箱には
何が代入できるのだろう。

そもさん、せっぱ

262 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:39:12 ]
書いている言葉は理解できるのに
↑↑何か脳の病気なのか…↓↓
さっぱり意味がわかりません。

263 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:40:02 ]
1は例えであって別に何しようが勝手だって
型なのどの規則を守ってたら
あとは>>257の言うとおり

何も代入してない状態の変数にも中身が勝手に入ってる
ただ、それは何が入ってるか分からないから自分が分かるように
分かる値を入れるだけ

264 名前:デフォルトの名無しさん [2008/06/17(火) 01:40:50 ]
>>255
ありがとうございます!
明日トライしてみますね!
助かりました。。

265 名前:255 mailto:sage [2008/06/17(火) 01:50:52 ]
>>264
あと公約数がない場合もつけたしておいたほうがいいよ



266 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:53:41 ]
公約数がないなんてありうるの?

267 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:54:06 ]
ねぇよwww

268 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:56:34 ]
素数って1とそれ自身以外の約数がないんじゃなかったっけ?
2つの素数の公約数って1でいいの?

269 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:56:44 ]
aが1かなんでもいいを入れられるのにどうして1を入れる必要が
あるのかどうしてもわからないんですよ。
1じゃなくても入れられるのはわかっています。
なんで1があるのにそれを入れるのか、どういう時に入れれば
いいのかわからないんです。

入れたいときにっ言うけどそれがわかりません。

フローチャートも演習でやったのは書けたけど、プログラムを見て
フローチャートに出来ません。
やっぱり無理ですね。よくわかりました。

270 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:57:16 ]
約数って素数じゃなきゃいけないんだっけ?

271 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:58:05 ]
>>269
もう寝ろ。

272 名前:255 mailto:sage [2008/06/17(火) 01:59:11 ]
あのプログラムだとループの i が1になった瞬間終了だから
8 7 とか入力したらバグる

273 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:59:14 ]
>>268
全ての整数は1と(負の約数を考えるなら-1)を約数にもつ。
だから、どんな二つの整数も1を公約数に持つし、
二つの素数の最大公約数は1

274 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:00:25 ]
変数の存在自体に疑問を持ってるということかいね
つまり、全部数値を直打ちしてプログラム書けということかいね
死ぬわ

275 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:01:01 ]
>>272
そういう意味だったか、すまん
確かに返り値返してないな



276 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:05:42 ]
変数の意義とは何ぞや。
すなわち、テンポラリである。

277 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:09:15 ]
女がピーかなんでもいいを入れられるのにどうしてピーを入れる必要が
あるのかどうしてもわからないんですよ。
ピーじゃなくても入れられるのはわかっています。
なんでピーがあるのにそれを入れるのか、どういう時に入れれば
いいのかわからないんです。

入れたいときにっ言うけどそれがわかりません。


ごめんもう寝る

278 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:10:02 ]
いや、別に入れたくないなら入れなくていいよ。

279 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:11:10 ]
根本的に無理だな
問題解決能力そのものがない

280 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:18:01 ]
>>277
応用をやるために基礎があるってことでおk?

281 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:23:06 ]
釣りだと思う人挙手



282 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:10:52 ]
>>269
つまり、プログラムで何をするか決めてない、理解してないのに
プログラムの構文を習った所で、そんな状態になるわな
まず、これから先に何かをする為に、そうルールでプログラムは動くって覚るしかない

変数は、プログラムを組むなら絶対使うからw
例えば、条件分岐(習ったかどうか知らんが)

int value;

// 何らかの処理でvalueに何らかの数値が入る
...

if ( value == 0 ) {
// 0の時だけにしたい処理
...
}
こんな感じで使う

a = 1; なんて、構文を教えてるだけだ、それに意味なんか求めるな

283 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:16:01 ]
つまりみなさんよくわかないけど使ってるんですね
わたしもそうすることにします

284 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:21:11 ]
>>283
それがいい
やってるうちに分かってくる b

285 名前:デフォルトの名無しさん [2008/06/17(火) 03:49:54 ]
c言語でbmpファイルを読み込んで、それを表示させるプログラムを作るには、
ウインドウ作成プログラムも作らないといけないのですか



286 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:54:58 ]
Cとウィンドウ作成の関係について詳しく

287 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:59:01 ]
おいちゃんの作ったプロ、グラマーなクソースなら
HTMLのTBL形式に出力しちゃうわよぉ〜ん

288 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 04:32:13 ]
これは ひどい

289 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 06:23:47 ]
スレ違うかもしれません。だが教えて欲しい!
昨年プログラムとして
とあるソフト入社したんだが、C言語でやってる。
しかし!入社して一年たっても全くと言って良い程
C言語がわからす、プログラムなんて持っての他。
テストばかり。テストばかりなのが嫌ではないのだが、
将来首切られる事ってあり得るのかな?
ちなみに勤務態度や
勤務状態(遅刻や早退)は良い。
やっぱプログラマ出来ないとリストラされるのでしょうか?

290 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 06:28:04 ]
時や場所をわきまえない奴は首

291 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 06:29:13 ]
入社したのが新卒なのか、中途で他業種からなのかとか
背景がさっぱりわからんし、同じようにテストを受けてるのが
一人だけとか他にも同期で何人かいるとかでも違うしなあ。

体力ある企業で新卒でそれをさせてるなら育成の可能性が
あるから首ってことはないだろうけどなあ。
それに体力無いところは適当な案件見つけてすぐにでも
経歴偽装してデスマな現場に放り込まれそうだけどなw

292 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 06:44:28 ]
289ですが、専門卒で新卒でソフト会社入って
一年でやめて、違う業種で一年やって
三年程のブランクを経て今ある会社に入りました。
形としては中採かな。1ヶ月程たった。
自分づもプログラムに向いてないのは
分かってるけど、違う業界でやっていくか、
とりあえず分からないなりに
努力していくか悩んでいるのです。
スレ違う失礼しました。
ただ、このスレ野中にはプログラムの人もいるかなと思い、
参考程度に聞いてみた。
結局は自分だけど、皆さんならどうしますか?

293 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 06:54:07 ]
プログラムの人ってなんだよw
プログラマだろ

294 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 07:12:42 ]
とりあえずちゃんとした文章を書こうよ

295 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 07:15:02 ]
まーまだ20代なんだからやる気次第かもね〜




296 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 07:53:17 ]
質問です。char変数に代入する方法がわかりません。次のようなプログラムなんですが、

char fruits;
int kind;
printf("どれが好き?\n1.リンゴ\n2.みかん\n3.バナナ\n");
scanf("%*d,%d",kind);
switch(kind){
case 1:
fruits = "リンゴ";
break;
case 2:
(中略)

printf("あなたは%sが好きです",fruits);

fruitsに文字を代入するところでエラーが出てしまいます。どう変えれば動くようになりますか?

297 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 07:58:51 ]
#include <string.h>
(省略)
char fruits[64];
int kind;
printf("どれが好き?\n1.リンゴ\n2.みかん\n3.バナナ\n");
scanf("%*d,%d",kind);
switch(kind){
case 1:
strcpy(fruits, "リンゴ");
break;
case 2:
(中略)

printf("あなたは%sが好きです",fruits);

298 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 08:03:26 ]
別に
fruits[0] = "リンゴ"[0];
〜〜
fruits[6] = "リンゴ"[6];
fruits[7] = "リンゴ"[7];
break;
でもいいけど。

299 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 08:22:29 ]
大きさを宣言するんですね!
うっかり忘れてました。thxです。

300 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 08:23:51 ]
>>289
>>292
1年なのか1ヶ月なのかはっきりしろよ

301 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 08:41:06 ]
>>299
うっかり…なのか?
何だかchar型に文字列のポインタ入れようとしたり、基本的なことが分かってないように思えるんだが

302 名前:デフォルトの名無しさん [2008/06/17(火) 09:33:14 ]
>>286
BMPファイルを読み込んだ後にそのBMP画像を画面に出力すること
と言われて、BMPファイルをメモリに読み込ませることはできたんですけど
出力するプログラムがわかりません

303 名前:デフォルトの名無しさん [2008/06/17(火) 09:37:10 ]
>>286
BMP画像を読み込んで、その読み込んだBMP画像を画面に出力する
というプログラムを作成するのに、そのまま出力することができるんですか
BMP画像を読み込ませることはできたんですが、それを画面に表示
させる方法がわかりません

304 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:38:57 ]
スレ違い

305 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:28:58 ]
つまり「日本語なら俺に聞け(入門篇)」のスレへ行け、ということですね。わかりますた



306 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:43:36 ]
問04(最終問題)
テキストサウンドノベルを作成する事。
キー入力でメッセージを表示し、途中で選択肢を含める。(最大3つまで)
画面をスクロールさせることは禁止。ページ切り替えは、画面全消去で対処する事。
テキスト行数は、最低50行から最大100行までとする。
画面全消去方法は、先生に聞くこと。
これってCじゃなくC++ですか?

307 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:49:47 ]
>>303
つ ttp://www.db.is.kyushu-u.ac.jp/rinkou/c/kougi7/Slide29.html

308 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:41:57 ]
質問だけですが、分かる方お願いします。
cは拡張キーワードというのがありますが、
どういった場合に使用するのでしょうか?
具体的な使い方とか乗っているサイトありませんか?

309 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:08:19 ]
>>308
拡張キーワードって __asm __stdcall などのこと?
それぞれが必要なときに使うんだよ。
使い方は処理系のマニュアルを読む。


310 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:08:52 ]
>>306
サウンドのあたりがしんどいね

311 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:57:06 ]
>テキストサウンドノベル
これはひどい

312 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:14:08 ]
>>269
亀レスだが、その疑問はコンピュータサイエンスのプログラム意味論や
計算とは何かの範囲になるので、ここではスレ違い。

313 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:59:38 ]
エレガントなコードを書くのに参考になるような本って何かありますか?
Short coding以外で

314 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:21:01 ]
>>177
> 変数ってprintfで表示できるしデバッガーでも表示出来るのはわかるのですが
> 計算して新しいものを入れるのにクリアしないのですか?

そうだよね、変数は値(を書いた札)を入れる箱だから、元の値が邪魔になるよね。
っていうアレではないか。

315 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:01:50 ]
>>314>>243-245で既出だった



316 名前:デフォルトの名無しさん [2008/06/17(火) 19:01:20 ]
1つのスイッチと4個のLEDを使ってプログラムを作ろうと思っています。
スイッチを押すとLED1が点灯→もう一度押すとLED1に続いてLED2が点灯、さらに1回押すとLED3も点灯
というように押すたびに点灯するLEDが増えてくというものを作ろうとしているのですが、
まったくできません。
プログラムをどのように書くと1つのボタンでLEDが点灯する数を増やしていくことができるのでしょうか?

こういう風に

317 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:03:54 ]
どういう接続かしらんけど
ポートに出力するデータに対して
最初は0
左シフトして1インクリメント
を繰り返せばOKなんじゃない?

318 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:17:41 ]
>>317
今は

while(1){
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=0x01;
}
}

これでボタン押すとLED1が点灯する状態です。
>>ポートに出力するデータに対して
>>最初は0
>>左シフトして1インクリメント

この辺はどんな命令文で指示すればいいのでしょうか?

319 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:21:25 ]
char outdata = 0;
while(1){
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=outdata<<1;
outdata++:
if (outdata > 4) outdata = 0;
}
}

320 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:30:39 ]
>>319
詳しくありがとうございますw

char outdate=0;
の行でエラーが出るのですが、乱数使うときの#include<studlb>みたいな前置きみたいの必要なんですかね?

321 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:32:28 ]
組み込みスレで聞いたほうがよくないか?

322 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:35:50 ]
エラーの内容くらい読め

323 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:36:39 ]
釣りだろ

324 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:38:06 ]
>>321
まーIOポートも変数みたいに使えるようになってるからいいんでね?

>>320
char outdata = 0;

BYTE outdata = 0;

かな?

char型じゃないのかね?

それか

chara outdata;
outdata = 0;

のように行を分けないといけないとか

325 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:38:41 ]
char outdata;
outdata = 0;
こうだorz



326 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:48:31 ]
釣りじゃないですが

2500(E) ILLEGAL TOKEN: "char"
2225(E) UNDECLARED NAME: "outdata"

っていうエラーが出てしまいます。
>>324さんのも試してみたのですが、BYTEでも同じエラーでした。

327 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:53:39 ]
変数を定義できる場所とできない場所がある。

328 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:00:06 ]
面倒だからこうするか
P1.DR.BYTE = 0;
while(1){
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=P1.DR.BYTE<<1;
P1.DR.BYTE++:
if (P1.DR.BYTE > 4) P1.DR.BYTE = 0;
}
}

でもP1.DR.BYTEって読み込みできるのかな?

329 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:13:44 ]
{
char outdata = 0;
while(1){
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=outdata<<1;
outdata++:
if (outdata > 4) outdata = 0;
}
}
}

さらに面倒だからこうしちゃえば?

330 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:22:00 ]
日立のSHCか?

331 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:26:31 ]
H8/3664で遊んだときにどこかの会社の
無料の統合環境もこんな感じで組めたな。

332 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:29:58 ]
たぶん制御系スレが一番詳しいはずってか初心者が組み込みに手出すのは無謀じゃないのか

333 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:41:17 ]
>>328-329
>>P1.DR.BYTE++:
>>outdata++:
最後の点々はセミコロンじゃないとエラーでるけど:じゃないと意味ないんですかね?
ちなみにセミコロンに変えて実行するとLEDは点灯するけど点灯の仕方がランダムみたいになってます;;

>>330
日立のH8/3052Fです

334 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:47:22 ]
>>333
あ、ごめんコロンになってたかな?
セミコロンに直してください。

ランダムというかウェイトいれないといくらマイコンって言ってもその程度の
ロジックならかなり早い点等を繰り返すはず。
なので変な点等になる。

335 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:47:50 ]
点等orz
点灯ね



336 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:50:26 ]
スイッチ押してる間ずっとP2.DR.BIT.B0が0だったりして。
制御系って適当に作りまくってると火を吹きそうなイメージなんだけど大丈夫なんだろか

337 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:51:34 ]
>>336
多分タクトスイッチが押されるとアースしてるんじゃね?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<94KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef