PICは16F917とAT25256インターフェースSPIを使用して

G

Guest

Guest
私は16F917 PICのでEEPROMを使用してAT25256 SPIの午前しよう。私の事はバグが関数読み取られています。SPIクロックとデータは、クロに表¥示されます。正しい場合はそれは確かに私はではない。スコープをメモリ深いしないいる。
ヘルプをいくつかしてください1つは。これは、内のコードはmain()#は<htc.h>含まれて
#が含まれます"pic_function.h"
#が含まれます"delay.hに"
#が含まれます"AT25256.h"

私はunsigned char型。)メイン(

)init_pic(; / / initの写真paripheral
init_AT25256();

)中(1

write_AT25256(0xBC、0x0100と);
私= read_AT25256(0x0100と);
場合)(一== 0xBC

RB3および= 1;
RB4は= 0;



RB4は= 1;
RB3および= 0;


)このためのコードですinit_pic#は<htc.h>含まれて
#が含まれます"pic_function.h"

__CONFIGは(0x20E2); / /タイマーを見て犬のオフになって

)無効init_pic(ボイド

/ /発振器の構¥成登録
/ / OSCCON =

/ / initの割り込みレジスタ
INTCON = 0xE0;

/ / initのポートの方向
TRISA = 0xFFまで。
TRISB = 0xE7;
TRISC = 0xAF;
TRISD = 0xF0な。
TRISE = 0xFFまで。

RB3および= 0;
RB4は= 0;

/は/ initのspiの

SSPEN = 0;
SSPSTAT | = 0x80に。
SSPCON | = 0x10を。
SSPBUF = 0x00は;
SSPEN = 1;

PEIEは= 1; / /フラグを有効にする周辺割り込み
GIEは= 1; /旗割り込みイネーブル/グローバル

)これはAT25256コード用です#は<htc.h>含まれて
#が含まれます"pic_function.h"
#が含まれます"delay.hに"
#が含まれます"AT25256.h"

無効init_AT25256(ボイド)

ram_cs = 1;
delay_in_us(10);
ram_cs = 0;
write_spi(レン);
ram_cs = 1;
delay_in_us(10);
ram_cs = 0;
write_spi(WRSRの);
write_spi(NOPROT);
ram_cs = 1;


ボイドwrite_AT25256(unsigned char型データ、unsigned int型のアドレス)

ram_cs = 1;
delay_in_us(10);
ram_cs = 0;
write_spi(レン);
ram_cs = 1;
delay_in_us(10);
ram_cs = 0;

write_spi(書き込み);
write_spi((アドレス>>クール);
write_spiは((アドレス&0xFFまで));
write_spi(データ);
ram_cs = 1;


)unsigned char型read_AT25256(unsigned int型のアドレス

unsigned char型データ;
ram_cs = 1;
delay_in_us(10);
ram_cs = 0;
write_spi(読み取り);
write_spi((アドレス>>クール);
write_spiは((アドレス&0xFFまで));
データ= read_spi();
ram_cs = 1;
戻り値のデータ;


ボイドwrite_spi(unsigned char型データ)

SSPIF = 0;
SSPBUF =データ;
)中(!SSPIF


delay_in_ms(5);


read_spi文字符号なし(無効)

unsigned char型温度;
SSPIF = 0;
SSPBUF = 0xFFまで。
)中(!SSPIF


delay_in_ms(5);
気温= SSPBUF;
戻り温度;


 
こんにちはホック

あなたはスコップをメモリ深い行う必要はありません-読んで、ループの制御レジスタからデータの書き込みやスコップで信号を表¥示する

高CSのデータ末尾に&クロックチェックthetのCSの用量ではないカットクロックやデータの開始データライン(十¥分な余白)からクロック低いのCS&

すべてのベスト

Bobi

 

Welcome to EDABoard.com

Sponsor

Back
Top