Forum: Mikrocontroller und Digitale Elektronik I2C init -> Master: Stop requenst when Master has no Bus Controll


von Sascha P. (poggie)


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
    ;

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.