ページ 11

SDの制御

Posted: 2011年6月10日(金) 09:43
by るりぱぱ
はじめまして。子持ちの30代です。

SDを使うツールを作っているのですが、SDの制御方法が分かりません。
部分回答でも良いので教えて頂けますでしょうか?

■ツールの概要は以下の通りです。(質問に関係するところを抜粋)
(0) 事前にSDライタを接続しておく
(1) ツールを起動する。
→接続されているSDを探し、接続した旨の表示をする。(※1)
(2) スタートボタンを押す
→SDをフォーマットする。(※2)
→ファイルを書き込む。
→完了後、完了した旨の表示をする。

■質問事項
※1 ドライブ自体の探し方も分かりません。それがSDであるかをどうやって
知るのかも分かりません。
※2 FAT12とFAT16に対応必要です。
フォーマットとファイル書き込みの間にユーザー操作は無いので、
フォーマット完了のタイミングを知る必要が有ります。
(最悪、一定時間毎に完了したか見に行く作りでも構いません。)
また、DOS窓の表示は禁止されています。

以上、宜しくお願いします m(_ _)m

Re: SDの制御

Posted: 2011年6月10日(金) 10:22
by softya(ソフト屋)
最初はマイコンの話かと思ったのですが、Windowsですね。
対応するWindowsOSのバリエーションも教えてください。

[追記]
接続しているSDカードはUSB接続のアダプタと言う事でよろしいでしょうか?

Re: SDの制御

Posted: 2011年6月10日(金) 10:29
by るりぱぱ
記載が足りておらず大変失礼致しました。
OSはXPです。
USB接続のSDカードライタで最大8台接続します。

Re: SDの制御

Posted: 2011年6月10日(金) 11:23
by softya(ソフト屋)
マイコンならアクセスしたことがあるのですが、Windowsだ未知の領域ですね。
調べてますが今のところヒントも見つけておりません。もう少し調べてみますね。

【追記】
とりあえず、USBカードライタのドライブを見つける方法としてVID/PIDを調べる方法のヒントです。
「USBドライブのVID/PIDを調べる方法について」
http://social.msdn.microsoft.com/Forums ... 70c99deb9/

これから出かけるので、とりあえずここまでで申し訳ないです。

[追記]
明日また検討させてください。SDカードライタが行方不明で見つかりません。

Re: SDの制御

Posted: 2011年6月11日(土) 13:39
by softya(ソフト屋)
とりあえず、ドライブがUSBかどうかとかを調べる方法。
「ドライブのモデル名や接続I/F情報などを取得する(UsefullCode.net)」
http://www.usefullcode.net/2007/02/if.html
「USBメモリーの挿入などを検出する(UsefullCode.net)」
http://www.usefullcode.net/2007/02/usb.html
「USBデバイスやUSBハブの詳細情報を取得する(UsefullCode.net)」
http://www.usefullcode.net/2007/02/usbusb.html

これだけだと、USBフラッシュとSDカードの区別ができない。

「CHSなど物理ドライブ情報を取得する(UsefullCode.net)」
http://www.usefullcode.net/2006/12/chs.html
これで区別つくのかなぁ?

あいかわらず、我が家のUSBカードライタが見つからない。

フォーマットに関しては、FAT12までサポートすると自前でFAT12フォーマットでセクタライトするしか無いと思います。

Re: SDの制御

Posted: 2011年6月13日(月) 06:19
by るりぱぱ
土日出かけてたため、今日確認しました。

まだコード見ただけですが出来そうですね。

> USBフラッシュとSDカードの区別ができない。
調べた上で出来なさそうな場合は、制限にする調整が出来そうなので、調べていただいたこと自体助かります。

出来たら報告します。(2W後ぐらい?)

Re: SDの制御

Posted: 2011年6月13日(月) 11:20
by るりぱぱ
調べて頂いておきながら申し訳ないのですが、ツールの作成を失注しました。(朝出社してびっくり→がっかり)
またの機会に参考にさせて頂きます。
有難う御座いました。

Re: SDの制御

Posted: 2011年6月13日(月) 11:22
by softya(ソフト屋)
ありゃ、残念。
またの機会にご活用ください。