pub fn from_addr(addr: usize) -> Option<Self> {
        if let Some(offset) = addr.checked_sub(FLASH_START) {
            Self::from_byte_offset(offset)
        } else {
            None
        }
    }
/// Create a page address from an absolute address.
///
/// Returns `None` if the address is out of bounds, or not page aligned.
///
/// # Example
///
/// ```no_run
/// use stm32wlxx_hal::flash::Page;
///
/// assert_eq!(Page::from_addr(0x0800_0000), Page::from_index(0));
/// assert_eq!(Page::from_addr(0x0800_0800), Page::from_index(1));
/// assert!(Page::from_addr(0).is_none());
/// assert!(Page::from_addr(usize::MAX).is_none());
/// assert!(Page::from_addr(0x0800_0001).is_none());
/// ```
Create a page address from an absolute address.
Returns `None` if the address is out of bounds, or not page aligned.
Create a page address from an absolute address . Returns ` None ` if the address is out of bounds or not page aligned .
pub fn from_addr(addr: usize) -> Option<Self> {
        if let Some(offset) = addr.checked_sub(FLASH_START) {
            Self::from_byte_offset(offset)
        } else {
            None
        }
    }
pub fn from_addr ( addr : usize ) -> Option < Self > { if let Some ( offset ) = addr . checked_sub ( FLASH_START ) { Self :: from_byte_offset ( offset ) } else { None } }
Create a page address from an absolute address.
Create a page address from an absolute address .
addr
usize
example
```no_run
use stm32wlxx_hal::flash::Page.


` ` ` no_run use stm32wlxx_hal :: flash :: Page .