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


Browsing this Thread:   1 Anonymous Users






Re: PIC16F690 軟體模擬I2C read問題
#4
新會員
新會員


查看用戶資訊
先謝謝版主大大跟C_H_M的回覆。
硬體部分我都確認過應該沒問題,因為示波器的波型都有秀出來。
最後發現原來是未將ANSELH 的 Bit2(ANS10) / Bit3 (ANS11) 設為 0 ,從analog轉成digital 功能。
在寫進register前,必須要先將ANSELH的Bit2(SDA / ANS10)跟Bit3 (SDA/ANS11)從1設成0。等寫完值後,也必須再將ANSELH的Bit2跟Bit3再設成1,轉回analog。要不然之後的read跟write動作,device都不會回你ACK。 >_<

發表於: 2008/5/12 10:26
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F690 軟體模擬I2C read問題
#3
中級會員
中級會員


查看用戶資訊
使用 PIC16F690 的 PORTB I/O 來操作啊!

那你要注意一下是否有使用到 RB4 或 RB5,

因為 RB4 / RB5 還具有 AN10 / AN11 的功能在.

需要將 ANSELH 的 Bit2(ANS10) / Bit3 (ANS11) 設為 0 時 digital 功能才會正常.

--------------------------------------------------------------------
另外, 一點點建議如下...
BITIN
     bcf     STATUS
,RP0  Bank 0
     bcf     PORTB
,SCL    Make sure SCL is low
     bsf     STATUS
,RP0  ;Bank 1
     movlw   SDA_IN      
Configure SDA to be an input
     movwf   TRISB        
Copy value to TRISB register
     bcf     STATUS
,RP1
     bcf     STATUS
,RP0  Bank 0
     bsf     PORTB
,SCL    Bring SCL high to begin transfer
TAA                        
Output valid from clock delay
[color=FF0000]     bsf     buffer,DI       Assume input bit is high[/color]
即然 SDA 是在準位改變至1時才送出且 bsf buffer,DI 也是需要執行的,
那何不移至此處當作 SDA 等待時間.
     
btfss   PORTB,SDA  Check for state of SDA bit
     bcf     buffer
,DI       ; If SDA is lowset bit low
     bcf     PORTB
,SCL    Bring SCL low again
     retlw   0


Good luck !

發表於: 2008/5/10 23:00
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16F690 軟體模擬I2C read問題
#2
版主
版主


查看用戶資訊
SCL & SDA 有接 Pull-Up 4.7K ohm 電阻嗎?
可以參考 AN536 & AN554 & AN982

發表於: 2008/5/9 17:54
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


PIC16F690 軟體模擬I2C read問題
#1
新會員
新會員


查看用戶資訊
小弟最近用PIC16F690練習以I2c去讀寫eeprom
用的是microchip的application note 974當範例
原本此範例是供p16f54用,我改成用PIC16F690去實作
不論是read或是write,用示波器看都符合I2C規則
但是我發現read的時候 示波器波形雖然是對的 讀出的值也是對的
可是值卻未讀進register 該register完全沒變化
範例程式中有一段是根據PORTB的SDA位元來判斷每個讀進的位元是1或是0
如下

BITIN
bcf STATUS,RP0 ; Bank 0
bcf PORTB,SCL ; Make sure SCL is low
bsf STATUS,RP0 ;Bank 1
movlw SDA_IN ; Configure SDA to be an input
movwf TRISB ; Copy value to TRISB register
bcf STATUS,RP1
bcf STATUS,RP0 ; Bank 0
bsf buffer,DI ; Assume input bit is high
bsf PORTB,SCL ; Bring SCL high to begin transfer
TAA ; Output valid from clock delay
btfss PORTB,SDA ; Check for state of SDA bit
bcf buffer,DI ; If SDA is low, set bit low
bcf PORTB,SCL ; Bring SCL low again
retlw 0
-----------------------
請問各位大大 有可能是哪邊出了問題導致PORTB的SDA完全無法觀察外部訊號 或是有那些register還要設定的嗎
謝謝~~

發表於: 2008/5/8 16:12
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... ]

教育訓練中心

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