Yahoo!ジオシティーズ ゲストブック  

   2006/11/26 (Sun) 23:45:34
[名前] :   kawana
[URL] :   
[コメント] :   Win2Kですが、WinXp別のPCにインスト−ルしたものがありますので、そちらで、試してみます。
CP2102ドライバ−で検索さひていたら、Kummanさんの記事にたどり着きました。
   2006/11/26 (Sun) 23:49:36
[名前] :   kuman
[URL] :   
[コメント] :   送りました
   2006/11/26 (Sun) 21:28:51
[名前] :   kawana
[URL] :   
[コメント] :   ICは、CP2102 USB to USART Bridge Controller
です。
   2006/11/26 (Sun) 22:28:50
[名前] :   kuman
[URL] :   
[コメント] :   OSは何を使っておられますか。
WinXPでアップデートしてあればドライバがあるようです。
私も最初は悩みましたが、アップデートしたときに簡単に読んでしまいました。
私のここ
http://www.geocities.jp/kuman2600/n6programmer.html#07
を見てください。こんなファイルは無いでしょうか。
何回かトライして何となくインストールできた経験があります。
   2006/11/26 (Sun) 19:24:21
[名前] :   kawana
[URL] :   
[コメント] :   Chan氏のUSB-SPI Bridge for AVRSPを製作したのですが
USBケ−ブルを接続すると、USB-SPI Bridgeのドライバ−
インスト−ル指示画面が出ます。どのようにすれば良いのか判りません、教えてください。
   2006/11/26 (Sun) 20:12:40
[名前] :   kuman
[URL] :   
[コメント] :   FTDI232BMを使っていると思います。
このデバイスのドライバが必要ですが、
メーカーのHP
http://www.ftdichip.com/Drivers/VCP.htm
からDLできます。
Winのバージョンによっていろいろあるようです。
ダメだったらまた連絡ください。
   2006/11/21 (Tue) 22:37:31
[名前] :   hira32
[URL] :   
[コメント] :   ハードディスクを分解して、「スピンドルモータ」を取り出しました。動かせたら面白いなと思って、検索をしていたら、こちらのページにきました。「AVR仕様記−これからはじめる方へ」を読みました。面白そうだなと思いました。乾電池をつないだら、動くかなと思ったんですが、^^;
   2006/11/21 (Tue) 23:15:07
[名前] :   kuman
[URL] :   
[コメント] :   お読みいただき、ありがとうございます。

理屈が通らなくても、系統的でなかっても作ることは楽しいし、それなりに動くとうれしいものです。

初めてLEDピコピコをしたときは素晴らしい感動がありました。アマチュアの特権ですね。

ハードディスクのモータはデジタルコントロールのブラシレスではないでしょうか。ICとソフトと一体になって初めて動くように思います。

おもしろい話題がありましたらお知らせくださいね。
これからもよろしく。
   2006/11/21 (Tue) 09:47:45
[名前] :   kawana
[URL] :   
[コメント] :   すみません、書き方が悪くて

プログラムは構成は、
LED.c
LED.h
m168LEDC.c
の3本構成です。

グロ−バル変数宣言は、メインの上外で、宣言
uint8_t segd;

