會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





PIC12F1840 I2C 問題
新會員
註冊日期:
2013/05/21 15:08
所屬群組:
註冊會員
文章: 19
等級: 3; EXP: 9
HP : 0 / 52
MP : 6 / 674
離線
不好意思 又來麻煩各位大大...

我在網路上看到很多PIC12F1840 I2C Slave 範例...

可是都沒看到PIC12F1840 I2C Master 範例 我完全不知道Master該如何下手寫...

我的硬體是PIC12F1840 兩個 互做I2C 通訊 交換資料。

請問大大我該如何著手?

5月18日 11:49:33
轉換PDF檔 列印


Re: PIC12F1840 I2C 問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14125
等級: 72; EXP: 47
HP : 1072 / 1786
MP : 4708 / 70329
離線
如果你使用 MCC 來產生周邊函數的話,可以參考一下教育訓練光碟下的: MCC201 v1.00 MPLAB Code Configurator New! 這裡面有用 MCC 產生的 I2C Master 存取使用範例。

如果你是要使用暫存器設定方式可以參考教育訓練: W301 Advance PICC Application 裡的 Lab7: 讀取 I2C 溫度感應器 MCP9800 的範例。

5月18日 12:53:04
轉換PDF檔 列印


Re: PIC12F1840 I2C 問題
新會員
註冊日期:
2013/05/21 15:08
所屬群組:
註冊會員
文章: 19
等級: 3; EXP: 9
HP : 0 / 52
MP : 6 / 674
離線
不好意思 打擾了...

MCC 產生的 I2C Master

I2C 我產生好後 SDA 都無任何反應

if (*pflag == I2C_MESSAGE_PENDING)
{

while(i2c_state != S_MASTER_IDLE);
{

PIR1bits.SSP1IF = true;
}
}

一直卡在這。

但是我使用 我開啟 SM BUS LNPUT 後,就出現波形

但是還是無法正常讀到EEPROM..............

附加檔案:



jpg  367195.jpg (241.38 KB)
20452_593817bd8704a.jpg 1706X960 px

6月07日 23:11:57
轉換PDF檔 列印


Re: PIC12F1840 I2C 問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14125
等級: 72; EXP: 47
HP : 1072 / 1786
MP : 4708 / 70329
離線
我怎樣算來算去,SCL 的第九個 ACK/NACK 的 SCL 都是 Hi (NACK) 回應,這表示對方沒反應或沒收到。

請問 Slave Address 設對嗎?

6月08日 17:50:29
轉換PDF檔 列印


Re: PIC12F1840 I2C 問題
新會員
註冊日期:
2013/05/21 15:08
所屬群組:
註冊會員
文章: 19
等級: 3; EXP: 9
HP : 0 / 52
MP : 6 / 674
離線
我是用您推薦的24LC02B ...

Operation Control
Code Block Select R/W
Read 1010 Block Address 1
Write 1010 Block Address 0

所以是0xA0 ? 我是用MCC

6月08日 18:30:17
轉換PDF檔 列印


Re: PIC12F1840 I2C 問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14125
等級: 72; EXP: 47
HP : 1072 / 1786
MP : 4708 / 70329
離線
波形分析起來怪怪的,怎會在 Command (10100000,Nack)之後出現 Stop 的條件,第九個 SCL 也讀到 NACK 的無回應訊號。

附加檔案:



jpg  擷取.JPG (90.09 KB)
16_593a4c64be49d.jpg 868X663 px

6月09日 11:54:14

Ryang 於 2017年06月09日 15:21:08
轉換PDF檔 列印


Re: PIC12F1840 I2C 問題
新會員
註冊日期:
2013/05/21 15:08
所屬群組:
註冊會員
文章: 19
等級: 3; EXP: 9
HP : 0 / 52
MP : 6 / 674
離線
其實我也有點小無奈,我也是照範例來做 也用MCC自動產生可是都是失敗

I2C_SLAVE_ADDRESS= 0xA0;

寫入:

eepromWriteBuffer[0] = 0x30;
eepromWriteBuffer[1] = 0x61;
I2C_MasterWrite(eepromWriteBuffer,
I2C_SLAVE_ADDRESS,&i2cStatus);

詢問:

eepromWriteBuffer[0]= 0x30;
I2C_MasterWrite(eepromWriteBuffer, 1,I2C_SLAVE_ADDRESS,&i2cStatus);

I2C_MasterRead(eepromReadBuffer,1,I2C_SLAVE_ADDRESS, &i2cStatus);

6月09日 15:47:50
轉換PDF檔 列印


Re: PIC12F1840 I2C 問題
新會員
註冊日期:
2013/05/21 15:08
所屬群組:
註冊會員
文章: 19
等級: 3; EXP: 9
HP : 0 / 52
MP : 6 / 674
離線
I2C_SLAVE_ADDRESS= 0x50;

打錯了!!


SLAVE 用MCC 的話 應該是甚麼都不用改對嗎?

參數一致就可以了吧?

進不了中斷!QQ

6月10日 09:51:27
轉換PDF檔 列印






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

[進階搜尋]


搜尋
線上教學影片
網頁捷徑
2017 Summer Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project