SPI使用上的問題 |
答題得分者是:㊣
|
jccheng
一般會員 發表:9 回覆:11 積分:4 註冊:2005-04-28 發送簡訊給我 |
我有ㄧ顆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 SCANP.S:您有縮排,但沒有加code指令.版規都有說明.我幫您改好了. 發表人 - ㊣ 於 2005/06/14 01:56:46 |
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
|
jccheng
一般會員 發表:9 回覆:11 積分:4 註冊:2005-04-28 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
|
jccheng
一般會員 發表:9 回覆:11 積分:4 註冊:2005-04-28 發送簡訊給我 |
引言: 你有去看過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 發送簡訊給我 |
引言: 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我幾乎不用"$".
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |