SCI et PIT incompatible [Forums - HC12 et S12]
SCI et PIT incompatible [Forums - HC12 et S12]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes



« 1 (2)


Re: SCI et PIT incompatible
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 536
Hors Ligne
Holà,

Le while n'est pas le top c'est sur. Mais normalement, tu pourrais sortir de cette boucle sur la prochaine IT du PIT, mais à condition que tu effaces son flag en début d'isr, et non à la fin.

Essaye aussi de faire fonctionner ces 2 IT mais une à la fois. Comme ça tu verras si ça deconne encore.
Et je ne pense pas que l'isr SCI influe beaucoup sur tes 10ms !

Donc j'essayerai :

- d'activer les IT des 2 modules dés le démarrage.
- uniquement, dans l'ISR SCI, de désactiver les IT PIT.
- la tu traites une donnée reçue dans le buffer, puis,
- de réactiver les IT PIT en fin d'ISR SCI

Au fait, tu peux mettre ton code entre les balises :
code entre crochets
/code entre crochets

Posté le : 21/09/2016 21:44
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: SCI et PIT incompatible
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1924
Hors Ligne
Le code qui traite le PID (pas mis parce que trop long) peut aussi être sorti de l'it

Pour caricaturer : dans l'it tu mets à 1 un flag qui dit "c'est le top 10ms" et hop tu sors.

dans le main tu tournes en boucle à attendre que ce flag passe à 1 et quand c'est le cas tu fais ton traitement, du coup hors it.
ton traitement se fera toujours pareil toutes les 10ms sauf que l'it PIT durera 1 nano seconde plutôt que quelques ms si ce n'est plus...
Ton traitement peut alors durer 9.9ms ca ne gènera pas les autres it, celles de la SCI en l'occurrence.

L'idée de dinastar a des grosses limites
>déjà désactiver l'it pit quand tu rentres dans l'it SCI n’empêchera pas le PIT de gêner la SCI quand tu rentreras dans l'IT PIT
>ensuite avoir des It SCI d'un coté et de l'autre des it PIT qui elles même attendent des choses venant de la SCI c'est tellement enchevêtré que ça fait mal aux cheveux.

Posté le : 21/09/2016 22:57
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: SCI et PIT incompatible
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 536
Hors Ligne
Pourquoi, dans ton ISR PIT, ne pas mettre une condition de test au lieu du while avec éventuellement une variable d'état contenant la valeur précédente (moteur) ?
De ce fait, si la condition est fausse (par ex. une valeur différente), tu traites et tu sors, ce ne sera pas très long . Si elle est vraie (un valeur inchangée), tu sort direct et tu ne traines pas dans l'ISR du PIT.

Après coté SCI, je pense que tu as quand même beaucoup de temps pour recevoir quelques données en 10ms.

David, j'essaye de résonner avec sa structure de programme, pour ne pas tout refaire de suite. Je ne vois pas ce qui te dérange dans le fait de désactiver provisoirement l'IT PIT pendant la réception d'un seul caractère, et seulement si ça tombe au top des 10ms.
Cela n'empêchera pas, à mon sens, au flag d'IT PIT de passer à 1, et de basculer réellement dans cette IT dés réactivation.

Qu'en penses-tu ?

Après oui, c'est un contournement de problème ...

Posté le : 22/09/2016 11:56
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: SCI et PIT incompatible
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1924
Hors Ligne
parce que c'est l'it pit qui gène la SCI et pas l'inverse d’après ce qu'il nous dit.

Si une variable peut être modifiée sous it et autrepart il suffit de désactiver les it avant de la modifier dans le main et de réactiver les it après. Ainsi aucun risque de voir la valeur modifiée par l'it pendant sa modif dans le main.

Une it rapide ça fait respirer une application en introduisant de l'asynchrone alors qu'une it super longue c'est un rocher au milieu de la route.


Posté le : 22/09/2016 15:24
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: SCI et PIT incompatible
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 536
Hors Ligne
Citation :
parce que c'est l'it pit qui gène la SCI et pas l'inverse d’après ce qu'il nous dit


Et non justement, car la SCI est également sous IT

Posté le : 22/09/2016 17:02
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: SCI et PIT incompatible
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1924
Hors Ligne
ben oui mais si t'es dans l'it SCI c'est que le PIT t'a pas géné... donc le bloquer là ça sert à quoi ?

Posté le : 22/09/2016 17:37
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: SCI et PIT incompatible
Régulier
Inscrit:
23/10/2012 16:36
Messages: 60
Hors Ligne
Salut et merci pour votre aide.

J'ai enlevé les while dans l'it sci et pit. Résultats toujours identiques. Du coup j'ai décidé de repartir de 0. Et de copier les parties sci et pit pour essayer d'isoler le problème. Je vous dit si ça marche mieux ce soir.

Posté le : 23/09/2016 10:32
Transférer la contribution vers d'autres applications Transférer


Re: SCI et PIT incompatible
Régulier
Inscrit:
23/10/2012 16:36
Messages: 60
Hors Ligne
Salut,

J'avais recopié le code au début et j'avais toujours le même problème. J'ai repris la gestion du buffer et fait comme tu m'avais conseillé Charly pour le PIT.
Après quelques synchronisations, le programme c'est mis à fonctionner avec le programme JAVA. J'ai testé 3 fois et j'ai eu aucun problème. Reste plus qu'à ajouter le moteur cc et le codeur pour retesté le programme. :D, je suis super content car cela faisait un long moment que j'avais mis cette carte de côté. Je vais pouvoir continuer en réalisant mon petit robot.

Je reviendrais vers vous si jamais j'ai d'autres problèmes car je compte rajouter d'autres fonctions à cette carte.

Merci ;)

Posté le : 25/09/2016 22:55
Transférer la contribution vers d'autres applications Transférer


Re: SCI et PIT incompatible
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 536
Hors Ligne
Cool !

ça fait du bien quand les problèmes disparaissent

Posté le : 26/09/2016 11:40
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant
« 1 (2)



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

SCI et PIT incompatible [Forums - HC12 et S12]