main()
{
segd=0x3f;
seven_out(segd);
....................



LED.cの中身
const seven_dec[]={
0x3f,
..........

seven_out(segd)
if(bit_is_set(segd,7))
...............

LED.hの中身
const seven_dec(uint8_t)
void seven_out(uimt8_t)
   2006/11/21 (Tue) 11:35:33
[名前] :   kuman
[URL] :   
[コメント] :   seven_out()がサブルーチン関数だと思いますが、
segd がグローバル変数ですから、引数として送ることは無いと思います。
グローバル変数はどの関数からも参照できるからです。

ただ、分割コンパイルはまだ分かりません。
   2006/11/20 (Mon) 19:59:09
[名前] :   kawana
[URL] :   
[コメント] :   下記のプログラムで、sub関数に(uint8_t segd)の様に
uint8_tを追記すると、コンパイルが完了しますが、
(segd)では、プロトタイプミスマッチエラ−がせます。
どうしてですか?

//**********************
uint8_t segd;

//**********************
//LED.c

const char seven_dec[ ]={
0x3f, // 0
.........
.........
seven_out(segd) // (uint8_t segd)では、OK
// serial convert
// D7-------
if(bit_is_set(segd,7))
.................
................

//**********************
// *** main program ***
int main (void){
..................
segd=0x3f;
seven_out(segd)
.................
.................

//*********************
//LED.h
....................
void seven_out(uint8_t);
   2006/11/20 (Mon) 21:18:32
[名前] :   kuman
[URL] :   
[コメント] :   プログラムは

グローバル変数宣言
サブルーチンプロトタイプ宣言
メインルーチン(この中でサブルーチンを呼ぶ)
サブルーチン(関数)

となります。
seven_out()がuint8_t型の引数を取るならば、

uint8_t segd;
void seven_out(uint8_t); //プロトタイプ宣言 使う前に
int main(void){
seven_out(segd);
}
void(uint8_t segd2){
---
}

これではグローバル変数の意味がありません。
   2006/11/21 (Tue) 08:32:16
[名前] :   kuman
[URL] :   
[コメント] :   追加です。
プロトタイプ宣言はその関数を使う前に行い(すべての関数の前に置く)、形は
 関数の型 関数名(引数の型);
です。引数の型を書かずに引数を書くとエラーになるのでしょう。

サブルーチン(関数)にデータを渡すときはグローバル変数を使わなくても引数で渡せます(値渡しになりますが)。 戻すときは return data でmainに戻せます。

プログラムでは、
1 グローバル変数とサブルーチン内変数に同じ変数名を使っている(ルーチン内が優先か?)。
2 プロトタイプ宣言が関数使用後に書かれている。(mainの下にある)
3 サブルーチンの関数定義が見えない(これは省略でしょうか)。
と思いました。
   2006/11/20 (Mon) 19:58:41
[名前] :   kawana
[URL] :   
[コメント] :   下記のプログラムで、sub関数に(uint8_t segd)の様に
uint8_tを追記すると、コンパイルが完了しますが、
(segd)では、プロトタイプミスマッチエラ−がせます。
どうしてですか?

//**********************
uint8_t segd;

//**********************
//LED.c

const char seven_dec[ ]={
0x3f, // 0
.........
.........
seven_out(segd) // (uint8_t segd)では、OK
// serial convert
// D7-------
if(bit_is_set(segd,7))
.................
................

//**********************
// *** main program ***
int main (void){
..................
segd=0x3f;
seven_out(segd)
.................
.................

//*********************
//LED.h
....................
void seven_out(uint8_t);
   2006/11/20 (Mon) 13:35:07
[名前] :   kawana
[URL] :   ma-ereuql-755861@topaz.dti.ne.jp
[コメント] :   *** 周波数カウンタとUSARTの実験を製作の感想 ***

まず、ペ−ジが、綺麗で、解りやすく、必要なところにジャンプして行くことが出来るので、素晴らしい教材と思い感謝しております。
LCDの使い方も理解できたし、LCDのDB7-4を
PORTのB7−4に変更することも出来た。
タイマ−割り込みのところで、少し悩んだ。
時計は、きちんと表示しているが、keyboardから
?を入力するとハングアップした。修正に3日位要した。
時計とkeyboard入力の表示にLCDを使用しているので、表示位置がズレルことが解った。
今、LED表示器を製作しているが、mainからsubへの変数の渡し方で、悩んでいる。
   2006/11/20 (Mon) 18:47:20
[名前] :   kuman
[URL] :   
[コメント] :   そのときの気分で勉強しても、すぐに忘れてしまう、ので書き残しておこうと思ったのがこのページの始まりでした。
案の定、忘れては自分のページを見ています。でも、
時々自分の書いたものが分からない時があります。書いた時は分かったつもりだったのに。

多くの方に見ていただくのはうれしいことです。自分のためにもわかりやすく書くことにしましょう。

mainとsubの変数は、数が少なければ、グローバル変数そのもので、多くなればアドレスをグローバルにすれば良いかな、と思います(アドレスは使ったことがない)。

プログラムの関数の前(外)で宣言するとグローバル変数となり、どこからでも使えます。
   2006/11/17 (Fri) 18:52:38
[名前] :   トルフィン
[URL] :   
[コメント] :   実験のページのSPI通信にとても興味を持ちました。
たしかにどこのホームページにもSPI通信についての記載が無いように思います。
ここで質問なのですが、SPI通信という機能はどのAVRシリーズにもあるものですか?
AT90S2313のデータシートを読んでも見当たらなかったものですので。
   2006/11/17 (Fri) 20:23:51
[名前] :   kuman
[URL] :   
[コメント] :   お読みいただきありがとうございます。

通信は苦手な分野で(得意は無いのですが)、何とか勉強しようと頑張ったのがあのページです。

シリアル通信にはこの他に USART(UART),USI,TWI(I2C)などあるようですが一般の勉強はしていません。

SPIはデータのin,out、クロック、チップセレクトの4線で行うようで、この機能をハードウエアとして持っているかどうかで使いやすさが決まるのでは無いでしょうか。

S2313にはUARTのハードしかないようで、ソフトで書けばできないことは無いと思います(自分にはできない)。
S1200にはUART機能がないようですが、ソフトで行っている方があるようです。

答えにならなくてすみません。
   2006/9/19 (Tue) 22:06:06
[名前] :   kawana
[URL] :   ma-ereuql-755861@topaz.dti.ne.jp
[コメント] :   WinAVRのC言語を勉強しているものですが、配列、ポインターがよくわかりません。
メッセージの出力に使用したいのですが。参考プログラムで教えて下さい。
   2006/9/6 (Wed) 17:03:15
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   以下の2点を教えてください。

1.chanさんのfilesystemのmain.cに以下の記述があります。

/* Join xitoa module to uart module */
xfunc_out = (void (*)(char))uart_put;

 xfunc_outは、ユーザー定義関数へのポインタだとxitoa.hにあります。
 uart_putのみにここでこのようなこと(初期化?)をする意味がよくわからないの です。
 あとで、使われているわけでもないようですから。



2.chanさんのfilesystemのmain.cには、

 xputs(PSTR(\nFatFs module test monitor));
 xprintf(PSTR(\nrc=%u), (WORD)res);

 のように、AVR LibcのPSTRマクロがよく出てきます。
 このマクロには、プログラムスペース内の文字列への静的ポインタを宣言するの に使う型ですと説明があります。
 上の2例で、最初のものはこの説明でわかるのですが、2番目のものは、
 変数resを引数にとっているので、flash上の変数?とわからなくなってしまいま した。
   2006/9/6 (Wed) 19:12:16
[名前] :   chaos
[URL] :   
[コメント] :   1)

xfunc_out は、ユーザー定義関数へのポインタ

その説明通りユーザー定義の関数へのポインターですよね。

ソースを見ていないのでハッキリした事は言えませんが、2) に出てくる
xputs() や xprintf() 関数内部から xfunc_out() が呼ばれていると想像できます。

通常はその初期化によって xputs() や xprintf() の出力先は uart ですが自前の
例えば同じ引数を持つ lcd_put を作った場合ならその初期化部分を lcd_put
に置き換えれば出力先は LCD になります。

さらに動的に xfunc_out を変更すればある時は uart へまたある時は LCD へと
簡単に出力先を変更できるということになります。

(注:出力先を変える前にもしバッファーリング去れているならバッファーを
フラッシュする必要があるかもしれません)

2)

xprintf(PSTR(\nrc=%u), (WORD)res);

これは別に定数でも変数でもかまわないと思います。
この例では恐らく RAM 上の変数という事でしょうね。
   2006/9/6 (Wed) 20:03:35
[名前] :   kkk
[URL] :   
[コメント] :   >xfunc_outは、ユーザー定義関数へのポインタだとxitoa.hにあります。
> uart_putのみにここでこのようなこと(初期化?)をする意味がよくわからないのです。
>あとで、使われているわけでもないようですから。
xitoa.hの中で使用されている xpuc/xputs/xprint等で使用されています。
理由はchaosさんが書かれています。

>xprintf(PSTR(”\nrc=%u”), (WORD)res);
このプロタイプ宣言は
void xprintf(const prog_char *format, ...);
となっています。
最初のformatはFlash上になければいけませんので例のような書き方になっています。
この時の可変個の引数は基本的にRAM上になければいけません。
chanさんのライブラリ特有の例外としてformat中の
”%s”(小文字のs)はRAM上の文字列を引数にとります
”%S”(大文字のS)はROM上の文字列を引数にとります
   2006/9/6 (Wed) 20:13:32
[名前] :   kkk
[URL] :   
[コメント] :   avr-libcの場合

int printf(const char *__fmt, ...);
こちらは__fmtはRAM上の文字列を指します

int printf_P(const char *__fmt, ...);
こちらは__fmtはROM上の文字列を指します

また、”%s”と”%S”でxprintfと同じくRAM/ROM上の文字列を指定することが出来ます。
   2006/9/6 (Wed) 20:14:11
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   chaosさん、kkkさん

早速、ありがとうございました。
理解が追いついていませんが、かなりわかったような気がします。

xitoa.Sではなく、xitoa.cが公開されていれば、もう少しわかりやすくなったのでしょうか。
   2006/9/6 (Wed) 22:49:25
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   通常はその初期化によって xputs() や xprintf() の出力先は uart ですが自前の
例えば同じ引数を持つ lcd_put を作った場合ならその初期化部分を lcd_put
に置き換えれば出力先は LCD になります。

これは改造のためのとてもよいヒントをもらいました。
   2006/9/6 (Wed) 23:30:37
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   ついでに。

関数のポインタを使う例として、
例のPardueのButterfly本の第10章で、
バタフライ内蔵のメニュープログラムを例に、
state machineについて説明する箇所で、
各ステートでの動作を関数のポインタを配列に入れて、参照させるために使われています。
   2006/9/7 (Thu) 21:37:49
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   :最初のformatはFlash上になければいけませんので例のような書き方になっています。
:この時の可変個の引数は基本的にRAM上になければいけません。

あくまで、PSTRマクロのかっこがかかっている部分だけが、
ROM上にあるわけですね。
   2006/9/8 (Fri) 17:37:32
[名前] :   choas
[URL] :   
[コメント] :   ぼのぐらしさん kkkさんこんにちは

>int printf_P(const char *__fmt, ...);
>こちらは__fmtはROM上の文字列を指します

AVR+GCC あるいはその filesystem のライブライーに依存する話だったんですね
了解しました。

>関数のポインタを使う例として、
>state machineについて説明する箇所で、
>各ステートでの動作を関数のポインタを配列に入れて、参照させるために使われています。

そうですね、設計段階で明確なステートマシーンが描けるなら有効な手法ですね。
私も仕事では複雑なシーケンス制御等で使用しています。
ただ関数テーブルを使いすぎるとソースコードの可読性が悪くなるので
ステートマシーンはなるべく switch 文で書くようにしています。

出掛けに調べものしてる時に書きこんだので何処の掲示板で書いたか
分からなくなってしまいました。
失礼しました。
   2006/9/4 (Mon) 13:02:51
[名前] :   GO2
[URL] :   
[コメント] :   すみません、また”が抜けてました。

char buff[] =”seiko -2006.9.3” ;と定義しておけばよかったのです。。。16文字分です。
   2006/9/4 (Mon) 02:06:34
[名前] :   GO2
[URL] :   
[コメント] :   いろいろ、おさわがせしましたが、さきほど無事、
SDCARD内のFILE内容を読み込むのに成功しました!

また、きれいな形にして当方のサイトでSTAND-ALONE機
でのSDCARD読み書きプログラムを掲載しておきます。
よろしければお使いください。

次は、これをARM基板でやってみます。

  2006.9.4 02:00      GO2
   2006/9/4 (Mon) 11:21:10
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   おめでとうございます。
私が作るとき(いつのことやらわかりませんが)に参考にさせてもらいます。

どこを誤解していたか、教えてもらえると、参考になります。
   2006/9/4 (Mon) 12:59:36
[名前] :   GO2
[URL] :   
[コメント] :   STAND-ALONEでSDCARDの読み書きに興味ある方へ

今回、私が読み込みで、誤解していたのは次の4つの
点です。(書き込みの方は自力で完全にできました)

1.Buffとbuffの違いが完璧にはわかっていなかった。buff[]はchar buff[] =seiko -2006.9.3 ;と定義しておけばよかったのです。。。16文字分です。

2.読み込みのとき、,&blenの概念がわからず、
RS232画面でわざわざ調べ、10FEにしたり,0に
したりしてました。 してはいけません。

res=f_read(&file1,buff,16,&blen);

3.以下の命令が必要なのに、FA_OPEN_EXISTING|FA_READを0などを当ててました。
res=f_open(&file1,ptr,FA_OPEN_EXISTING|FA_READ);

4.Buffに関しては、以下のようなトロイことを
やってました。
//int s[]={ Buff[1]+0x30, Buff[2]+0x30,

詳しくは、GO2の以下のページの一番したをご覧くだ
さい。

http://www.katch.ne.jp/~bokunra122/filesystem.htm
   2006/9/3 (Sun) 12:22:55
[名前] :   GO2
[URL] :   
[コメント] :   皆様へ

半角のダブルクォーテションマークが表示されないのを
知りませんでした。次回からは”を使って表示します。
   2006/9/3 (Sun) 20:06:17
[名前] :   kuman
[URL] :   
[コメント] :   ジオシティーズに問い合わせましたが、ダメなようです。

半角の シングルクォート、
半角の ダブルクォート、
半角の 左開き>

は表示されないようです。また、

半角の 右開き< は以後の文字を表示しなくなります。

コピペは面倒ですが全角文字に置き換えていただければと思います。
   2006/9/3 (Sun) 07:24:05
[名前] :   GO2
[URL] :   
[コメント] :   ぼのぐらしさん、すがりさんへ

>fo 3 1は両端にダブルコーテーションマークがついてます。

とにかく、ここは正しく書いているので、SDCARDには、
すでに自由自在?に書きこめております。

現在は、鋭意、読み込みを研究中です。
   2006/9/3 (Sun) 08:56:03
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   サンプルプルグラムにおける
PCモニター上での ”fo 3 1”

FatFsモジュールのどのような関数を呼び出し、どのような動作をさせるのでしょうか?
   2006/9/3 (Sun) 10:29:47
[名前] :   GO2
[URL] :   
[コメント] :   fo 3 1

は、書き込み成功時には使っていないCODEです。
一切、使ってません。

書き込みは、英字・漢字を自在に好きなバイト数だけ
かけるし、ファイル名も自由で完成しております。
   2006/8/31 (Thu) 23:23:04
[名前] :   GO2
[URL] :   
[コメント] :   CHANさんのFILESYSTEMのことで、お願いします。

RS232で操作することを一切やめて、STAND-ALONE
としてでSDCARD内のFILE”1”が存在するかを、
外付けLCD1602で読むように、工夫しました。

一部ですが、

ptr = fo 3 1;
wait1(2500);
f_mountdrv();
res = f_open(&file1, ptr, (BYTE)p1);
lcd_putcmd(0xC0);     //文字列の表示
lcd_putstr((WORD)res); //文字列の表示

とやると、SDCARDのアクセスLEDがつき、液晶には
黒塗りの四角形が表示されますが、resを表示するには
どのようにしたらよいのでしょうか?

また、f_mountdrv();など、CODEが足らず、
やり方も悪いのでしょうか?

よろしく、お願いします。
   2006/9/1 (Fri) 09:19:56
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   main.cは、f_openなどのFatFsモジュールの関数を使ったサンプルプログラムであるというあたりから検討してみてはいかがでしょうか。
   2006/9/1 (Fri) 09:55:03
[名前] :   GO2
[URL] :   
[コメント] :   ぼのぐらしさんへ

f_openなどのFatFsモジュールの関数を使ったサンプル

これを印刷すると、MAIN.Cより厚くなりINITIALIZEなどの
ところを読みましたが、ちょっとPINときません。自分の
実力不足を感じているところです。
   2006/9/2 (Sat) 08:45:20
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   素人ですが僭越ながら、
f_openの引数は、以下の通りですが、先に引用された作例では、この通りになっていますか。
第二引数は、パス名へのポインタですよ。

FRESULT f_open (
FIL* FileObject, // 作成するファイルオブジェクト構造体へのポインタ
const char* FileName, // ファイルのフルパス名へのポインタ
BYTE ModeFlags // モードフラグ
);
   2006/9/2 (Sat) 08:49:16
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   ついでに、
resはf_open関数の戻り値ですよ。
   2006/9/2 (Sat) 16:02:48
[名前] :   GO2
[URL] :   
[コメント] :   ぼのぐらしさんへ

ご忠告ありがとう!

先ほど、CHANさんのMAIN.C内に以下のCODEを書き入れ
たらSDCARD内に新規にFOLDA a がちゃんとできました。
stand-alone完成へほんの一歩、近づきました。

f_mkdir(/a);

ですから

f_opendir(&dir, ptr);
f_open(&file1,ptr,(BYTE)p1);

でptr=fo 3 1.txtなどでいろいろやってみます。
go2はc言語に関して半素人なので、よく型などを
間違えます。つづいて指摘してください。
   2006/9/2 (Sat) 18:15:15
[名前] :   GO2
[URL] :   
[コメント] :   ぼのぐらしさんへ

さきほど、SDCAERDにSTANDALONEの状態で
成功しました。
書き込めた内容は
「fw 10 50 1.txt @write error ok wri」という
へんてこりんな内容でしたが
次は
「書き込み初成功、2006.9.2 write error o wr 」でした。

FILEOPENに成功したときは、resは0という数字を
かえしてくることを誤解して、FR_OKを返してくるかと
思っていました。ぼのぐらしさんの指摘で気づきました。

また、難しいほうの、読み込みもできましたらご報告
します。
   2006/9/2 (Sat) 20:20:10
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   ptr = fo 3 1;
...
res = f_open(&file1, ptr, (BYTE)p1);

f_openの引数は、以下の通りですが、先に引用された作例では、この通りになっていますか。
第二引数は、パス名へのポインタですよ。

上と下をよ〜く見比べて考えてください、、
   2006/9/2 (Sat) 20:35:39
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   ptr = fo 3 1;
は、型の間違いのみならず、根本的誤解を含んでいます。

以下のヒントはその点に触れたものなのですが、、

main.cは、f_openなどのFatFsモジュールの関数を使ったサンプルプログラムであるというあたりから検討してみてはいかがでしょうか。
   2006/9/2 (Sat) 22:43:50
[名前] :   すがり
[URL] :   
[コメント] :   >ptr = fo 3 1;
>は、型の間違いのみならず、根本的誤解を含んでいます。
流れからみますと単にこの掲示板が半角の””を受け付けないだけではないかと?
GO2さんは ptr = ”fo 3 1”; と書かれているように思われます。
間違いとは思えませんが・・・
   2006/8/29 (Tue) 22:06:25
[名前] :   senshu
[URL] :   
[コメント] :   AVR-wiki の雑談に AVRISP互換ライタの情報を書きました。

PICマイコンを使ってAVRライタを作るのですが、これが
びっくりするほど簡単な回路なのです。私は秋月で売っている
もっとも小さなユニバーサル基板を半分にカットして
作りました。USB変換ケーブルからの利用もOKで、
AVRStudioから純正のAVRISPのように使えます。

PICマイコン用のライタを利用できる方は、ぜひ一度
お試しください。(私は当面これでいきます)
   2006/8/29 (Tue) 22:08:38
[名前] :   senshu
[URL] :   
[コメント] :   コメントが拒否されましたと表示されたので、慌てて
ボタンを押しなおしたら、記事が二重登録されています。

どうももうしわけありませんでした。

(でも何故かな、、、、)
   2006/8/29 (Tue) 23:29:23
[名前] :   kuman
[URL] :   
[コメント] :   ご紹介いただき、ありがとうございます。

PICを使える環境がある方には、便利だと思います。
USB変換ケーブルが使えるとノートパソコンの方に
とって朗報でしょう。

なお、重複した掲示は削除しておきます。
   2006/8/24 (Thu) 23:39:09
[名前] :   GO2
[URL] :   
[コメント] :   夏が終わり前に、もう一仕事。。。

実は、HOMEPAGE掲載しFFFTPを使ってますが、
このSERVER側のFOLDAにたまったFILEが変形
(変名したというが正確)して、まったく
管理者であるGO2が削除できません。これって、
サイト元の業者にたのまないと削除できないで
しょうか? また、これが悪さをしていないか、
自分でWIRUS検知できるのでしょうか?

よろしく、お願いします。
   2006/9/14 (Thu) 01:50:03
[名前] :   しんすけ
[URL] :   
[コメント] :   掲示板の趣旨と少し異なるようですが、
お困りのようですので、少し述べさせて頂きます。

・ffftp以外を利用してみる
・windowsのコマンドラインからftp.exeを
実行して、ファイル名をシングルクオンクテーショ
ンでくくり削除してみる。
(コマンドラインなので、少々難しいかも)
・管理者へ依頼もおすすめかもしれませんね

おそらく2つ目の手段を的確に実行可能であれば
GO2さんがファイルを削除することは可能だと
思います。

原因としては、下記が想定されます。
ファイル名が変化したとのことですが、
日本語や、スペース等の文字をファイル名
に利用していませんでしたか?
サーバは、Windows以外を利用してる場合も多く
日本語のファイル名が扱えない場合も多いため
半角アルファベットと半角数字のみで命名する
ことが、トラブル回避の1つの方法です。
   2006/8/23 (Wed) 21:52:59
[名前] :   ぼのぐらし
[URL] :   http://www.tcct.zaq.ne.jp/chusei_europe/
[コメント] :   なかなか作る機会がなかった、usb-spiブリッジライタができました。
つまづいたときに、ここや、あきぼうさんのサイトでヒントを見つけました。
いろいろな落とし穴があるものですね。
やっとここまでこぎ着けました。
これで、ちゃんさんのファイルシステムを使った、MP3
プレイヤ製作に進めそうです。
   2006/8/24 (Thu) 23:40:43
[名前] :   GO2
[URL] :   
[コメント] :   ぼのぐらしさんのページを拝見させてもらってます。

GO2は半素人ですので、また質問させてもらいます。
今は自分の製作に忙しいです。
   2006/8/25 (Fri) 09:29:38
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   この前はお世話になりました。
あの箇所は、SDメモリの電源をAVR側からドライブするFET回路なのですね。
やっとわかりました。
それにしても、Chanさんは、どうして入手困難なFETをわざわざ指定するのでしょうね。
   2006/8/23 (Wed) 06:58:23
[名前] :   GO2
[URL] :   
[コメント] :   KUMANさんへ

BUG情報は知りませんでした。。。
WIKIーPAGEは自分がAVRについてはそう程度が高くない
ので高度情報を入手する必要がない(これからはそんな
ことはだめですね)ので、覗いているだけでした。。。

さっそく、
# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c lcd.c ff.c xitoa.c mmc.c uart.c stime.c
   2006/8/23 (Wed) 14:12:56
[名前] :   GO2
[URL] :   
[コメント] :   早速やってみました。

SRC=のところを
SRC=ff.c mmc.c uart.c lcd.c ().c

とっやてみましたが、『肝心のmain.hexができません。』

最新版のMfileで作ったMAKEFILEとCHANさんの
MAKEFILE_MMCではHEX−FILEができます。

追伸:CHANさんのMAKEFILE_MMCを覗くと、
uart.o ff.o mmc.o xitoa.o stime.oを取り込むように
なってますが、自分のMAKEFILEもxitoa.S stime.Sを
SRC=のところで指定しなくていけないのでしょうか?
   2006/8/23 (Wed) 14:51:49
[名前] :   kkk
[URL] :   
[コメント] :   kumanさんこんにちは
以前には修正したmakefileがあったのですが、今日見たところでは発見できませんでした。
FrontPageにあったものをWinAVRバグ情報の方に移動してます。
そこの「mfileに関するバグ」に書きましたので参考にして下さい。
GO2さん
Makefileは
SRC = $(TARGET).c lcd.c ff.c mmc.c uart.c
としてください
アセンブラファイルはそのちょっと下の方にある
ASRC = stime.S xitoa.S
で指定します。
この時拡張子の.Sは大文字でなければいけません。
大文字と小文字でコンパイル法が変わります。
(プリプロセッサを使うかどうか)
またchanさんのソースではプロトタイプが最新の書き方ではないので警告が出ます。
Makefileの
CFLAGS += -Wstrict-prototypes
をいう行を見つけて先頭に#を追加してコメントアウトしてください。(その行を削除しても良い)
   2006/8/23 (Wed) 15:49:14
[名前] :   kuman
[URL] :   
[コメント] :   kkkさん、GO2さん、こんにちは。

>SRC = $(TARGET).c lcd.c ff.c mmc.c uart.c
lcd.cもあったのですか?

私には難しすぎるのですが、コンパイルしてみるとdiskドライブ関係のundefined refelenceが多発します。

00readme.txtに
Low level disk I/O module is not included in this archive because....
がありますがそのせいでしょうか。

ヘッダファイルはありますが、中身が無いように思います。「You have to provide a low level disk I/O
module ...」のようですが。
   2006/8/23 (Wed) 15:49:42
[名前] :   kkk
[URL] :   
[コメント] :   補足)
-Wstrict-prototypesによる警告についてですが
chanさんのソースの場合、引数なしの関数のプロトタイプ宣言で警告が出ます。
たとえば uart.hの場合
void uart_init();
uint8_t uart_get ();
uint8_t uart_test();
というのを
void uart_init(void);
uint8_t uart_get (void);
uint8_t uart_test(void);
と変更すれば-Wstrict-prototypesによる警告は出なくなります。
今後のことを考えればご自身で書かれる時には引数なしの関数も void hoge(void)の様に記述されることをお勧めします。
(あえて他人のソースまで変更する必要ないと思いますが)
   2006/8/23 (Wed) 15:55:31
[名前] :   kkk
[URL] :   
[コメント] :   kumanさんと行き違いになりました ^^;)
>>SRC = $(TARGET).c lcd.c ff.c mmc.c uart.c
>lcd.cもあったのですか?
lcd.cはchannさんお分には含まれていません。
多分 GO2さんが用意されたものかと?
>00readme.txtに
>Low level disk I/O module is not included in this archive >がありますがそのせいでしょうか。
ということは ff002a.zip のことですね。
サンプルプロジェクト ffsample.zip も落としてみてください。
   2006/8/23 (Wed) 16:21:46
[名前] :   kuman
[URL] :   
[コメント] :   ata.c を含めたらコンパイルできました。
内容は全くわかりませんが。
   2006/8/23 (Wed) 16:56:01
[名前] :   kkk
[URL] :   
[コメント] :   ata.cは ATAのハードディスク制御用ドライバです。
cfc.cは コンパクトフラッシュカード用ドライバです。
mmc.cは SD/MMCカード用ドライバです。
制御対象に応じてどれか1つをリンクします。
   2006/8/23 (Wed) 18:07:53
[名前] :   GO2
[URL] :   
[コメント] :   KUMANさん、KKKさん、ご親切、ありがとう

これだけの内容が要るなら出来なかったはずです。

だいたい1ヶ月に1回はお手上げ状態がおこります。
\^O^/ です。

この2,3日出来なくてがっかリしておりました。

やってみます。できたら直ぐ報告しますね。。
   2006/8/23 (Wed) 21:05:55
[名前] :   GO2
[URL] :   
[コメント] :   kkkさん、Kumanさんありがとう。

やっと3,4日ぶりに成功しました。

液晶1602に”LCD TEST PROGRAM”がでました。
MAKEFILEは最新版のWINAVRについてきている
MFILE(.EXE)でできるMAKEFILEを使用しました。

stime.S xitoa.S などをLINKさせたら、無事、
23日の9時ころできました。

次はSDCARD内にある、短い名前にして作っておいた
812.TXTをこの液晶で表示できるかやってみます。

とにかく、難題が解決してほっとしました。。
   2006/8/23 (Wed) 21:57:31
[名前] :   
[URL] :   GO2
[コメント] :   おかげさまで、

つづいて、小型文字液晶1602に
SDCARD内の短名FILEである、812.txt も
一瞬ですが、表示させることができました。
 
2006.8.23 BY GO2  
   2006/8/22 (Tue) 15:10:49
[名前] :   GO2
[URL] :   
[コメント] :   AVR の最新版MAKEFILEについて

またまた質問をさせていただきます:

1.CHANさん提供の、MMC−FILESYSTEM−SAMPLE版で、
LCDをつけたく、A-PORTのA0=>PORTA5に割りふって
あるLCD.hをMAKEFILEにつけようと思いましたが、
WINAVRの最新版についてくるMAKEFILEにはSRCの項目がありません。LCD. CとLCD.hをどこでしていしたら
このMAIN.cでLCD(2X16文字液晶)が使えるように
なるのでしょうか?

2.困って、最新WINAVRについているMFILEでMAKEFILEを作ったら、今度はSRC項目がありましたのでLCD.Cは
指定できましたが今度はLCD.hは書き込む場所があり
ません。それでも、LCD.Cの中に指定してあるので
このままMAKEしました。無事、MAIN.HEXができましたがLCDはつかえません。。どこが悪いのでしょうか?
   2006/8/23 (Wed) 00:33:57
[名前] :   kuman
[URL] :   
[コメント] :   GO2さん、こんばんは。

CHANさんの、MMC−FILESYSTEM は知らないのですが、
WinAVRのmakefileテンプレートにはバグがあるそうです。
『mfile/makefile_templateの不具合が修正されていませんので注意してください 』Wikiより。
以前には修正したmakefileがあったのですが、今日見たところでは発見できませんでした。
ダウンロードしてあったテンプレートをHPの「連絡」に貼っておきますので良ければお使いください。

別のプログラムでLCDを使うときは、main.cに
#includelcd.h  としてインクルードしています。
lcd.cはmakefileのSRCに書いています。

頼りないですが、参考になれば。
   2006/8/17 (Thu) 21:06:08
[名前] :   GO2
[URL] :   
[コメント] :   こんにちわ

今日はAVR-GCCの参考書についてお聞きしたいです。

AMAZONの検索で以下の本を見つけ、注文しました。
AVR-GCCで書かれたCHANさんはじめ、多くの方がかか
GCCーPROGRAM を読み解きたいです。LSI-Cのマニュ
アルのような、翻訳本はないでしょうか?

FILESYSTEMのGCC-PROGRAMを自分用に改変したいです。
-----------------------------------------------
実例で学ぶGCCの本格的活用法―高機能コンパイラの
オプション・コマンドを一つ一つていねいに解説 -
岸 哲夫
¥ 2,310
------------------------------------------------
   2006/8/18 (Fri) 03:04:57
[名前] :   kkk
[URL] :   
[コメント] :   GO2さん こんにちは
gccの理解ということではその本も良いと思います。
でも組み込み用となるとgccでもターゲットのCPU毎に異なる部分が多々出てきます。
AVRに関してはavr-libcのマニュアルも目を通すことをお勧めします。
日本語化はakibowさんが手がけていらっしゃいます。
http://www11.ocn.ne.jp/~akibow/AVR-LibC_1.2.3J/index.html
http://www11.ocn.ne.jp/~akibow/avr-libc-user-manual-1.4.3/index.html
   2006/8/18 (Fri) 14:51:37
[名前] :   GO2
[URL] :   
[コメント] :   kkkさん、ありがとうございます。

AKIBOWさんのAVRGCC-LIBの説明もすでによんで
ますが、力不足で今ひとつ、ピンときません。

GO2が描いているAVRGCCの参考書のイメージは
後閑さんのCの本のように、どういう使える関数
があって、どう使っていくとよいかの実例Cが
ある本です。

そんな、BEGINNER向けのAVRGCC本はないので
しょうか?
   2006/8/18 (Fri) 16:43:33
[名前] :   kkk
[URL] :   
[コメント] :   英語なら同じAmazonで
-----------------------------------------------
C Programming for Microcontrollers: Featuring ATMELs AVR Butterfly and the free WinAVR Compiler
Joe Pardue
¥ 5,198
-----------------------------------------------
があります。
Butterflyをgccを使って遊びながら覚えるのでよさそうです。
日本語ではいいものを知りません^^;)
   2006/8/18 (Fri) 21:24:03
