• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users




« 1 (2)


Re: 讀取I2C_EEPROM需要注意什麼地方,請大家指教...
#11
初級會員
初級會員


查看用戶資訊
在判斷是不是有ack訊號的時候,最好能設一個最大的時間!不然....當eeprom出問題的時候就等於當機了!對了忘記說了如果是我在寫的時候,我一定是把所以的中斷關掉,也就是那一個時間只寫入eeprom不做其它的事!我試起來感覺這會會比較穩定啦!當然這也還是小弟的拙見!如有謬誤尚請指正,謝謝

發表於: 2004/5/25 16:23
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 讀取I2C_EEPROM需要注意什麼地方,請大家指教...
#12
新會員
新會員


查看用戶資訊
請問我在傳完8個bit(start+slaveraddress)之後再check
ACK結果都處在1的狀態,試了很多次都是這樣子,請問婐的程式哪裡出錯ㄌㄋ?
;--------------------------
BSF PA,SDA
NOP
NOP
BSF PA,SCL
NOP
NOP
BCF PA,SCL
NOP
NOP
BCF PA,SDA ;START BIT
;---------------------------
MOVLW 07H
MOVWF N_DATA
RUN_LOOP
BTFSS TEMP_DATA,6
GOTO BITLOW
BSF PA,SDA
NOP
BSF PA,SCL
NOP
NOP
NOP
BCF PA,SCL
NOP
RLF TEMP_DATA,F
DECFSZ N_DATA,F
GOTO RUN_LOOP
RETLW 0

BITLOW
BCF PA,SDA
NOP
BSF PA,SCL
NOP
NOP
BCF PA,SCL
NOP
RLF TEMP_DATA,F
DECFSZ N_DATA,F
GOTO RUN_LOOP
RETLW 0
;----------------------------
ACK
MOVLW 0000B ;
TRIS PA
BSF PA,SDA
MOVLW 0001B ;
TRIS PA
NOP
NOP
NOP
BTFSC PA,SDA
GOTO ERROR_BIT
MOVLW 0000B ;
TRIS PA
RETLW 0
;*****************
ERROR_BIT ;CHECK PROGRAM ERROR BIT ********(NG)*********
NOP
NOP
NOP
GOTO ERROR_BIT
;----------------------------

發表於: 2004/5/27 15:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 讀取I2C_EEPROM需要注意什麼地方,請大家指教...
#13
版主
版主


查看用戶資訊
看別人的程式是一件很辛苦的事,尤其是組合語言。
可不可以請你用數位式波器量SDA & SCL 兩隻腳的波形
一定有錯不然ACK是會從Slave送出來的。

發表於: 2004/5/31 17:55
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 讀取I2C_EEPROM需要注意什麼地方,請大家指教...
#14
新會員
新會員


查看用戶資訊
;----------------------------
ACK
MOVLW 0000B ;
TRIS PA
BSF PA,SDA
^^^^^^^^^^^^^^^^
為什麼要把SDA先自己拉High哩
理論上I2C BUS只要DEVICE不為BUSY都會自動釋放
BUS成為HIGH , 當然有些周邊或IO要加提升電阻.

MOVLW 0001B ;
TRIS PA
NOP
NOP
NOP
^^^^^^^^^^^^
你等的時間會不會太短了啊@@
BTFSC PA,SDA
GOTO ERROR_BIT
MOVLW 0000B ;
TRIS PA
RETLW 0
;*****************

才三個NOP , 你的CPU RUN多少hz哩??
我建議要等久一點
而且最好是用LOOP來持續判斷比如

WAIT_ACK_CHKPOINT
BTFSS PA,SDA
GOTO GOT_ACK
NOP
DECFSZ WAIT_ACK,F
GOTO WAIT_ACK_CHKPOINT

當然 WAIT_ACK 要放多少自己調Timing吧~
只寫個大概其它自己看看吧~


發表於: 2004/5/31 23:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------