找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1562|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)模擬SPI讀數(shù)據(jù),讀到的電平一直為0

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
單片機(jī)用的是dspic33fj256mc710a,eeprom用的是at25128,spi通信;
在在線調(diào)試的時(shí)候正常,可以正常讀取,正常寫入;
但是下載程序到板子里面運(yùn)行就不行,從eeprom里面讀的數(shù)據(jù)都是0x00,通過邏輯分析儀抓波形發(fā)現(xiàn)eeprom已經(jīng)發(fā)出了正確的回復(fù),但是讀取的時(shí)候全部是0x00;
也就是說,雖然eeprom發(fā)出了正確的信息,但是我的soft SPI讀取函數(shù)里面讀到的都是0,經(jīng)過數(shù)據(jù)發(fā)現(xiàn)進(jìn)入(SI == 1)的條件下語(yǔ)句0次,進(jìn)入else的語(yǔ)句8次,所以在代碼里面讀取電平不是為高電平的(我用邏輯分析測(cè)了PIC單片機(jī)引腳端的電平,確實(shí)是有變化的正確電平)

正常結(jié)果.png (18.6 KB, 下載次數(shù): 48)

正常結(jié)果.png

下載程序EEPROM有正確輸出.png (68.56 KB, 下載次數(shù): 48)

下載程序EEPROM有正確輸出.png

錯(cuò)誤結(jié)果.png (20.56 KB, 下載次數(shù): 50)

錯(cuò)誤結(jié)果.png

代碼.png (102.48 KB, 下載次數(shù): 47)

代碼.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:401564 發(fā)表于 2023-3-18 21:54 | 只看該作者
25系列的EEPROM的基本操作幾乎是完全一樣的
CS的時(shí)序很重要的
這是一個(gè)寫入函數(shù),你參考一下
void Write_Data_25AA(u8 WriteByte,u8 Addr)//向指定地點(diǎn)寫入一個(gè)字節(jié)的數(shù)據(jù)
{
        u8 i;       
       
        CS_SPI_LOW;                                                                                                                                                //CS=0
        SPI_Write_Byte(WREN);                                                                                                        //寫入"寫使能命令"
        CS_SPI_HI;                                                                                                                                                //CS=1       
        delay_us(10);                                                                                                                                        //延時(shí)
       
        CS_SPI_LOW;                                                                                                                                                //CS=0
        SPI_Write_Byte(WRITE);                                                                                                //寫入"寫命令"
        SPI_Write_Byte(Addr);                                                                                                        //SPI寫入地址
        SPI_Write_Byte(WriteByte);                                                                                //寫入數(shù)據(jù)
        CS_SPI_HI;                                                                                                                                                //CS=1,寫入之后要把CS拉高,才能完成寫入
        delay_us(10);                                                                                                                                        //延時(shí)
       
        do
        {               
                CS_SPI_LOW;                                                                                                                                        //CS=0
                SPI_Write_Byte(RDSR);                                                                                                //寫入讀取STATUS狀態(tài)位命令
                i=SPI_Read_Byte();                                                                                                        //讀取STATUS狀態(tài)位中的:寫使能位=WEL,此位為1時(shí),可以寫入
                CS_SPI_HI;                                                                                                                                        //CS=1
        }                                                                                                                                                                                        //讀取STATUS狀態(tài)位中的:寫進(jìn)行位=WIP,此位為1時(shí),正在寫入
        while(i&0x01);                                                                                                                        //等待寫進(jìn)行位變成0*/               
}

回復(fù)

使用道具 舉報(bào)

板凳
ID:491796 發(fā)表于 2023-3-19 19:57 | 只看該作者
Y_G_G 發(fā)表于 2023-3-18 21:54
25系列的EEPROM的基本操作幾乎是完全一樣的
CS的時(shí)序很重要的
這是一個(gè)寫入函數(shù),你參考一下

應(yīng)該不是邏輯的問題,我試了下,在“下載程序”后,這個(gè)引腳讀高電平根本讀不出來。在仿真的時(shí)候可以讀出高電平。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表