[名前] :   ぼのぐらし
[URL] :   http://www.tcct.zaq.ne.jp/chusei_europe/
[コメント] :   C Programming for Microcontrollers Featuring ATMELs AVR Butterfly and the free
WinAVR Compiler (Paperback)
by Joe Pardue
List Price:


面白そうと思って買った者ですが、いろいろ困難が待ち受けていました。そういう点も含めて、楽しむ余裕がないと厳しい(=不親切な)本です。
私の掲示板のはじめの方にこの本で四苦八苦している箇所があります。
ご参考まで。
   2006/8/19 (Sat) 04:32:58
[名前] :   GO2
[URL] :   
[コメント] :   kkkさん、ぼのぐらしさん、
書き込みありがとう。。

慢性的-金欠病なので今すぐは買えないですが、この
5000円の本は来月にも買ってみます。英語恐怖症は、
大分うすれてきていますので。。

バタフライはOPTIMIZEの宣伝で、上手く買ってしまった?
感じもしますが、超小型でよい性能の基板と思ってます。
   2006/8/10 (Thu) 00:59:45
[名前] :   GO2
[URL] :   
[コメント] :   お久しぶりです。。お世話になります。

先回はATMEGA128で大変お世話になりました。
現在、このATMEGA128にCHANさん提供のFILESYSTEMを
のせる基板をSDCARD−SOCKETつきで、作っています。

