I2C init -> Master: Stop requenst when Master has no Bus Controll

OP #1713981
Lesenswert?

Hi Jungs,

bin gerade dabei ein FM24C02 mit einem Pic24fj64ga004 anzusprechen.

Da meine Hardware noch nicht da ist simmuliere ich mit Proteus.
Nun kommt immer die Fehlermeldung
Master:attempt to initiate simultainious actions i2c2con

Wenn ich das ganze auf I2C1 umschreibe kommt die selbe Meldung nur dann 
mit i2c1con

Was mache ich falsch ?
1
  
2

3
#include <p24FJ64GA004.h>
4
#include "my_delay.h"
5
#include <i2c.h>
6

7
_CONFIG2(IESO_OFF & SOSCSEL_SOSC & FNOSC_FRC &FCKSM_CSDCMD &I2C1SEL_SEC &POSCMOD_NONE)
8
;
9

10
_CONFIG1(JTAGEN_OFF)
11
;
12

13
  unsigned int config1;
14
  unsigned int config2;
15
  
16
  AD1PCFG |= 0b111111111111; //All Digital Outputs
17
  TRISA = 0;//configure all PortA as output
18
  TRISB = 0;
19

20
  config2 = 0x39; // Set baud rate to 100KHz
21
  config1 = (I2C_ON);
22
  OpenI2C2(config1, config2);
23
  IdleI2C2(); // Set I2C as idle
24
  StartI2C2(); // Request start up sequence
25
  IdleI2C2();
26
  MasterWriteI2C2(0xA0); // Device 1010, Add 000 , RW 0 )
27
  IdleI2C2();
28
  AckI2C2();
29
  IdleI2C2();
30
  
31
  MasterWriteI2C2(0x00); // Add low
32
  IdleI2C2();
33
  AckI2C2();
34
  IdleI2C2();
35
  
36
  MasterWriteI2C2(0xDD); // data
37
  IdleI2C2();
38
  AckI2C2();
39
  IdleI2C2();
40
  
41
  StopI2C2(); // Initiate stop sequence
42
  IdleI2C2();
43
  CloseI2C2();
44

45
  
46
  while (1)
47
    ;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren