BASEPRI, насколько я помню, маскирует прерывания с приоритетом ниже
указанного. На уже активное прерывание он не влияет. ARM пишет про
него такое: In some instances, you might want to disable exceptions with a priority lower than a specified level. In this case, you can use the BASEPRI register. To do this, write the required masking priority level to the BASEPRI register.
Народ пишет, что изменение приоритета исполняемого в данный момент прерывания (в регистрах SHPR/IPR), вроде как, работает. Но вот сам ARM такую идею с негодованием отвергает:
Modifying the priority of an exception while it is in active state can cause undesirable side effects. Software should not modify the priority of an exception whilst it is in active state.