Цитата(AHTOXA @ Dec 27 2010, 15:08)

Из отсутствующих (младших) битов приоритета читаются нули. Поэтому при дефолтном нуле в SCB->AIRCR имеем 4 бита (16 уровней) preemption и ноль уровней subpriority.
Код
#define NVIC_PriorityGroup_0 ((uint32_t)0x700) /*!< 0 bits for pre-emption priority
4 bits for subpriority */
#define NVIC_PriorityGroup_1 ((uint32_t)0x600) /*!< 1 bits for pre-emption priority
3 bits for subpriority */
#define NVIC_PriorityGroup_2 ((uint32_t)0x500) /*!< 2 bits for pre-emption priority
2 bits for subpriority */
#define NVIC_PriorityGroup_3 ((uint32_t)0x400) /*!< 3 bits for pre-emption priority
1 bits for subpriority */
#define NVIC_PriorityGroup_4 ((uint32_t)0x300) /*!< 4 bits for pre-emption priority
0 bits for subpriority */
Я имею в виду, что все варианты - это не НУЛИ. А при старте в SCB->AIRCR - НОЛЬ. наеврное я торможу, не понимаю.
Ну когда я назначаю например NVIC_PriorityGroup_4, то в общем то так же все и работает, просто не понятно почему так, а не начиная с НУЛЯ сделали?