RS232では115200BPSで、HYPERTERMINALでみると
「FatFs module test monitor」だけは表示
されます。肝心なdやsをいれてもさっぱり表示
されません。自分はどうも配線はあっているので、

原因は128のヒューズBITがおかしいと思ってます。

CLOCKが16NHZでなく、9.216MHZだとFUSEBITは
いくつにすればよいのでしょうか?

現在
-rf命令でみると
 low= 00011100
high=11011100
 EXT =11   です。
   2006/8/10 (Thu) 21:54:28
[名前] :   kkk
[URL] :   
[コメント] :   合っているかは分かりませんが・・・
外部XTALですよね?
16MHzでも9.216MHzでもヒューズは同じです
--------
CKOPT: 0
SUT : 01
CKSEL : 1111
--------
だと思われるので
low = 00011111
high = 11001100
ではないでしょうか(bootloaderありの時)
   2006/8/11 (Fri) 11:41:21
[名前] :   GO2
[URL] :   
[コメント] :   KKKさんへ

助言、たいへん、ありがとうございます。

報告:
1.さっそく、AVREZUSBで書き込んでみましたが、
HYPERTERMINAL画面には以下の表示がでるだけです。
CHANさんのMAIN.Cを読むと、dやsを打つと、DUMPや
SDCARDの状態が表示されるらしいですがまったく、
機能しません。

