ARM STR7 a I2C slave s prerusenim

Dipl.-Ing. Michal Kovácik kovacik@toolsquare.com
Úterý Leden 6 15:55:35 CET 2009


Zdravim. 

Prave som sa stretol s nasledovnym problemom. Pouzivam I2C na ARMe STR7 ako slave. 
Inicializacia I2C je nasledovna:

  I2C_Init (I2C0);
  I2C_FCLKConfig (I2C0);
  I2C_OnOffConfig (I2C0, ENABLE);
  I2C_ITConfig (I2C0, ENABLE);
  I2C_GeneralCallConfig(I2C0, ENABLE);
  I2C_SpeedConfig (I2C0, 100000);
  I2C_AddressConfig (I2C0,0x40, I2C_Mode7);
  I2C_AcknowledgeConfig (I2C0, ENABLE);
  
  EIC_IRQChannelPriorityConfig(I2C0_IRQChannel,1);           
  EIC_IRQChannelConfig( I2C0_IRQChannel, ENABLE );
  EIC_IRQConfig(ENABLE);      

Problem je v tom, ze prerusenie nastane az po prijati druheho baytu. Prijme sa adresa, prvy bayt, a az pri druhom skoci do prerusenia. Podla datasheetu 
ma skocit do prerusenia hned po prijati prveho baytu. Po prijati prveho baytu sa flag prerusenia nastavi, ale do prerusenia neskoci, udeje sa tak az po prijati druheho baytu. 
Stretol sa s tym niekto? 

Michal. 
------------- dal¹í èást ---------------
HTML p?íloha byla odstran?na...
URL: http://list.hw.cz/pipermail/hw-list/attachments/20090106/c1eaae21/attachment-0002.htm 


Další informace o konferenci Hw-list