Temps-x a écrit :Vu la vitesse ou tourne ton microcontrôleur(64Mhz) tu peux sans aucun problème lui faire tout faire, il faut juste les faire dans un bon ordre.
64/4=16MHz effectif 0.0625µS/cycle
inserer tous les traitements dans les gaps de 4mS - traitement raffraichissement affichage 7 segm => reste 3.6mS
ça fait effectivement 3600µS / 0.0625 => 57600 cycles - traitement duree interruption
- traitement RX UART interrupt
mais les repartir entre toutes les autres taches !!!
sinon interrupt toutes les mS .. et une machine d'etat
avec des traitement qui doivent etre inferieur à la ms ..
revient à faire un OS temps réel .. mais l'OS lui meme bouffe une grosse partie des ressources ..
je pense que ce serait possible , mais avec un affichage Fixe des messages sur les 12 matrices.
rafraichit chaque seconde
par contre
avec le mode defilant .. les 96 colonnes à rafraichir en SPI bit Bang + decalage ASM 96 bits + timing mini à respecter
tout en gardant la synchro des 6 afficheurs ( Interrupt TMR2 chaque 4mS)
+ le ruban 60 leds RGB en SPI2 chaque seconde (envoi de 2x 1480 bytes! avec respect du timming )
+ l'I2C RTC chaque seconde
+ UART en emission chaque seconde
(et Reception RX interrupt qui a besoin d'une fenetre temporelle pour pouvoir recevoir 3 à 63 caracteres )
+ 2 mesures OWS
ça commence à faire beaucoup , surtout pour imbriquer / synchroniser le tout
possible ? ..
mais pas pour moi , prise de tete pour economiser un MCU ?
à moins de découvrir une idée fulmineuse ?
le projet actuel
liaison d'info entre les 2 MCU
en I2C ou via UART
le MCU#1 recoit uniquement sur son RX UART ( MCU #2 envoi l'info HHMMSS sur le MCU Aff 7 segm) chaque seconde
en meme temps que sur la liaison BlueTooth