FatFs module test monitor

2.さらに自分はBOOTLOADERを使っていないので、fh11001101 としてもだめでした。

3.でも肝心なことかもしれませんが、9.216MHZの
水晶振動子は入手できなかったので、秋月の9.22MHZ
のセラロックで代用しております。セラロックは確かに
発信用コンデンサーが違うのでLOW−BITも違うらしいの
ですが、自分ではATmega128.pdfを何度読んでもピンと
きませんでした。

5.CHANさん提供のMAIN.cをさらに書き足さないとdやs命令は使えないのでしょうか?

以上、よろしくお願いします。無鉛半田で作った基板が
信頼性が低いので、HOZANの精密機器用半田で2枚目の
基板をつくりましたが動きはまったく同じです。
   2006/8/11 (Fri) 13:48:11
[名前] :   kkk
[URL] :   
[コメント] :   Atmega128の場合はヒューズの設定はセラロックと水晶振動子で同じで構わないと思います。( 8MHzの場合)

>CHANさんのMAIN.Cを読むと、dやsを打つと、DUMPやSDCARDの状態が表示されるらしいですがまったく機能しません。
FatFs module test monitorと表示されるようなので通信は大丈夫と思いますが、chanさんのサンプルは行単位のコマンド入力となっていますがその辺は大丈夫ですか?

