|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
模擬SPI的程序 |
| 作者:keise 欄目:單片機 |
哪位大蝦幫我看一下這個讀寫SPI的函數(shù)是否正確啊,我在用這個程序讀寫FRAM(FM25L256)的時候一直都不成功,郁悶死了!是否在讀寫之前要選擇一下SPI的工作模式(CPOL,CPHA),如果要的話如何設置啊?還有要不要先設置一下它的狀態(tài)寄存器哪?請各位大俠幫忙!謝謝先! uchar SPI0_WriteByte(uchar Data) //往FRAM中寫入一個字節(jié) { uint i; SCK=1; for(i=0;i<8;i++) { SCK=0; if((Data<<i)&0x80) SIO=1; else SIO=0; SCK=1; } //SCK=0; return 0; } uchar SPI0_ReadByte() //讀取FRAM中的一個字節(jié) { uint i; uchar temp_buffer=0; SCK=1; for(i=0;i<8;i++) { SCK=0; temp_buffer<<=1; if(SIO) temp_buffer+=1; SCK=1; } //SCK=0; return temp_buffer; } uchar FM25L256_Write(uint Addr,uint Length,uchar *Data) //往FRAM中寫入數(shù)據(jù) { uint i; CSEnable; SPI0_WriteByte(WREN); // write enable command CSDisable; for(i=0;i<10;i++) { _nop_(); } CSEnable; SPI0_WriteByte(WRMD); // write MEMORY command SPI0_WriteByte(Addr>>8); // high 8 bits address SPI0_WriteByte((uchar)(0x00ff&Addr)); // low 8 bits address for(i=0;i<Length;i++) { SPI0_WriteByte(*Data); Data++; } CSDisable; for(i=0;i<10;i++) { _nop_(); } CSEnable; SPI0_WriteByte(WRDI); // write disable command CSDisable; return 0; } uchar FM25L256_Read(uint Addr,uint Length,uchar *Data) //讀FRAM中的信息 { uint i; CSEnable; SPI0_WriteByte(RDMD); // read MEMORY command SPI0_WriteByte(Addr>>8); // high 8 bits address SPI0_WriteByte((uchar)(0x00ff&Addr)); // low 8 bits address for(i=0;i<Length;i++) { *Data = SPI0_ReadByte(); Data++; } CSDisable; return 0; } |
| 2樓: | >>參與討論 |
| 作者: xzhenggen 于 2006/1/12 16:21:00 發(fā)布:
讀寫一個字節(jié)函數(shù)有誤, 同時選擇一下SPI的工作模式(CPOL,CPHA),查詢狀態(tài)寄存器的標志 |
|
| 3樓: | >>參與討論 |
| 作者: keise 于 2006/1/12 18:58:00 發(fā)布:
模擬SPI的程序 讀寫一個字節(jié)的函數(shù)應該如何修改啊,我把FRAM的SI,SO兩個引腳連在了一起,一起接到單片機的一個引腳上了。工作模式怎么設置啊,狀態(tài)寄存器還用設置嗎? |
|
| 4樓: | >>參與討論 |
| 作者: keise 于 2006/1/13 16:38:00 發(fā)布:
模擬SPI的程序 哪位高人幫我指點一下啊!! |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號 |