トップページ | 組込みソフト | PICマイコン | PICの開発環境 | MikroC Pro for PIC |
SDカードの読み書き 2010/5/21更新 | |
相変わらず不信感が払拭できないMikro Cですがライブラリは豊富なようです。感じているPICの最大の弱点はRAMが少ないということです。H8のようにDRAMを接続することはできません。 たとえばADコンバータで入力したデータを保存する場合など、通信をしてパソコンに投げることが考えられます。しかし、通信速度の限界があります。Mikro Cのヘルプを見るとSDカードが使えるように書かれています。それならやってみようということになりました。 |
|
使う関数は少なくてすむ! | |
カードが未挿入などのエラーは省略。必要な関数のみを書きます。 SDカード、マルチメディアカードの初期化 SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV64, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_HIGH, _SPI_LOW_2_HIGH); Mmc_Init(); (Mmc_Fat_Init() ; { ファイルの読み込み Mmc_Fat_Assign(g_szReadFileName, 0x00); Mmc_Fat_Reset(&size); sizeにファイルの大きさを取得します。 for(i = 0; i < size; i++) { Mmc_Fat_Read(&g_chSDdata); g_szTextBuf[i] = g_chSDdata; } Mmc_Fat_Read()でファイルから1バイト読み込んで配列に書き込みます。 配列にファイルのデータが読み込まれます。 ファイルへ書き込み Mmc_Fat_Assign(g_szWriteFileName, 0xA0); Mmc_Fat_Rewrite(); Mmc_Fat_Write(g_szTextBuf, size); これだけです。 |
|
結論として | |
制約があります。SDカードはFAT16の形式で メモリの大容量化が早く進行しています。 PC4550などではSDカードのインターフェースはRS232CとRC7がバッティングしています。SDカードとRS232Cを使うときはPICの選定に注意してください。 これでいろいろな応用ができます。 たとえば温度センサーのデータを記録する。 音声データをSDカードに入れてPICのPWMで音をだす。 ・・・・・・ |