例えば)
dd 1   ・・・セクタダンプ
ds    ・・・ステータス表示

等リターンキーを押すまで
   2006/8/11 (Fri) 13:51:10
[名前] :   kkk
[URL] :   
[コメント] :   すいません上記で( 8MHzの場合)は(>8MHzの場合)です
   2006/8/11 (Fri) 15:20:43
[名前] :   GO2
[URL] :   
[コメント] :   kkkさんへ

実験報告2:

1.さっそく、命令として

>dd1と入れたら
>rc=3
と表示されました。

>chanさんのサンプルは行単位のコマンド入力となってい>ますがその辺は大丈夫ですか?

>例えば)
>dd 1   ・・・セクタダンプ
>ds    ・・・ステータス表示

2.ds とやってもなにも表示されません。

3.bd1
とやると、自分の期待していたよく見かけるDUMPーLIST
がでました。

4.be 1
で、FILEの内容がかきかえれることもわかりました。

自分もいろいろ調べてみてますが、なぜ、dsとやっても
(/* ds - Show disk status */ といってますが)
DISKの状態がでないのでしょうか? 

なお、1作目、2作目の基板とも正常動作していること
がわかりました。ありがとうございます。
   2006/8/11 (Fri) 18:35:29
[名前] :   kkk
[URL] :   
[コメント] :   >>dd1と入れたら
>>rc=3
>と表示されました。
これはRES_NOTRDYのエラーですね。
カードを使用する前に一番最初は初期化をする必要があります。
コマンドラインで
di<Enter>
/* di - Initialize disk*/ が必要なようですが

