max6675 library works
This commit is contained in:
parent
145d1f8ef9
commit
69ed2fc701
31
src/main.rs
31
src/main.rs
|
@ -32,9 +32,9 @@ fn configure_clocks(rcc: &mut rcc::RCC) {
|
|||
|
||||
rcc.clock_config
|
||||
.configure(|c| {
|
||||
c.set_pll_multiplier(10)
|
||||
.set_pll_source(rcc::PllSource::HsiDiv2)
|
||||
});
|
||||
c.set_pll_multiplier(10)
|
||||
.set_pll_source(rcc::PllSource::HsiDiv2)
|
||||
});
|
||||
|
||||
rcc.clock_control.set_pll_on(true);
|
||||
while !rcc.clock_control.pll_ready() {}
|
||||
|
@ -64,16 +64,17 @@ fn configure_peripherals(rcc: &mut hcl::platform::rcc::RCC,
|
|||
.set_output_config(7, gpio::OutputConfig::AfPushPull)
|
||||
// MISO1
|
||||
.set_mode(6, gpio::PinMode::Input)
|
||||
.set_input_config(6, gpio::InputConfig::PullUpDown)
|
||||
// NSS1
|
||||
.set_mode(4, gpio::PinMode::Output50MHz)
|
||||
.set_output_config(4, gpio::OutputConfig::PushPull)
|
||||
});
|
||||
|
||||
usart.configure(|u| {
|
||||
u.set_enabled(true)
|
||||
.set_tx_enabled(true)
|
||||
.set_baudgen((21, 11))
|
||||
}); // 115.2 kbaud
|
||||
u.set_enabled(true)
|
||||
.set_tx_enabled(true)
|
||||
.set_baudgen((21, 11))
|
||||
}); // 115.2 kbaud
|
||||
}
|
||||
|
||||
|
||||
|
@ -92,16 +93,18 @@ fn run(mut scs: scs::Instance, mut p: hcl::platform::Instance) {
|
|||
|
||||
|
||||
loop {
|
||||
for i in 0u16..0xffff {
|
||||
|
||||
let res = max6675::read(spi, gpio, 4);
|
||||
let res = max6675::read(spi, gpio, 4);
|
||||
|
||||
let msg = match res {
|
||||
Ok(temp) => format!("> {}\r\n", temp).into_bytes(),
|
||||
Err(err) => format!("Error > {}\r\n", err).into_bytes(),
|
||||
};
|
||||
let msg = match res {
|
||||
Ok(temp) => format!("> {}\r\n", temp).into_bytes(),
|
||||
Err(err) => format!("Error > {}\r\n", err).into_bytes(),
|
||||
};
|
||||
|
||||
printer.print(msg);
|
||||
printer.print(msg);
|
||||
|
||||
for y in 0u32..0xFFFFFF {
|
||||
unsafe { asm!("nop" :::: "volatile") };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,13 +11,15 @@ pub fn read<SPIAddr, GPIOAddr>(spi: &mut PeripheralRef<spi::SPI, SPIAddr>,
|
|||
GPIOAddr: Location
|
||||
{
|
||||
spi.configure(|s| {
|
||||
s.set_enabled(true)
|
||||
.set_master_mode(true)
|
||||
.set_software_slave_select(true)
|
||||
.set_clock_divider(128)
|
||||
.set_data_16bit(true)
|
||||
.set_clock_skip_first(true)
|
||||
});
|
||||
s.set_enabled(true)
|
||||
.set_master_mode(true)
|
||||
.set_software_slave_select(true)
|
||||
.set_clock_divider(128)
|
||||
.set_data_16bit(true)
|
||||
.set_clock_skip_first(true)
|
||||
// required for master mode, even if ss is done manually
|
||||
.set_slave_select_output_enabled(true)
|
||||
});
|
||||
|
||||
nss_gpio.reset_bit(nss_idx);
|
||||
|
||||
|
|
Loading…
Reference in New Issue