Software interrupt event register (EXTI_SWIER))
Регистр программного вызова прерывания
Смещение (Address offset): 0x10
Reset value: 0x0000'0000
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| Reserved | |||||||
| --- | |||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | SWIER19 | SWIER18 | SWIER17 | SWIER16 | |||
| --- | rw | rw | rw | rw | |||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| SWIER15 | SWIER14 | SWIER13 | SWIER12 | SWIER11 | SWIER10 | SWIER9 | SWIER8 |
| rw | rw | rw | rw | rw | rw | rw | rw |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SWIER7 | SWIER6 | SWIER5 | SWIER4 | SWIER3 | SWIER2 | SWIER1 | SWIER0 |
| rw | rw | rw | rw | rw | rw | rw | rw |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bits 31:20
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bits 19:0
SWIERx
Software interrupt on line X
Программное прерывание на линии X
Если в регистре EXTI_IMR разрешено прерывание на линии, то переключение бита с "0" на "1" установит соответствующий флаг в регистре EXTI_PR и вызовет запрос на прерывание.
Бит очищается при очистке соответствующего флага в регистре EXTI_PR (при записи в него "1").
Бит 19 используется только в CL-устройствах (Connectivity Line).
//- stm32f10x.h
/****************** Bit definition for EXTI_SWIER register ******************/
#define EXTI_SWIER_SWIER0 ((uint32_t)0x00000001) /* Software Interrupt on line 0 */
#define EXTI_SWIER_SWIER1 ((uint32_t)0x00000002) /* Software Interrupt on line 1 */
#define EXTI_SWIER_SWIER2 ((uint32_t)0x00000004) /* Software Interrupt on line 2 */
#define EXTI_SWIER_SWIER3 ((uint32_t)0x00000008) /* Software Interrupt on line 3 */
#define EXTI_SWIER_SWIER4 ((uint32_t)0x00000010) /* Software Interrupt on line 4 */
#define EXTI_SWIER_SWIER5 ((uint32_t)0x00000020) /* Software Interrupt on line 5 */
#define EXTI_SWIER_SWIER6 ((uint32_t)0x00000040) /* Software Interrupt on line 6 */
#define EXTI_SWIER_SWIER7 ((uint32_t)0x00000080) /* Software Interrupt on line 7 */
#define EXTI_SWIER_SWIER8 ((uint32_t)0x00000100) /* Software Interrupt on line 8 */
#define EXTI_SWIER_SWIER9 ((uint32_t)0x00000200) /* Software Interrupt on line 9 */
#define EXTI_SWIER_SWIER10 ((uint32_t)0x00000400) /* Software Interrupt on line 10 */
#define EXTI_SWIER_SWIER11 ((uint32_t)0x00000800) /* Software Interrupt on line 11 */
#define EXTI_SWIER_SWIER12 ((uint32_t)0x00001000) /* Software Interrupt on line 12 */
#define EXTI_SWIER_SWIER13 ((uint32_t)0x00002000) /* Software Interrupt on line 13 */
#define EXTI_SWIER_SWIER14 ((uint32_t)0x00004000) /* Software Interrupt on line 14 */
#define EXTI_SWIER_SWIER15 ((uint32_t)0x00008000) /* Software Interrupt on line 15 */
#define EXTI_SWIER_SWIER16 ((uint32_t)0x00010000) /* Software Interrupt on line 16 */
#define EXTI_SWIER_SWIER17 ((uint32_t)0x00020000) /* Software Interrupt on line 17 */
#define EXTI_SWIER_SWIER18 ((uint32_t)0x00040000) /* Software Interrupt on line 18 */
#define EXTI_SWIER_SWIER19 ((uint32_t)0x00080000) /* Software Interrupt on line 19 */