なお b* 関連は内部のバッファに対しての動作なのでカードが動作してなくても処理できます。
   2006/8/11 (Fri) 18:41:25
[名前] :   kkk
[URL] :   
[コメント] :   補足
/* di - Initialize disk*/はハードの初期化をするものでSDカードをフォーマットするのではないのでご安心ください。
   2006/8/11 (Fri) 23:56:11
[名前] :   GO2
[URL] :   
[コメント] :   kkkさん、ありがとう!

報告です:

1.自分もCHNAさんのMAIN.Cをよく読み、今日、何度も
試行錯誤でやってみました。あらかじめ他PCでつくっておいたTXT-FILEをDUMPでき、読み書きになんとか成功しま
した。


2.fi なる命令はよく分からなかった命令で、kkkさんの
説明でよく分かりました。本当に初期化させてしまうか
と思っていました。

3.まだ書き込みは確実ではありませんが、なんとかできました。以下が自分の、「FILESYSTEMをAtmega128にのせる実験」サイト記事のURLです。。

http://www.katch.ne.jp/~bokunra122/filesystem.htm

また、助言ください。ありがとうございました。
   2006/8/12 (Sat) 07:30:00
[名前] :   kuman
[URL] :   
[コメント] :   うーん 難しい。

GO2さん。頑張っておられますね。ホームページ拝見しました。パワフルに圧倒されています。
これからもよろしく、いろいろ教えてください。

