This is a multi-part message in MIME format. ------=_NextPart_000_0064_01C592D5.A4BB8810 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by pch.mit.edu id j6RL4SWp022063 Hi all, I am trying to read the date and time values from a PCF8583 chip but with= no success. Always I am receiving 0xFF and I don't know the cause of this problem. Follow together this message the part of the source code corresponding (suggested from AN735 found in http://www.microchip.ro/stellent/idcplg?IdcService=3DSS_GET_PAGE&nodeId=3D= 1824&appnote=3Den011802) to this communication and the waveforms collected with Digitrace (PC Base= d Logic Analyzer). More data about this application: - The board is running with a crystal of 20MHz; - The RCT is the one device connected to the I2C. - The 32.768Hz clock seem fine and the1Hz signal is OK. - Compilated with Microchip MPLAB 7.20. - Configuration bits are __CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _HS_OSC & _LVP_OFF & _DEBUG_OFF & _CPD_OFF. - Program uploaded with ICD2. I am hoping to receive the seconds value but without success :-(. What I am doing wrong!??!?! Thanks all in advance! -------- This example try to read only seconds. ... i2cInit: GLOBAL i2cInit BANKSEL SSPSTAT BCF SSPSTAT, 6 BSF SSPSTAT, 7 ; Habilita modo em 100KHz BANKSEL TRISC BSF TRISC, 3 BSF TRISC, 4 MOVLW CALC_SSPADD ; coloquei +1 pq o compilador arredonda 7,9 para 7 MOVWF SSPADD BANKSEL SSPCON MOVLW 0X28 MOVWF SSPCON CALL I2C_INIT_VARS CLRF EFLAG_EVENT ; INITIALIZE EVENT FLAG VARIABLE CLRF SFLAG_EVENT ; INITIALIZE EVENT FLAG VARIABLE CLRF I2CSTATE ; RETURN --------- ; GENERATE I2C BUS START CONDITION [ I2C STATE -> 0 ] I2C_START_WRITE: BANKSEL I2CSTATE INCF I2CSTATE,F ; UPDATE I2C STATE VARIABLE BANKSEL SSPCON2 ; SELECT SFR BANK BSF SSPCON2,SEN ; INITIATE I2C BUS START CONDITION RETURN ; ; GENERATE I2C ADDRESS WRITE (R/W=3D0) [ I2C STATE -> 1 ] I2C_SEND_WRITEADDR: BANKSEL I2CSTATE INCF I2CSTATE, F ; UPDATE I2C STATE VARIABLE BANKSEL SSPBUF ; SELECT SFR BANK MOVLW 0XA0 MOVWF SSPBUF ; INITIATE I2C BUS WRITE CONDITION RETURN ; ; TEST ACKNOWLEDGE AFTER ADDRESS AND DATA WRITE [ I2C STATE -> 2 ] I2C_WRITE_ACKTEST: BANKSEL SSPCON2 ; SELECT SFR BANK BTFSS SSPCON2,ACKSTAT ; TEST FOR ACKNOWLEDGE FROM SLAVE GOTO I2C_WRITE_DATA ; GO TO WRITE DATA MODULE BANKSEL EFLAG_EVENT ; SELECT GPR BANK BSF EFLAG_EVENT,ACK_ERROR ; SET ACKNOWLEDGE ERROR BANKSEL I2CSTATE CLRF I2CSTATE ; RESET I2C STATE VARIABLE BANKSEL SSPCON2 ; SELECT SFR BANK BSF SSPCON2,PEN ; INITIATE I2C BUS STOP CONDITION RETURN ; ; GENERATE I2C WRITE DATA CONDITION I2C_WRITE_DATA: BANKSEL I2CSTATE INCF I2CSTATE,F ; UPDATE I2C STATE VARIABLE BANKSEL SSPBUF ; SELECT SFR BANK MOVLW 0X02 ; The address of seconds is 0x02 MOVWF SSPBUF ; INITIATE I2C BUS WRITE CONDITION RETURN ; ; GENERATE I2C BUS STOP CONDITION [ I2C STATE -> 3 ] I2C_STOP_WRITE: BANKSEL SSPCON2 ; SELECT SFR BANK BTFSS SSPCON2,ACKSTAT ; TEST FOR ACKNOWLEDGE FROM SLAVE GOTO I2C_NO_ERROR ; BYPASS SETTING ERROR FLAG BANKSEL EFLAG_EVENT ; SELECT GPR BANK BSF EFLAG_EVENT,ACK_ERROR ; SET ACKNOWLEDGE ERROR CLRF I2CSTATE ; RESET I2C STATE VARIABLE GOTO I2C_STOP_NOW I2C_NO_ERROR: BANKSEL I2CSTATE ; SELECT GPR BANK INCF I2CSTATE,F ; UPDATE I2C STATE VARIABLE FOR READ I2C_STOP_NOW: BANKSEL SSPCON2 ; SELECT SFR BANK BSF SSPCON2,PEN ; INITIATE I2C BUS STOP CONDITION RETURN ; ; GENERATE I2C START CONDITION [ I2C STATE -> 4 ] I2C_START_READ: BANKSEL I2CSTATE INCF I2CSTATE,F ; UPDATE I2C STATE VARIABLE BANKSEL SSPCON2 ; SELECT SFR BANK BSF SSPCON2,SEN ; INITIATE I2C BUS START CONDITION RETURN ; ; GENERATE I2C ADDRESS WRITE (R/W=3D1) [ I2C STATE -> 5 ] I2C_SEND_READADDR: BANKSEL I2CSTATE INCF I2CSTATE,F ; UPDATE I2C STATE VARIABLE BANKSEL SSPBUF ; SELECT SFR BANK MOVLW 0XA1 ; Now the address of read MOVWF SSPBUF ; INITIATE I2C BUS WRITE CONDITION RETURN ; ; TEST ACKNOWLEDGE AFTER ADDRESS WRITE [ I2C STATE -> 6 ] I2C_READ_ACKTEST BANKSEL SSPCON2 ; SELECT SFR BANK BTFSS SSPCON2,ACKSTAT ; TEST FOR NOT ACKNOWLEDGE FROM SLAVE GOTO I2C_START_READDATA ; GOOD ACK, GO ISSUE BUS READ BANKSEL EFLAG_EVENT ; ACK ERROR, SO SELECT GPR BANK BSF EFLAG_EVENT,ACK_ERROR ; SET ACK ERROR FLAG CLRF I2CSTATE ; RESET I2C STATE VARIABLE BANKSEL SSPCON2 ; SELECT SFR BANK BSF SSPCON2,PEN ; INITIATE I2C BUS STOP CONDITION RETURN I2C_START_READDATA: BSF SSPCON2,RCEN ; GENERATE RECEIVE CONDITION BANKSEL I2CSTATE ; SELECT GPR BANK INCF I2CSTATE, F ; UPDATE I2C STATE VARIABLE RETURN ; READ SLAVE I2C [ I2C STATE -> 7 ] I2C_READ_DATA: BANKSEL SSPBUF MOVFW SSPBUF MOVWF RECEIVE_CHAR ;GOTO I2C_SEND_READACK ; NOT END OF STRING SO SEND ACK ; SEND NOT ACKNOWLEDGE I2C_SEND_READNACK: BANKSEL I2CSTATE INCF I2CSTATE,F ; UPDATE I2C STATE VARIABLE BANKSEL SSPCON2 ; SELECT SFR BANK BSF SSPCON2,ACKDT ; ACKNOWLEDGE BIT STATE TO SEND (NOT AC= K) BSF SSPCON2,ACKEN ; INITIATE ACKNOWLEDGE SEQUENCE RETURN ; SEND ACKNOWLEDGE I2C_SEND_READACK: BANKSEL SSPCON2 ; SELECT SFR BANK BCF SSPCON2,ACKDT ; ACKNOWLEDGE BIT STATE TO SEND BSF SSPCON2,ACKEN ; INITIATE ACKNOWLEDGE SEQUENCE BTFSC SSPCON2,ACKEN ; ACK CYCLE COMPLETE? GOTO $-1 ; NO, SO LOOP AGAIN BSF SSPCON2,RCEN ; GENERATE RECEIVE CONDITION RETURN ; ; GENERATE I2C STOP CONDITION [ I2C STATE -> 8 ] I2C_STOP_READ: BANKSEL SSPCON2 ; SELECT SFR BANK BCF PIE1,SSPIE ; DISABLE SSP INTERRUPT BSF SSPCON2,PEN ; INITIATE I2C BUS STOP CONDITION BANKSEL I2CSTATE ; SELECT GPR BANK CLRF I2CSTATE ; RESET I2C STATE VARIABLE BSF SFLAG_EVENT, RW_DONE ; SET READ/WRITE DONE FLAG RETURN ;************************************************************************= *** ; ROUTINE: I2C_IDLE ; Testa e verifica se o barramento est=E1 ocioso. Esta rotina =E9 somente= um exemplo ; e n=E3o est=E1 sendo utilizada atualmente. ;************************************************************************= *** I2C_IDLE BANKSEL SSPSTAT ; SELECT SFR BANK BTFSC SSPSTAT,R_W ; TEST IF TRANSMIT IS PROGRESS GOTO $-1 ; MODULE BUSY SO WAIT BANKSEL SSPCON2 ; SELECT SFR BANK MOVF SSPCON2,W ; GET COPY OF SSPCON2 FOR STATUS BITS ANDLW 0X1F ; MASK OUT NON-STATUS BITS BTFSS STATUS,Z ; TEST FOR ZERO STATE, IF Z SET, BUS IS IDLE GOTO $-3 ; BUS IS BUSY SO TEST AGAIN RETURN ;************************************************************************= *** ; ROUTINE: I2C_SERVICE ; TODO: EXPLICAR ESTA ROTINA ;************************************************************************= *** I2C_SERVICE: GLOBAL I2C_SERVICE MOVFW I2CSTATE ADDLW (0XFF - 0X010) BTFSC STATUS, C ; Se I2CSTATE > 0x10 GOTO I2C_JUMPEND MOVLW HIGH I2C_JUMP ; FETCH UPPER BYTE OF JUMP TABLE ADDRESS MOVWF PCLATH ; LOAD INTO UPPER PC LATCH MOVLW _I2CSIZEMASK ; I2CSIZEMASK =3D 0XFF BANKSEL I2CSTATE ; SELECT GPR BANK ANDWF I2CSTATE,W ; RETRIEVE CURRENT I2C STATE ADDLW LOW (I2C_JUMP + 1) ; CALC STATE MACHINE JUMP ADDR INTO W BTFSC STATUS,C ; SKIP IF CARRY OCCURED INCF PCLATH,F ; OTHERWISE ADD CARRY ; ADDRESS WERE JUMP TABLE BRANCH OCCURS, THIS ADDR ALSO USED IN FILL I2C_JUMP: MOVWF PCL ; INDEX INTO STATE MACHINE JUMP TABLE ; JUMP TO PROCESSING FOR EACH STATE =3D I2CSTATE VALUE FOR EACH STATE GOTO I2C_START_WRITE ; WRITE START SEQUENCE =3D 0 GOTO I2C_SEND_WRITEADDR ; WRITE ADDRESS, R/W=3D1 =3D 1 GOTO I2C_WRITE_ACKTEST ; TEST ACK,WRITE DATA =3D 2 GOTO I2C_STOP_WRITE ; DO STOP IF DONE =3D 3 GOTO I2C_START_READ ; WRITE START SEQUENCE =3D 4 GOTO I2C_SEND_READADDR ; WRITE ADDRESS, R/W=3D0 =3D 5 GOTO I2C_READ_ACKTEST ; TEST ACKNOWLEDGE AFTER ADDRESS =3D 6 GOTO I2C_READ_DATA ; READ MORE DATA =3D 7 GOTO I2C_STOP_READ ; GENERATE STOP SEQUENCE =3D 8 I2C_JUMPEND: FILL (RETURN), (I2C_JUMP-I2C_JUMPEND) + _I2CSIZEMASK ... ; Source in the interrupt service routine that seem work fine BANKSEL PIE1 ; Seleciona o banco 1 BTFSS PIE1, SSPIE ; A interrup=E7=E3o do I2C est=E1 habilita= da? GOTO TEST_I2C_END ; (n=E3o)Ent=E3o testa a colis=E3o do barram= ento. BANKSEL PIR1 ; (sim) Seleciona o banco 0 BTFSS PIR1, SSPIF ; Testa a flag de interrup=E7=E3o do I2C= . Ela est=E1 ativa? GOTO TEST_I2C_END ; (n=E3o)Ent=E3o testa a colis=E3o do barra= mento. BCF PIR1, SSPIF ; (sim) Reseta a flag. CALL I2C_SERVICE ; Serve o evento I2C v=E1lido! GOTO RETURN_ENDINT ------=_NextPart_000_0064_01C592D5.A4BB8810 Content-Type: image/gif; name="PICI2C_RTC.gif" Content-Disposition: attachment; filename="PICI2C_RTC.gif" Content-Transfer-Encoding: base64 R0lGODdhzwKCAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8EAgAGAgAIAgAKAgAMAg AOAgAABAACBAAEBAAGBAAIBAAKBAAMBAAOBAAABgACBgAEBgAGBgAIBgAKBgAMBgAOBgAACAACCA AECAAGCAAICAAKCAAMCAAOCAAACgACCgAECgAGCgAICgAKCgAMCgAOCgAADAACDAAEDAAGDAAIDA AKDAAMDAAODAAADgACDgAEDgAGDgAIDgAKDgAMDgAODgAAAAQCAAQEAAQGAAQIAAQKAAQMAAQOAA QAAgQCAgQEAgQGAgQIAgQKAgQMAgQOAgQABAQCBAQEBAQGBAQIBAQKBAQMBAQOBAQABgQCBgQEBg QGBgQIBgQKBgQMBgQOBgQACAQCCAQECAQGCAQICAQKCAQMCAQOCAQACgQCCgQECgQGCgQICgQKCg QMCgQOCgQADAQCDAQEDAQGDAQIDAQKDAQMDAQODAQADgQCDgQEDgQGDgQIDgQKDgQMDgQODgQAAA gCAAgEAAgGAAgIAAgKAAgMAAgOAAgAAggCAggEAggGAggIAggKAggMAggOAggABAgCBAgEBAgGBA gIBAgKBAgMBAgOBAgABggCBggEBggGBggIBggKBggMBggOBggACAgCCAgECAgGCAgICAgKCAgMCA gOCAgACggCCggECggGCggICggKCggMCggOCggADAgCDAgEDAgGDAgIDAgKDAgMDAgODAgADggCDg gEDggGDggIDggKDggMDggODggAAAwCAAwEAAwGAAwIAAwKAAwMAAwOAAwAAgwCAgwEAgwGAgwIAg wKAgwMAgwOAgwABAwCBAwEBAwGBAwIBAwKBAwMBAwOBAwABgwCBgwEBgwGBgwIBgwKBgwMBgwOBg wACAwCCAwECAwGCAwICAwKCAwMCAwOCAwACgwCCgwECgwGCgwICgwKCgwMCgwOCgwADAwCDAwEDA wGDAwIDAwKDAwP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAAAALAAAAADPAoIA AAj/ABH8G0iwoMGDCBMqXHgQAEOHCiFGZJhvYcWFEhNmbPiw40SGIEOKHEmypMmTKFOqXMmypcuX MGPKnEmzZkqBAHLq3Mmzp8+fQHf+C0q0qFGi+YImPcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMNO 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 TOzKtEzCP3zLuJzLurzLvNzLvvzLwGxkAQEAOw== ------=_NextPart_000_0064_01C592D5.A4BB8810 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist ------=_NextPart_000_0064_01C592D5.A4BB8810-- _______________________________________________________ Yahoo! Acesso Gratis - Internet rapida e gratis. Instale o discador agora! http://br.acesso.yahoo.com/