會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





[PIC16F690] 請教I2C的READ問題
新會員
註冊日期:
2009/11/20 11:16
所屬群組:
註冊會員
文章: 2
等級: 1; EXP: 2
HP : 0 / 0
MP : 0 / 20
離線
前輩們好。
我是個MCU新手,剛入行。

現在的專案需要使用16F690來實現一組I2C

主要用來對某感測器做讀值

以下是流程

Open in new window








































依照流程,送出了I2C的指令來做必要的設置(RESET/設置模式)

Open in new window






























依照流程,I2C的指令來讀取資料(對暫存器先做做dummy Write後讀回)

奇怪的是,讀取到永遠都是0xFF
Open in new window



























以下是IO的配置圖,目前還很簡單
Open in new window




















目前懷疑是GPIO的設置沒有設置好
(聽說READ/和WRITE配置不一樣,要改變設置方式)
但苦於書念得少,不確定該怎麼設置才正確?

或者有其他可能因素影響?
希望有經驗的前輩指導一下

2月17日 16:53:22

fanaticism 於 2020年02月17日 17:11:52
轉換PDF檔 列印


Re: [PIC16F690] 請教I2C的READ問題
資深會員
註冊日期:
2007/06/05 21:45
所屬群組:
註冊會員
文章: 1050
等級: 28; EXP: 57
HP : 0 / 689
MP : 350 / 25849
離線
感覺Device 都沒有ACK ?

你要不要找一下,Device有沒有什麼問題
例: 電源, DAT/CLK, I2C slave address, ...
或者找一下,以可正確讀取的設備先測一下,確認硬體PCB...

2月18日 08:36:34
轉換PDF檔 列印


Re: [PIC16F690] 請教I2C的READ問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15011
等級: 73; EXP: 84
HP : 1092 / 1821
MP : 5003 / 84764
離線
先檢查你的波形,Command = 100 1001 /W , 前七個 command bits 是 0x49 再加上一個 Write Bit。此前段波形看起來是沒有問題的,但如同 Jason680 網友所言: 在第九個 Scl 時 Slave Device 並沒有回 ACK 的訊號。這代表此次的通訊是沒有作用的。

所以請確認一下你的 Slave 的 7-bit Command Address 是多少? 先有 Slave 的回應後才可以做下去。

附加檔案:



jpg  擷取.JPG (85.48 KB)
16_5e4b7dbd4f761.jpg 1088X442 px

jpg  擷取1.jpg (52.87 KB)
16_5e4b7dc844cd1.jpg 658X362 px

2月18日 14:01:48
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project