kkkさん。ありがとうございました。m128は未知の領域です。
   2006/7/19 (Wed) 17:22:29
[名前] :   isa
[URL] :   
[コメント] :   初めて書き込みします。済みませんが、教えてください。
USBasp ライタ --mega8一つのライタ--
を作成中です。
mega8にusbaspx113_m8.hexを書き込み、成功。
続けて ヒューズビット -fl1001111を書き換え後、
ライターがmega8を認識しなくなってしまいました。
メッセージDevice connection faild.が出ます。
外部クリスタル(12MHz又は3.6864MHz)を接続したのですが、認識してくれません。
よろしくお願いします。 
   2006/7/19 (Wed) 19:00:31
[名前] :   kuman
[URL] :   
[コメント] :   考えてみましたが、わかりません。
ちなみに、mega8への書き込みライタは何をお使いでしょうか。

ヒューズビットの書き込みに間違いが無ければ、発振していないと思われるので、2つのコンデンサと関係部分の接続を確認(目視)してみてください。

水晶発振器(IC内蔵で電源をつなぐと発振するもの)があれば水晶を外してXTAL1につないでみます。もし、書き込みが間違っていたらこれで動きます。

ヒューズHのRSTDISBL(7ビット)に0を書かなければ動くはずですが。

よくわからなくてごめんなさい。
   2006/7/19 (Wed) 20:41:15
[名前] :   kkk
[URL] :   
[コメント] :   >続けて ヒューズビット -fl1001111を書き換え後、
>ライターがmega8を認識しなくなってしまいました。
-fl1001111 は投稿時のミスですよね?
-fl10011111 が正解です(1ビット足りない)
もし実際に上の指定で書いた場合は RSTDISBLが0になってしまいます。^^;)
また、FUSEは -fl10011111 -fh11001001 とHigh,Lowを同時に書込みしてください。
   2006/7/19 (Wed) 20:56:40
[名前] :   kkk
[URL] :   
[コメント] :   訂正:
-fl1001111は下位ですね。RSTDISBLは大丈夫です。
失礼しました。
   2006/7/19 (Wed) 20:59:51
[名前] :   kuman
[URL] :   
[コメント] :   kkkさん、ありがとうございます。

ただ、RSTDISBLはHighだったと思うのですが。
   2006/7/19 (Wed) 23:57:49
[名前] :   isa
[URL] :   
[コメント] :   皆様:ありがとうございます。

ライターは、COMポートSPI Bridge です。
-fl10011111です。ご指摘のように記入ミスです。
-fl -fhは、同時に書き込むのですね。了解です。
mega48がありますので、mega8は諦めてこちらで
再度トライしようと思います。
mega48の場合は、-fl -fh -fxを同時に書き換えれば
よろしいですね。やってみます。
ありがとうございました。
   2006/7/20 (Thu) 00:20:10
[名前] :   kay393
[URL] :   
[コメント] :   私もkumanさんの言う通り、
水晶発振器(IC内蔵で電源をつなぐと発振するもの)があれば水晶を外してXTAL1につないでみます。もし、書き込みが間違っていたらこれで動きます。
が正解だと考えます。
あと、
1.1番ピン(RESET)は10KΩ程度の抵抗でプルアップされてますよね。
2.Vccは5Vですよね。3V系だと×かも・・・

kkkさん、avrspx重宝しております。
あまりにも便利なのでUSBapsをもう1個(ケース入り)を作ってしまいました。
   2006/7/20 (Thu) 00:30:03
[名前] :   kay393
[URL] :   
[コメント] :   USBapsではなくUSBaspでした。
   2006/7/22 (Sat) 08:08:56
[名前] :   isa
[URL] :   
[コメント] :   解決しました:

原因:
書き込みには、ブレッドボードを使っていたのですが、クリスタルにつなげるコンデンサが、効いていない配置になっていました。

早速USBaspに移して確かめたところ、正常に動作しました。
どうもお騒がせしました。ありがとうございました。
   2006/7/19 (Wed) 17:19:43
[名前] :   mithuo
[URL] :   
[コメント] :   USBaspを AVR Studio から簡単な使用方法?

USBaspが動かないので諦めていたのですが
先日新しく製作しなおしたら一発で動きました。
私はAVR Studio から WinAVR を使用しているのですが AVRISP mkUの様に使用できる設定方法がありましたら教えてください
   2006/7/19 (Wed) 20:47:07
[名前] :   kkk
[URL] :   
[コメント] :   現在のところあまり良い方法が思いつきません。
chanさんの方法
http://elm-chan.org/works/avrx/studio.html
は・・・・ダメですよね・・・・
avrspのGUI版を作成予定していますが、現在多忙中でいつになるか・・・
   2006/7/20 (Thu) 16:00:21
[名前] :   mithuo
[URL] :   
[コメント] :   kkkさん早速のご返事ありごとうございました

私は現在のAVRSPX + USBasp の組み合わせは最高に
満足しています
(早い、製作が簡単、低コスト、取り外しが簡単)
私が思うにはGUI版を作るよりは(iniファイル)
当に操作手順を書いておきメニュウ、操作ボタン当から起動し書き込めれば、充分だと思います
makefile 書き換えて使用する方法も有ると思いますが
毎回書き込まれてしまいますので?
  
▲このページのトップ  

Yahoo!ジオシティーズ


inserted by FC2 system 1