AleaJactaEst
unread,Oct 12, 2012, 3:46:59 PM10/12/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to concours-li...@googlegroups.com
Bonjour,
Le problème était dans la gestion des interruptions.
Quand je réceptionné une interruption, je relancé mal la gestion celle-ci.
(les actions sont différentes suivant que l'on appuie ou pas sur l'écran)
Dans le cas de l'interruption INT_TC (79) [détection du changement d'état quand on appuie (ou pas) sur l'écran]
si on appuie sur l’écran
writel( readl( ptr_memory_adc + S3C2410_ADCCON ) | S3C2410_ADCCON_ENABLE_START , ptr_memory_adc + S3C2410_ADCCON ) ;
writel( S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST (0) , ptr_memory_adc + S3C2410_ADCTSC );
et sinon
writel(WAIT4INT(0), ptr_memory_adc+S3C2410_ADCTSC);
Dans le cas de l'interruption INT_ADC (80) [se déclenche quand la conversion est terminée]
si on appuie sur l’écran
writel( readl( ptr_memory_adc + S3C2410_ADCCON ) | S3C2410_ADCCON_ENABLE_START , ptr_memory_adc + S3C2410_ADCCON ) ;
writel( S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST (0) , ptr_memory_adc + S3C2410_ADCTSC );
et sinon
writel( WAIT4INT(0) , ptr_memory_adc + S3C2410_ADCTSC );
Remarque :
#define WAIT4INT(x) (((x)<<8) | \
S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
S3C2410_ADCTSC_XY_PST(3))
concernant l’initialisation des interruptions, les commandes envoyées précédemment sont correct.
(j'ai même essayé d'initialisation avec "writel(WAIT4INT(3), ptr_memory_adc+S3C2410_ADCTSC);", ... , ça marche aussi)
Pour l'instant, je n'ai pas encore affiché graphiquement le résultat (uniquement des messages de débogage), mais cela semble correct.
@+
AleaJactaEst