Pending register (EXTI_PR)

Регистр флага события на линии

Смещение (Address offset): 0x14

Reset value: 0x0000'0000

3130292827262524
Reserved
---
00000000
2322212019181716
Reserved TR19 TR18 TR17 TR16
---rwrwrwrw
00000000


15141312111098
TR15 TR14 TR13 TR12 TR11 TR10 TR9 TR8
rwrwrwrwrwrwrwrw
00000000
76543210
TR7 TR6 TR5 TR4 TR3 TR2 TR1 TR0
rwrwrwrwrwrwrwrw
00000000


Bits 31:20
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bits 19:0
PRx
Pending bit
Флаг события на линии

Бит устанавливается, когда на соответствующей линии обнаружено условие срабатывания триггера события / прерывания.

 0 :  нет условий срабатывания на линии

 1 :  обнаружено условие срабатывания

Бит очищается путём записи в него "1".

Бит должен быть очищен в обработчике прерывания, иначе произойдёт зацикливание.



//- stm32f10x.h

/*******************  Bit definition for EXTI_PR register  ********************/

#define  EXTI_PR_PR0       ((uint32_t)0x00000001)        /* Pending bit for line 0 */
#define  EXTI_PR_PR1       ((uint32_t)0x00000002)        /* Pending bit for line 1 */
#define  EXTI_PR_PR2       ((uint32_t)0x00000004)        /* Pending bit for line 2 */

#define  EXTI_PR_PR3       ((uint32_t)0x00000008)        /* Pending bit for line 3 */
#define  EXTI_PR_PR4       ((uint32_t)0x00000010)        /* Pending bit for line 4 */
#define  EXTI_PR_PR5       ((uint32_t)0x00000020)        /* Pending bit for line 5 */

#define  EXTI_PR_PR6       ((uint32_t)0x00000040)        /* Pending bit for line 6 */
#define  EXTI_PR_PR7       ((uint32_t)0x00000080)        /* Pending bit for line 7 */
#define  EXTI_PR_PR8       ((uint32_t)0x00000100)        /* Pending bit for line 8 */

#define  EXTI_PR_PR9       ((uint32_t)0x00000200)        /* Pending bit for line 9 */
#define  EXTI_PR_PR10      ((uint32_t)0x00000400)        /* Pending bit for line 10 */
#define  EXTI_PR_PR11      ((uint32_t)0x00000800)        /* Pending bit for line 11 */

#define  EXTI_PR_PR12      ((uint32_t)0x00001000)        /* Pending bit for line 12 */
#define  EXTI_PR_PR13      ((uint32_t)0x00002000)        /* Pending bit for line 13 */
#define  EXTI_PR_PR14      ((uint32_t)0x00004000)        /* Pending bit for line 14 */

#define  EXTI_PR_PR15      ((uint32_t)0x00008000)        /* Pending bit for line 15 */
#define  EXTI_PR_PR16      ((uint32_t)0x00010000)        /* Pending bit for line 16 */
#define  EXTI_PR_PR17      ((uint32_t)0x00020000)        /* Pending bit for line 17 */

#define  EXTI_PR_PR18      ((uint32_t)0x00040000)        /* Pending bit for line 18 */
#define  EXTI_PR_PR19      ((uint32_t)0x00080000)        /* Pending bit for line 19 */