Snow in Novemberのブログ(blog)

C言語でPIC18F、SDカード読み書き

calendar

aitendoで入手したカラーグラフィックLCD(M028C9325TP (320 x 240ピクセル)には、SDカードのソケットも実装されています。 ここに画像データを入れておいてLCDへの表示をしようと思います。

サイトを徘徊してみると、こちらのサイト(Interfacing SD Card With PIC Microcontroller-XC8) がPIC18Fを使用してXC8 Cコンパイラ用のプログラムでSDカードのアクセスを行っていました。 ソースコードも一式公開されているので利用することにしました。

上記サイトではPIC18F45K22を使用しています。 こちらではPIC18F26K22を使用していますが、少しの変更でうまく動作させることができました。

SD関連の結線は下記のとおりにして、これは上記サイトのコードでの各ポートの対応と同じです(プルアップ、プルダウン抵抗については変更)。 実はこのままですと先日LCDに表示を行った際のポートと重複してしまいますので、LCD側の結線はあとで変更することにします。

PIC                SDカード(LCDモジュール M028C9325TP)
————————————–
RC0               SD_CS   (10kΩの抵抗器でプルアップ)
RC3/SCK1    SD_SCK
RC4/SDI1     SD_OUT (10kΩの抵抗器でプルアップ)
RC5/SDO1    SD_DIN

ベースのC言語のコードは上記サイトからダウンロードできます。 サイトの下の方にある、 Download Mplab X Project SD_Card_FatFs(リンクしていません) です。

ダウンロードしたものは、そのままプロジェクトとしてMPLAB X IDE から開くことができました。

修正は以下の通り行いました。

1. MPLAB X IDE でのデバイス指定をPIC18F45K22からPIC18F26K22に変更

2. mcc_generated_files\mcc.c を修正
#pragma config P2BMX = PORTD2    // ECCP2 B output mux bit->P2B is on RD2

#pragma config P2BMX = PORTB5    // ECCP2 B output mux bit->P2B is on RB5

3. mcc_generated_files\pin_manager.c を修正
LATD = 0x00;
TRISD = 0xFF;
ANSELD = 0xFF;

 //    LATD = 0x00;
//    TRISD = 0xFF;
//    ANSELD = 0xFF;
————————————
LATE = 0x00;

 //    LATE = 0x00;
————————————
ANSELE = 0x07;

 //    ANSELE = 0x07;

あとはコンパイルして実行すると、上記サイトにあるように “Hello world! …(以下省略)”か書かれたテキストファイルがSD カード上に作られました。 SDカードは手元にあった1GByteのものを使っています。

PIC18F26K22のメモリ使用状況はこんな感じです(MPLAB X IDE v3.50)。
PIC18F26K22にSDカード接続 メモリ状況

ダウンロードしたコードのmain()では、f_mount, f_open, f_writeを使っています。 他にもいろいろ関数が用意されていて、f_readとf_writeを使用するとバイナリファイルのコピーもできました。 SDカードからバイナリファイルのリードは出来ているということになると思います。

メモリにはまだ余裕があるので、前回のLCDへの表示のプログラムと上手に合体して機能追加すれば、SDカードに画像ファイルをいれておいてそれをLCD上に表示できそうです。


関連記事
C言語でPIC18F、まずはLチカ (LED点滅
C言語でPIC18F、カラーグラフィックLCD(M028C9325TP) 接続
C言語でPIC18F、カラーグラフィックLCD(M028C9325TP) 接続2
C言語でPIC18F、SDカード読み書き
C言語でPIC18F、SDカードの画像ファイルをLCD(M028C9325TP)に表示

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ZEROPLUS ロジックアナライザ 【LAP-C(16032)】
価格:14160円(税込、送料別) (2017/3/12時点)

自家製かき氷は簡単に作れますよ!

この記事をシェアする

コメント

コメントはありません。

down コメントを残す




14 + 1 =

folder お助けグッズ

No Image

ネコポス測定定規をゲットしました
more...

folder カード

SBIカードから重要なお知らせの郵便が届きました。サービス終了!
more...

folder その他

No Image

消火器の有効使用期間が切れていました
more...

folder ダイエット

No Image

No Image

No Image

No Image

No Image

more...

folder 書籍(本)

走り方がわかる本。ランニングの科学 買いました
究極の個人旅行ガイド本 バックパッカーズ読本 最新版 買いました。
more...

folder 衣服

ヘインズ Hanes Tシャツ 靑ラベル まとめ買いしました
more...

folder 防災グッズ

超大型台風(21号)をきっかけに最近の防災グッズを調べてみました
more...