SD CARD初始化ㄧ問 |
缺席
|
jccheng
一般會員 發表:9 回覆:11 積分:4 註冊:2005-04-28 發送簡訊給我 |
我想要控制SD CARD,看SPEC寫說初始化的流程是先送
CMD0等到收到的RESPONSE為01H後再送CMD1,重複送直
到RESPONSE為00H。(應該沒有錯吧)
可是我收到的結果如下:
FF FF FF FF FF FF FF FF FF--不為01H再送ㄧ次CMD0
FF FF FF FF FF FF FF FF 01--為01H改送CMD1
FF FF FF FF FF FF FF FF 01
.
.
ㄧ直都是01H,都沒有變成00H。CMD的值分別入下
CMD0: 40 00 00 00 00 95
CMD1: 41 00 00 00 00 01
加入同步訊號,傳到SD CARD上真正的值如下,每組各為9 BYTE
CMD0: F4 00 00 00 00 09 5F FF FF
CMD1: F4 10 00 00 00 00 1F FF FF
我的寫法是
TLP0: CLR CS ;ENABLE SD CARD CALL CMD0 SETB CS ;DISABLE SD CARD DEC R1 ;取出RESPONSE做比較 CJNE @R1,#01H,TLP0 TLP1: CLR CS CALL CMD1 SETB CS DEC R1 CJNE @R1,#00H,TLP1PS.我在猜想有問題的地方會不會是我CS的使用時機不對。 老實講我也不清楚,可以請有用過的人提供一下意見嗎 用好久了,都搞不定。 |
jccheng
一般會員 發表:9 回覆:11 積分:4 註冊:2005-04-28 發送簡訊給我 |
上面這個問題解決了,原來是我function忘記加上ret返回
但是卻遇到一個新問題,就是當我下read command時,卻
接到cc error與ecc error
CC error—Internal card controller error.
Card ECC failed—Card internal ECC was applied but failed to correct the data.
第二個error還可以透過把ecc(error correct code) disable掉,應
該就可以解決,但是第一個問題就不知道怎麼解決了,是我
sd card壞掉了嗎。因為我的讀卡機沒辦法把它
|
a824039
一般會員 發表:1 回覆:1 積分:0 註冊:2005-07-30 發送簡訊給我 |
|
ryuhuang
一般會員 發表:0 回覆:7 積分:1 註冊:2004-03-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |