請問有關PIC33FJ256GP710這型號,I2C對EEPROM讀取問題?
|
||||
---|---|---|---|---|
新會員
|
我在microchip網上,下載了
http://ww1.microchip.com/downloads/en/AppNotes/01079A.pdf http://www.microchip.com/stellent/idc ... eId=1824&appnote=en528266 我用了它提供的範例來對24xx512來寫入或讀取 pic採用內部震盪為 40MHz 所以我在這邊設定為 I2C1BRG = 63; 然後上拉電阻為2.2k 以下為寫入的 function unsigned int HDByteWriteI2C(unsigned char ControlByte, unsigned char HighAdd, unsigned char LowAdd, unsigned char data) { unsigned int ErrorCode; IdleI2C(); StartI2C(); WriteI2C(ControlByte); IdleI2C(); ErrorCode = ACKStatus(); WriteI2C(HighAdd); IdleI2C(); WriteI2C(LowAdd); IdleI2C(); ErrorCode = ACKStatus(); WriteI2C(data); IdleI2C(); StopI2C(); EEAckPolling(ControlByte); return(ErrorCode); } unsigned int StartI2C(void) { I2C1CONbits.SEN = 1; while (I2C1CONbits.SEN); } unsigned int WriteI2C(unsigned char byte) { I2C1TRN = byte; while (I2C1STATbits.TBF); } 我只貼了一些函式上來,我想請問一下 我寫了的時候每次多會死在 while (I2C1STATbits.TBF); 這各地方, 就無法再繼續run下去了... 想問問這會是什麼原因造成的??
發表於: 2010/2/8 9:51
|
|||
|