• slider image 270
  • slider image 271
  • slider image 272
:::


Browsing this Thread:   1 Anonymous Users






PIC16F877讀取24LC04B(EEPROM)的怪問題
#1
新會員
新會員


查看用戶資訊
我從這個網站抓了兩個範例(有關I2C Master讀取EEPROM的)
經過一陣的猛K終於搞懂I2C的一些存取規則,可是也遇到一個很怪的問題。由於我是初學者請各位大師幫我解答疑惑吧
問題是這樣的:
當我要開始I2C通訊時用了下列的指令
StartI2C ; Initiate the I2C START condition.
banksel SSPCON2
bsf SSPCON2,SEN
goto I2C_Done
然後等待動作完成的中斷訊號(PIR1的SSPIF位元要等於1)
I2C_Done
banksel PIR1
btfss PIR1,SSPIF ; Poll for SSPIF
goto $-1
bcf PIR1,SSPIF
return
可是............我透過ICD單步執行看暫存器的值
在指令bsf SSPCON2,SEN之後SSPIF位元根本不會變1
反而是PIR2的BCLIF位元居然變1
這........太怪了吧..........
居然發生Bus Collision.....翻遍所有的書,都沒寫到這一段。
當然啦...我的SSPIF也一直沒變1而那個I2C_Done的迴圈.....也變成無窮迴圈了。

發表於: 2004/6/10 9:48
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F877讀取24LC04B(EEPROM)的怪問題
#2
版主
版主


查看用戶資訊
我想,您是想用硬體的Master I2C模組吧!請查PIC17C756A的data sheet,裏頭有針對Master I2C對24LC01讀寫資料,用C17寫的範例程式。雖然不是用ASM,但是程序值得參考。

印象裏,使用Master I2C的話,會在各個步驟之間,加入等待idle狀態的動作。

註:PIC17C75X是Microchip第一顆具有H/W Master I2C的PIC,所以,說明得比較詳細。另外,找找application note,也許也有範到程式可以看。

先自力救濟一下囉!

自使用PIC以來,我就再也沒有自己從無到有寫過對24lcxx的讀寫程式,都是剪貼applicaion note所附的原始碼來用;頂多稍微修改而已。

發表於: 2004/6/10 16:33
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F877讀取24LC04B(EEPROM)的怪問題
#3
高級會員
高級會員


查看用戶資訊
關於PIC16F877A的MSSP MODULE有一個功能會偵測BUS的主控權 , 用來做為MULTY MASTER的應用 , 其作用在送START及STOP的時侯 , 如果你有使用MULTY MASTER的話 , 請注意準位的控制 , 提升電阻及串聯電阻的使用有助於信號準位的穩定作用 , 另一點注意的是 , 大部份的範例程式在對於ACK的判定通常都是用DELAY就帶過了 , 可以對此加以修改 , 而一些判定廻圈也都是死廻圈 ,

BTFSS SSPIF
GOTO $-1

可以的話 , 加個TIME OUT來輔助程式的完整性吧!

發表於: 2004/7/5 20:10
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連結

http://www.microchip.com.tw/modules/tadnews/index.php?nsn=18
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://edm.microchip.com.hk/webapp/opt-in/website/tc/form.htm
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/RTC/RTC_DVD/
[ more... ]

Microchip CAE 空中教室

教育訓練中心

課程 - 台北教育訓練中心
課程 - 新竹教育訓練中心
課程 - 高雄教育訓練中心
教育訓練中心介紹
購買 - 實驗工具
臺灣實驗板介紹與資源