Влад

Results 4 issues of Влад

Fixes #499 Fixed `VectActive::from(u8)` now returns correct value for Interrupt variant Refactored `SCB::vect_active()` to use `VectActive::from(u8)` and get rid of code duplication

I discovered this bug accidentally while working with SCB and exceptions. `cortex_m::peripheral::scb::VectActive::from()` function returns incorrect value, which is 16 higher than the expected value. (in case when `VectActive` is `VectActive::Interrupt`....

During testing, I took example code `sd.rs` and launched it on my STM32F401RET Nucleo board. In debug mode it stuck on first read_block function call in debug mode, but works...

The core idea of a mutex is to make `!Sync` types `Sync`. This is exactly what this line does https://github.com/rust-embedded/critical-section/blob/3a328a84040b721034a1b084e4a9dea8218a90f8/src/mutex.rs#L191 `!Sync` type == cannot function properly when used concurrently behind...