CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

I2c et multi_Slaves

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
zied74
Guest







I2c et multi_Slaves
PostPosted: Tue Sep 22, 2009 4:42 am     Reply with quote

Bonjour à tous,

Mon projet consiste en une communication I2c entre un master et 6 Slaves ( Master: PIC 16F876 , 6 slaves:5 PIC16f876 et un RTC DS1307) : le Master récupère la date et l'heure réelle de RTC puis il les communiquent aux slaves via I2C, ceux dernière font des calcul trigonométrique puis renvoient les valeurs calculées au master et rentrent tout de suite (les 5 slaves) dans des boucles infinies d'affichage des valeurs calculées sur des afficheurs 7 segments. Le master dès qu'il récupère la date et l'heure de RTC rentre aussi dans une boucle infinie d'affichage de l'heure réelle sur Afficheurs 7 Segments.

la communication entre le master et les slaves PIC ( mode écriture Master --> slave) se fait par interruption Timer0 du Master chaque 20 secondes, la réception des données par le slave se fait par interruption INT_SSP (Compilateur PIC C).

Mon problème est le suivant :

la communication en mode écriture et lecture avec le RTC est parfaite, par contre avec les 5 slaves : si j'envoi les données (Master --> slave) dès le début de programme càd sans l'interruption Timer0 la communication passe très bien et je vois le bit Ack généré par le slave ( ISIS 7.5 : I2C Debugger) par contre si j'envoi les données par interruption Timer0, il y a un Nack ( pas d'acquitement) généré par le slave. est ce que l'envoi des données par interruption sont non accepté par le slave ou bien c'est la boucle infinie d'affichage du slave qui est tellement rapide ( multiplexage sur 4 digits de l'afficheur) qui bloque la bonne réception, par ce que aussi, lorsque je supprime cette boucle du programme du slave je vois un acquitement par le slave.

Merci et bonne journée à Tous.


++++++++++++++++++
Posts should be in the English language.
Use an online translator if necessary.
-- Forum Moderator
++++++++++++++++++
rnielsen



Joined: 23 Sep 2003
Posts: 852
Location: Utah

View user's profile Send private message

PostPosted: Tue Sep 22, 2009 9:16 am     Reply with quote

zied74,

Il est difficile de savoir exactement quel est le problème mai sans avoir vu aucun code. De plus, avec ce conseil d'administration étant pale et un forum anglais on peut pas obtenir de réponses.

Je trouve que certains de mes problèmes de calendrier I2C sont connexes, lorsque le capitaine ne donne pas les esclaves le temps de faire ce qu'ils doivent, avant le maître envoie une autre commande.

Comme je l'ai dit, il est difficile de savoir exactement quel est le problème sans voir votre code.

Ronald
zied74
Guest







PostPosted: Tue Sep 22, 2009 10:55 am     Reply with quote

Thanks Ronald,

tomorow I will poste my Source-code Here.

Good night.
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Tue Sep 22, 2009 11:41 am     Reply with quote

Quote:
Use an online translator if necessary
Can you suggest one, that produces understandable translation of technical french texts? translate.google.com seems to be among the better ones, but still rather garbling.


+++++++++++++++++++
Babelfish is OK. Google is better.
http://babelfish.yahoo.com/
-- Forum Moderator
+++++++++++++++++++


Running a multiplex display routine shouldn't be a serious reason to miss interrupts at a fair rate (e.g. 10 kHz). It's rather a matter of not well-considered software organization. The I2C ISR must not necessarily process the data, just write them to a buffer and return. The problem also isn't specific to I2C slave operation, it's the same e.g. with fast UART receiption.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group