pub struct Config {
pub source: ClockSource,
pub frequency: u32,
}Fields§
§source: ClockSource§frequency: u32Implementations§
Source§impl Config
impl Config
Sourcepub const fn default() -> Self
pub const fn default() -> Self
Examples found in repository?
examples/tsense.rs (line 21)
15pub extern "C" fn main() -> ! {
16 let peripherals = Peripherals::take().unwrap();
17
18 let rcc_config = RCC::default();
19 RCC::init(&rcc_config);
20
21 let sensor_config = Config::default()
22 .clock_from_source(ClockSource::HSI32M)
23 .with_frequency(SENSOR_CLOCK_HZ);
24
25 let mut sensor = TSENS::new(peripherals.tsens, &rcc_config.clocks, sensor_config).unwrap();
26
27 let mut current_temperature_c = sensor.single_measurement(Some(STARTUP_TIMEOUT)).unwrap();
28 let mut min_temperature_c = current_temperature_c;
29 let mut max_temperature_c = current_temperature_c;
30
31 sensor.start_continuous();
32
33 loop {
34 current_temperature_c = sensor.get_temperature();
35
36 if current_temperature_c < min_temperature_c {
37 min_temperature_c = current_temperature_c;
38 }
39
40 if current_temperature_c > max_temperature_c {
41 max_temperature_c = current_temperature_c;
42 }
43
44 let _temperature_snapshot = (current_temperature_c, min_temperature_c, max_temperature_c);
45
46 delay(SAMPLE_DELAY_SPINS);
47 }
48}Sourcepub fn clock_from_source(self, source: ClockSource) -> Self
pub fn clock_from_source(self, source: ClockSource) -> Self
Выбор источника тактирования термодатчика
§Arguments
source(ClockSource) - источник
§Returns
Self- объект конфигурации
§Examples
let _ = clock_from_source(ClockSource::OSC32K);Examples found in repository?
examples/tsense.rs (line 22)
15pub extern "C" fn main() -> ! {
16 let peripherals = Peripherals::take().unwrap();
17
18 let rcc_config = RCC::default();
19 RCC::init(&rcc_config);
20
21 let sensor_config = Config::default()
22 .clock_from_source(ClockSource::HSI32M)
23 .with_frequency(SENSOR_CLOCK_HZ);
24
25 let mut sensor = TSENS::new(peripherals.tsens, &rcc_config.clocks, sensor_config).unwrap();
26
27 let mut current_temperature_c = sensor.single_measurement(Some(STARTUP_TIMEOUT)).unwrap();
28 let mut min_temperature_c = current_temperature_c;
29 let mut max_temperature_c = current_temperature_c;
30
31 sensor.start_continuous();
32
33 loop {
34 current_temperature_c = sensor.get_temperature();
35
36 if current_temperature_c < min_temperature_c {
37 min_temperature_c = current_temperature_c;
38 }
39
40 if current_temperature_c > max_temperature_c {
41 max_temperature_c = current_temperature_c;
42 }
43
44 let _temperature_snapshot = (current_temperature_c, min_temperature_c, max_temperature_c);
45
46 delay(SAMPLE_DELAY_SPINS);
47 }
48}Sourcepub fn with_frequency(self, frequency: u32) -> Self
pub fn with_frequency(self, frequency: u32) -> Self
Установка частоты встроенного термодатчика
§Arguments
frequency(u32) - частота
§Returns
Self- объект конфигурации
§Examples
let _ = with_frequency(40_000u32);Examples found in repository?
examples/tsense.rs (line 23)
15pub extern "C" fn main() -> ! {
16 let peripherals = Peripherals::take().unwrap();
17
18 let rcc_config = RCC::default();
19 RCC::init(&rcc_config);
20
21 let sensor_config = Config::default()
22 .clock_from_source(ClockSource::HSI32M)
23 .with_frequency(SENSOR_CLOCK_HZ);
24
25 let mut sensor = TSENS::new(peripherals.tsens, &rcc_config.clocks, sensor_config).unwrap();
26
27 let mut current_temperature_c = sensor.single_measurement(Some(STARTUP_TIMEOUT)).unwrap();
28 let mut min_temperature_c = current_temperature_c;
29 let mut max_temperature_c = current_temperature_c;
30
31 sensor.start_continuous();
32
33 loop {
34 current_temperature_c = sensor.get_temperature();
35
36 if current_temperature_c < min_temperature_c {
37 min_temperature_c = current_temperature_c;
38 }
39
40 if current_temperature_c > max_temperature_c {
41 max_temperature_c = current_temperature_c;
42 }
43
44 let _temperature_snapshot = (current_temperature_c, min_temperature_c, max_temperature_c);
45
46 delay(SAMPLE_DELAY_SPINS);
47 }
48}Trait Implementations§
impl Copy for Config
impl Eq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more