全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1771
推到 Plurk!
推到 Facebook!

SPI使用上的問題

答題得分者是:
jccheng
一般會員


發表:9
回覆:11
積分:4
註冊:2005-04-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-14 01:11:09 IP:140.123.xxx.xxx 未訂閱
我有ㄧ顆ADC是透過SPI去溝通,但是程式上不知哪裡有問題,用示波器量 看得到CLOCK卻看不到DATAOUT,仿間也沒書可以參考,所以上來問問 PS.我用的是AD7888,可以有8個ADC通道12BIT解析度    
;----------------------------SPI INITIALIZE-----------------------
        ORL        SPCON,#10H;MASTER MODE
        ORL        SPCON,#20H;P1.1 IS AVAILABE AS STANDARD I/O 
        ORL        SPCON,#82H;Fclk PERIPH/128
        ORL        SPCON,#08H;CPOL=1
        ORL        SPCON,#04H;CPHA=1
        ORL        IEN1,#04H        ;ENABLE        SPI IT
        ORL        SPCON,#40H;RUN SPI
        CLR        SPI_COMPLETED
;=================================================================
SPI_IT:
        MOV        A,SPSTA
        JNB        ACC.7,BREAK1
        MOV        SPI_DATA,SPDAT
        SETB        SPI_COMPLETED
        CPL        P2.5
        RETI
  BREAK1:                                        ;SPI ERROR1
        JNB        ACC.4,BREAK2
        ORL        ERROR,#00000100B
  BREAK2:                                        ;SPI ERROR2
        JNB        ACC.6,BREAK3
        ORL        ERROR,#00001000B        
  BREAK3:
        RETI
;================================================================            ORG        0000H
        LJMP        BEGIN                        
        ORG        004BH        ;SPI_INTERRUPT
        LJMP        SPI_IT
BEGIN:   
         CALL        LED_BL
        CALL        INITIAL
SCAN:                        
        MOV        SPDAT,#00001100B                        
W1:        JBC        SPI_COMPLETED,O1
        JMP        W1
O1:        MOV        ECG1,SPI_DATA
        MOV        P0,ECG1
        MOV        SPDAT,#00H
W1:        JBC        SPI_COMPLETED,O2
        JMP        W1
O2:        MOV        ECG2,SPI_DATA                
        MOV        P2,ECG2            JMP        SCAN    
P.S:您有縮排,但沒有加code指令.版規都有說明.我幫您改好了. 發表人 - ㊣ 於 2005/06/14 01:56:46

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-14 01:37:38 IP:220.134.xxx.xxx 未訂閱
1>po程式碼請縮排.不知如何做請參考版規.煩請修改配合,謝謝! 2>請參考datasheet中fig 16的Timing去寫,應該就沒問題了.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
jccheng
一般會員


發表:9
回覆:11
積分:4
註冊:2005-04-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-14 01:45:33 IP:140.123.xxx.xxx 未訂閱
引言: 1>po程式碼請縮排.不知如何做請參考版規.煩請修改配合,謝謝! 2>請參考datasheet中fig 16的Timing去寫,應該就沒問題了.
1.SORRY...程式碼在寫的時候有注意到要縮排..不過po上來卻沒有 下次會用預覽先CHECK過 2.我現在只是單純的透過SPI丟資料出去 可是我去看DATAOUT卻沒有資料送出來,不過看得到有CLOCK,所 已不知道是我哪裡沒設定好or沒接好才看不到DATAOUT 3.3Q

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-14 02:00:36 IP:220.134.xxx.xxx 未訂閱
你有去看過datasheet嗎?圖16共有4條線,分別是/CS,SCLK,DOUT,DIN 請確實看過,ok? /CS=0->SCLK動作->DOUT前四clock無動作,Din先輸入控制碼,然後DOUT就有data了........
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
jccheng
一般會員


發表:9
回覆:11
積分:4
註冊:2005-04-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-14 13:20:06 IP:140.123.xxx.xxx 未訂閱
引言: 你有去看過datasheet嗎?圖16共有4條線,分別是/CS,SCLK,DOUT,DIN 請確實看過,ok? /CS=0->SCLK動作->DOUT前四clock無動作,Din先輸入控制碼,然後DOUT就有data了........
搞定了...原因不明,我也不知道為什麼今天測試DOUT就有訊號了。 最近真的超不順。ANYWAY 3Q^^ PS.AD7888的cs腳轉換完自己要把它轉為HIGH PS2.問ㄧ個組語問題JNB P2.0,$ 這行是說如果P2.0不為HIGH的話就 ㄧ直等待直到他為HIGH,可是我在A51裡COMPLIER有過,不過程是在 RUN的時候都沒反應,後來我就只好改成
 
W1:   JBC  P2.0,O1
      JMP  W1
O1:   MOV  ....
是我哪裡有錯嗎

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-14 13:31:42 IP:211.22.xxx.xxx 未訂閱
引言: PS2.問ㄧ個組語問題JNB P2.0,$ 這行是說如果P2.0不為HIGH的話就 ㄧ直等待直到他為HIGH,可是我在A51裡COMPLIER有過,不過程是在 RUN的時候都沒反應,後來我就只好改成
 
W1:   JBC  P2.0,O1
      JMP  W1
O1:   MOV  ....
是我哪裡有錯嗎 < face="Verdana, Arial, Helvetica"> 依指令原意是這樣沒錯.但使用"$"有時就是會有問題.so我幾乎不用"$".
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-05-16 14:37:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!