cedric me fait changer un truc <3

This commit is contained in:
Yohan Boujon 2023-04-11 09:48:20 +02:00
parent 6e780d03a3
commit 91fbddca0d

View file

@ -67,9 +67,10 @@ Il faut tout d'abord activer l'interruption du côté du module et ensuite modif
La première est celle des prioritées, trouvable dans le [Manuel de Référence RM008](../assets/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf) page 197, la second e est l'ISER qui permet la réecriture des fonction d'IRQ trouvable dans le [Manuel de programmation PM0056](../assets/New_Programming_Manual_CortexM3.pdf) page 119.
```c
int iserRegister = 0; //A voir par rapport au manue lde reference RM008 -> emplacement de la table
uint32_t IRQNumber = GetInterruptNum(); //XXX_IRQn
NVIC->IP[IRQNumber] |= (Prio << 0x4);
NVIC->ISER[1] |= (0x1<<(IRQNumber-32));
NVIC->ISER[iserRegister] |= (0x1<<(IRQNumber-(32*iserRegister)));
```
Enfin, une fonction nommée XXX_IRQHandler sera appelée à l'interruption, il suffiera de réecrire cette dernière pour qu'elle soit active.
*NB : Il est important de remettre le flag d'interruption à 0 pour relancer ce dernier.*