找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

一個(gè)單片機(jī)與其他芯片通信的時(shí)序圖,求大神解答

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

如上圖,目的是通過圖中的時(shí)序讀出DATAOUT的數(shù)據(jù),DATAOUT是并行的,有8個(gè)IO,代表bit0---biy7單片機(jī)用的  stm32f1
AdrIn對應(yīng)芯片4個(gè)并行IO,接到單片機(jī)四個(gè)IO,分別代表bit0---bit4,表示地址0-15


片選CS拉低保持時(shí)間t1:  大于20ns
地址提前準(zhǔn)備時(shí)間t2 :  大于5ns
片選CS拉高保持時(shí)間t3:大于20ns
輸入地址保持時(shí)間t4:  大于20ns
數(shù)據(jù)輸出準(zhǔn)備時(shí)間t5:  最大20ns
數(shù)據(jù)輸出延時(shí)td:最大200ns
以下是數(shù)據(jù)手冊的說明:
“在CLK-IN信號的每一個(gè)上升邊緣后,數(shù)據(jù)被采樣并保存。數(shù)據(jù)在CS下降邊緣后的最新200ns(數(shù)據(jù)輸出延遲)時(shí)可在數(shù)據(jù)總線上提供。地址數(shù)據(jù)的提供通過ClkOut和AdrOut相應(yīng)地表示

偽代碼:
void  readAllData(void)
{
    for(i = 0; i<16;  i++)  //從地址0開始讀
    {
        CLKIN = 0;
        CS = 1;
        CLKIN  =1;
        AddrInSet(i);  //根據(jù)地址更改AdrIn的四個(gè)IO電平
        delay-ns(10);
        CS = 0;   
        delay-ns(300);
        readDataout();   //讀取8個(gè)IO電平組成一個(gè)字節(jié)
        CS = 1;
        CLK = 1;
    }
}

這樣一番操作數(shù)據(jù)始終不對,大神能幫忙看看這個(gè)代碼對應(yīng)這個(gè)時(shí)序哪里有問題


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

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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