• 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的控制@18F46J50
#8
版主
版主


查看用戶資訊
RB4/PMA1/KBI0/SCK1/SCL1/RP7
RB5/PMA0/KBI1/SDI1/SDA1/RP8

SCL1 & SDA1 這兩隻腳看起來與 ADC 無關,看不出來衛何 SCL2 & SDA2 可以動作而移到 IIC 1 後就不會動作? 可能要找的示波器勾一下波型了。

發表於: 2010/1/18 14:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: I2C EEPROM的控制@18F46J50
#7
資深會員
資深會員


查看用戶資訊
Configuration on POR is determined by the PBADEN Configuration bit. Pins are configured as analog
inputs by default when PBADEN is set and digital inputs when PBADEN is cleared.


你說的PBADEN他是說在Configuration bit裡面設定,我看過18F16J50並沒有這個設定,所以因該可以不用理會,下次多花點時間下去了解說明,你因該就不會問這個問題了

發表於: 2010/1/18 10:12
My name is jan,Jan是棒的
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: I2C EEPROM的控制@18F46J50
#6
中級會員
中級會員


查看用戶資訊
感謝 foxjan 原來是我搞錯了 VDD不用接電阻>_<
=====================================
TRISBbits.TRISB4 = 1;
TRISBbits.TRISB5 = 1;
OpenI2C1(MASTER,SLEW_OFF);
SSP1ADD = 0x1D;
//100KHz@12MHz //FOSC/(4*(SSPADD + 1))

ODCON3 = 0x01;
I2C_flag = EByteWrite1(I2C_Address,EE_Address,DATABUF);
I2C_flag = EEAckPolling1(0xA0);
buffer = EERandomRead1(I2C_Address,EE_Address);
I2C_flag = EEAckPolling1(0xA0);

使用mssp1還是失敗,a/d的功能

ADCON0 = 0x34; //除能特殊功能ANx
ADCON1 = 0;
ANCON0 = 0XFF;
ANCON1 = 0X1F;

我全部關了,並將它用數位輸入,我找不到PBADEN,它是什麼暫存器的?

發表於: 2010/1/15 18:44
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: I2C EEPROM的控制@18F46J50
#5
資深會員
資深會員


查看用戶資訊
這是從資料中抓出來的圖片 除了提升電阻,還有限流電阻哩

建議要洗板子的時候要預留 大不了RS預留的地方短路即可

提升電阻好像從4.7K-1K不等 速度越快 提升電組就越小

Attach file:



jpg  (0.00 KB)


發表於: 2010/1/15 9:24
My name is jan,Jan是棒的
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: I2C EEPROM的控制@18F46J50
#4
資深會員
資深會員


查看用戶資訊
I2C 簡介網址


I2C SPEC下載網址

I2C是飛利浦弄出來的規格
當初為了寫他的驅動程式,也辛苦了好久
現在都直接硬體驅動了 丟BUFF就好,真方便

順便呼籲一下
I2C 在下STOP之後,在開下一個START之前需要一段等待時間
而且各家的時間都不一樣
這可是使用者最大的陷阱
請多多注意

發表於: 2010/1/15 9:02
My name is jan,Jan是棒的
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: I2C EEPROM的控制@18F46J50
#3
中級會員
中級會員


查看用戶資訊
void StartI2C1( void )
{
SSPCON2bits.SEN = 1; // initiate bus start condition
}

在單步執行 StartI2C1 並不能使 SSPCON2bits.SEN 置 1

我想問一下,BRG的計算是不是正確,我看到的公式為:

100KHz@12MHz //FOSC/(4*(SSPADD + 1))

SSP1ADD = 0x1D; //29

=====================================

再來是VCC;聽硬體的前輩說,需要串接一個4.7K,

我在一些I2C資料裡都沒看到相關的說明,在哪裡有可以參考?

=====================================
=====================================

我成功了,但是是用ssp2成功的。

結論:

我的設定都正確

EEAckPolling(0xA0);一定需要,感謝版主提醒。

我再找找看portB是哪邊沒設定好…

發表於: 2010/1/14 16:18

Edited by wdszd on 2010年01月14日 17:21:17
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: I2C EEPROM的控制@18F46J50
#2
版主
版主


查看用戶資訊
"我卡在while( SSP1STATbits.BF );"

照這 BF 位元 ( Buffer Full Status Bit) 偵測不到為 1 的狀態代表皆收有問題,懷疑是做寫入後接下來的 Delay 10mS 有問題,建議改用 Polling ACK 的方式會比較好。可以在參考一下 W401 教材裡的 Ex6-1 內的範例。
f=EEByteWrite (0xA0,EE_Addr,Rec_Data);        // Write Receive Data into EEPROM
f=EEAckPolling(0xA0);    // Polling the Acknowledge
EE_Addr++;

發表於: 2010/1/11 11:42
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


I2C EEPROM的控制@18F46J50
#1
中級會員
中級會員


查看用戶資訊
請各位幫小弟看一下
=============================
#define I2C_Address 0xA0
#define EE_Address 0
==============================
//I/O設定

unsigned int buffer = 0;
int i=0;

OpenI2C1(MASTER,SLEW_OFF);
SSP1ADD = 0x1D; //100KHz@12MHz //FOSC/(4*(SSPADD + 1))

ADCON0 =0; //除能特殊功能ANx
ANCON0 =0X1F;
ANCON1 =0X1F;
===============================

EEByteWrite1(I2C_Address , (unsigned char)EE_Address , i);
delay_ms(10);
buffer = EERandomRead1(I2C_Address , (unsigned char)EE_Address);

A0、A1、A2、WP接地

SCL、SDA 上拉4.7K到VCC

有用過的人提供一下要注意的地方,它不會動>_<

我卡在while( SSP1STATbits.BF );

發表於: 2010/1/9 17:40
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... ]

教育訓練中心

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