1234567891011121314151617181920212223242526 |
- #![allow(dead_code)]
- use core::ptr::{read_volatile, write_volatile};
- use crate::include::bindings::bindings::atomic_t;
- /// @brief 原子的读取指定的原子变量的值
- #[inline]
- pub fn atomic_read(ato: *const atomic_t) -> i64 {
- unsafe {
- return read_volatile(&(*ato).value);
- }
- }
- /// @brief 原子的设置原子变量的值
- #[inline]
- pub fn atomic_set(ato: *mut atomic_t, value:i64) {
- unsafe{
- write_volatile(&mut (*ato).value, value);
- }
- }
- impl Default for atomic_t {
- fn default() -> Self {
- Self { value: 0 }
- }
- }
|