Witam
Mam problem z transmisją I2C po wybudzeniu uC. Jeśli uśpienie nie było zbyt głębokie (tryb IDLE) transmisja I2C działa bez problemów. Jeśli uśpienie było głębsze (np. POWER DOWN) po wybudzeniu nie działa magistrala I2C. Aby ponownie zaczęła działać konieczny jest RESET uC. Napisałem krótki program ułatwiający analizę problemu.
plik main.c:
plik I2cBase.c:
plik I2cBase.h:
Testowałem powyższy kod w AS7.0.1006 i w AS7.0.1417 z wykorzystaniem debuggera sprzętowego JTAGICE3. W obydwu środowiskach zachowuje się podobnie.
Już podczas zapisu do EEPROM-u 24C02 zatrzymuje się na linii:
Mam problem z transmisją I2C po wybudzeniu uC. Jeśli uśpienie nie było zbyt głębokie (tryb IDLE) transmisja I2C działa bez problemów. Jeśli uśpienie było głębsze (np. POWER DOWN) po wybudzeniu nie działa magistrala I2C. Aby ponownie zaczęła działać konieczny jest RESET uC. Napisałem krótki program ułatwiający analizę problemu.
plik main.c:
Kod: C / C++
plik I2cBase.c:
Kod: C / C++
plik I2cBase.h:
Kod: C / C++
Testowałem powyższy kod w AS7.0.1006 i w AS7.0.1417 z wykorzystaniem debuggera sprzętowego JTAGICE3. W obydwu środowiskach zachowuje się podobnie.
Już podczas zapisu do EEPROM-u 24C02 zatrzymuje się na linii:
Kod: C / C++
