Autor Thema: PIC12F1840 Problem mit I2C  (Gelesen 1941 mal)

Offline Mr. B A

  • Full Member
  • ***
  • Beiträge: 152
    • Profil anzeigen
PIC12F1840 Problem mit I2C
« am: Februar 27, 2014, 11:01:35 Vormittag »
Habe Probleme mit der MSSP vom PIC12F1840.
Er sendent noch nichteinmal das Startbit.
Hardware ist i. O. PIC läuft auch mit internen Oszillator.

Kann jemand das Problem sehen?

; CONFIG1
; __config 0xF9E4
 __CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_ON & _FCMEN_ON
; CONFIG2
; __config 0xFFFF
 __CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_ON & _BORV_LO & _LVP_OFF

init
  ; Internen Oszillator auf 16 MHz einstellen
  banksel OSCCON
  movlw  b'01111010'
  movwf  OSCCON

  return

init_i2c
  ; RA1 und RA2 als Eingänge für I2C
  banksel  TRISA
  movlw  b'00000110'
  movwf  TRISA

  ; Alle Portpins als I/O
  banksel  ANSELA
  clrf  ANSELA

  banksel  SSP1ADD
  ; Geschwindigkeit auf 100 kHz bei FOSC von 16 MHz
  movlw  0x27
  movwf  SSP1ADD
  ; Slew rate control ausschalten
  movlw  0x80
  movwf  SSP1STAT
  ; I2C-Master einstellen und Portpins als SDA und SCL konfigurieren
  movlw  0x28
  movwf  SSP1CON1
  clrf  SSP1CON2

  banksel PIR1
  bcf  PIR1,SSP1IF
  bcf  PIR2,BCL1IF

        ; LED ausschalten
  banksel PORTA
  bcf PORTA,5
  return

i2c_wait
        banksel PIR1
i2c_wait_wdh
  btfss  PIR1,SSP1IF
  goto  i2c_wait_wdh

         ;LED einschalten
  banksel PORTA
  bsf PORTA,5

  return

i2c_start
  banksel PIR1
  bcf  PIR1,SSP1IF
  banksel SSP1CON2
  bsf  SSP1CON2,SEN

  goto  i2c_wait

i2c_send_byte
  movwf  daten
  banksel PIR1
  bcf  PIR1,SSP1IF

  banksel SSP1BUF
  movf  daten,w
  movwf  SSP1BUF

  goto  i2c_wait

i2c_stop
  banksel PIR1
  bcf  PIR1,SSP1IF
  banksel SSP1CON2
  bsf  SSP1CON2,PEN

  goto  i2c_wait

Offline Nase

  • Newbie
  • *
  • Beiträge: 15
    • Profil anzeigen
Re: PIC12F1840 Problem mit I2C
« Antwort #1 am: März 02, 2014, 20:04:07 Nachmittag »
Pull-Up's sind vorhanden?

Offline Mr. B A

  • Full Member
  • ***
  • Beiträge: 152
    • Profil anzeigen
Re: PIC12F1840 Problem mit I2C
« Antwort #2 am: März 02, 2014, 22:01:03 Nachmittag »
Problem gelöst.
Es war die Zeit. Man sollte warten, wenn beim internen Quarz die Geschwindigkeit geändert wird.

Offline nicmicola

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
Re: PIC12F1840 Problem mit I2C
« Antwort #3 am: Mai 12, 2017, 12:33:47 Nachmittag »
I have the same problem. How have you solved it. If you can then more in detail.

 


* Recent Topics