|
關於mcp41010與pic16877的程式設定(c code)
|
|
新會員
|
各路高手: 我想用pic16877調控mcp41010數位可變電阻,但遇到一些問題: 1、cs pin一定要是16個clock的倍數嗎?~那要如何設定? 2、我的外部振盪器是用12Mhz,然後SSPM3~SSPM0是設為0000(clock=fosc/4),這樣設定完後~SCK腳位出來訊號的頻率應該是3MHz嗎?(但我用示波器量sck pin只有60hz....= =)
不知道還有哪裡要設定,我的程式對mcp41010好像沒有任何的作用>"<........
我的c code不會很長~煩請各位過目...小弟感激不盡!
********program*****************
#define Konfig_portC 0x90 #define Init_portC 0x00 #define BUSY 0x01 void spi(); char add;
void main() { TRISE.2=0; //CS_pin set output PORTE.2=1; //CS_pin initial_value PORTC=Init_portC; TRISC=Konfig_portC; SMP=1; CKE=0; SSPCON=0x20; while(1) { spi(); } }
void spi(void) { //******************first byte************// PORTE.2=0; //CS pin set SSPBUF = 0x13; //command byte transfer while(!SSPIF) { ; } SSPIF=0; //****************second byte************// SSPBUF = 0x02; //data byte transter while(!SSPIF) { ; } SSPIF=0; PORTE.2=1; //CS pin set
}
發表於: 2006/6/25 10:52
|
|