mirror of
https://github.com/italicsjenga/rp-hal-boards.git
synced 2025-01-23 09:46:33 +11:00
Migrated examples to the new uart system
This commit is contained in:
parent
c41c273131
commit
86444448a4
7 changed files with 37 additions and 23 deletions
|
@ -88,18 +88,20 @@ fn main() -> ! {
|
|||
&mut pac.RESETS,
|
||||
);
|
||||
|
||||
let mut uart = hal::uart::UartPeripheral::<_, _>::new(pac.UART0, &mut pac.RESETS)
|
||||
let uart_pins = (
|
||||
// UART TX (characters sent from RP2040) on pin 1 (GPIO0)
|
||||
pins.gpio0.into_mode::<hal::gpio::FunctionUart>(),
|
||||
// UART RX (characters reveived by RP2040) on pin 2 (GPIO1)
|
||||
pins.gpio1.into_mode::<hal::gpio::FunctionUart>(),
|
||||
);
|
||||
|
||||
let mut uart = hal::uart::UartPeripheral::new(pac.UART0, uart_pins, &mut pac.RESETS)
|
||||
.enable(
|
||||
hal::uart::common_configs::_115200_8_N_1,
|
||||
clocks.peripheral_clock.into(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
// UART TX (characters sent from RP2040) on pin 1 (GPIO0)
|
||||
let _tx_pin = pins.gpio0.into_mode::<hal::gpio::FunctionUart>();
|
||||
// UART RX (characters reveived by RP2040) on pin 2 (GPIO1)
|
||||
let _rx_pin = pins.gpio1.into_mode::<hal::gpio::FunctionUart>();
|
||||
|
||||
let (mut pio, sm0, _, _, _) = pac.PIO0.split(&mut pac.RESETS);
|
||||
|
||||
let mut i2c_pio = i2c_pio::I2C::new(
|
||||
|
|
|
@ -84,18 +84,20 @@ fn main() -> ! {
|
|||
&mut pac.RESETS,
|
||||
);
|
||||
|
||||
// UART TX (characters sent from pico) on pin 1 (GPIO0) and RX (on pin 2 (GPIO1)
|
||||
let uart_pins = (
|
||||
pins.gpio0.into_mode::<hal::gpio::FunctionUart>(),
|
||||
pins.gpio1.into_mode::<hal::gpio::FunctionUart>(),
|
||||
);
|
||||
|
||||
// Create a UART driver
|
||||
let mut uart = hal::uart::UartPeripheral::<_, _>::new(pac.UART0, &mut pac.RESETS)
|
||||
let mut uart = hal::uart::UartPeripheral::new(pac.UART0, uart_pins, &mut pac.RESETS)
|
||||
.enable(
|
||||
hal::uart::common_configs::_9600_8_N_1,
|
||||
clocks.peripheral_clock.into(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
// UART TX (characters sent from pico) on pin 1 (GPIO0) and RX (on pin 2 (GPIO1)
|
||||
let _tx_pin = pins.gpio0.into_mode::<hal::gpio::FunctionUart>();
|
||||
let _rx_pin = pins.gpio1.into_mode::<hal::gpio::FunctionUart>();
|
||||
|
||||
// Write to the UART
|
||||
uart.write_full_blocking(b"ADC example\r\n");
|
||||
|
||||
|
|
|
@ -80,18 +80,19 @@ fn main() -> ! {
|
|||
&mut pac.RESETS,
|
||||
);
|
||||
|
||||
let mut uart = hal::uart::UartPeripheral::<_, _>::new(pac.UART0, &mut pac.RESETS)
|
||||
let uart_pins = (
|
||||
// UART TX (characters sent from RP2040) on pin 1 (GPIO0)
|
||||
pins.gpio0.into_mode::<hal::gpio::FunctionUart>(),
|
||||
// UART RX (characters reveived by RP2040) on pin 2 (GPIO1)
|
||||
pins.gpio1.into_mode::<hal::gpio::FunctionUart>(),
|
||||
);
|
||||
let mut uart = hal::uart::UartPeripheral::new(pac.UART0, uart_pins, &mut pac.RESETS)
|
||||
.enable(
|
||||
hal::uart::common_configs::_9600_8_N_1,
|
||||
clocks.peripheral_clock.into(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
// UART TX (characters sent from RP2040) on pin 1 (GPIO0)
|
||||
let _tx_pin = pins.gpio0.into_mode::<hal::gpio::FunctionUart>();
|
||||
// UART RX (characters reveived by RP2040) on pin 2 (GPIO1)
|
||||
let _rx_pin = pins.gpio1.into_mode::<hal::gpio::FunctionUart>();
|
||||
|
||||
writeln!(uart, "ROM Copyright: {}", hal::rom_data::copyright_string()).unwrap();
|
||||
writeln!(
|
||||
uart,
|
||||
|
|
|
@ -82,18 +82,19 @@ fn main() -> ! {
|
|||
&mut pac.RESETS,
|
||||
);
|
||||
|
||||
let mut uart = hal::uart::UartPeripheral::<_, _>::new(pac.UART0, &mut pac.RESETS)
|
||||
let uart_pins = (
|
||||
// UART TX (characters sent from RP2040) on pin 1 (GPIO0)
|
||||
pins.gpio0.into_mode::<hal::gpio::FunctionUart>(),
|
||||
// UART RX (characters reveived by RP2040) on pin 2 (GPIO1)
|
||||
pins.gpio1.into_mode::<hal::gpio::FunctionUart>(),
|
||||
);
|
||||
let mut uart = hal::uart::UartPeripheral::new(pac.UART0, uart_pins, &mut pac.RESETS)
|
||||
.enable(
|
||||
hal::uart::common_configs::_9600_8_N_1,
|
||||
clocks.peripheral_clock.into(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
// UART TX (characters sent from RP2040) on pin 1 (GPIO0)
|
||||
let _tx_pin = pins.gpio0.into_mode::<hal::gpio::FunctionUart>();
|
||||
// UART RX (characters reveived by RP2040) on pin 2 (GPIO1)
|
||||
let _rx_pin = pins.gpio1.into_mode::<hal::gpio::FunctionUart>();
|
||||
|
||||
uart.write_full_blocking(b"UART example\r\n");
|
||||
|
||||
let mut value = 0u32;
|
||||
|
|
|
@ -173,6 +173,8 @@ impl<D: UartDevice, P: ValidUartPinout<D>> UartPeripheral<Enabled, D, P> {
|
|||
/// Join the reader and writer halves together back into the original Uart peripheral.
|
||||
///
|
||||
/// A reader/writer pair can be obtained by calling [`split`].
|
||||
///
|
||||
/// [`split`]: #method.split
|
||||
pub fn join(reader: Reader<D, P>, writer: Writer<D, P>) -> Self {
|
||||
let _ = writer;
|
||||
Self {
|
||||
|
|
|
@ -118,6 +118,9 @@ pub(crate) fn read_full_blocking<D: UartDevice>(
|
|||
}
|
||||
|
||||
/// Half of an [`UartPeripheral`] that is only capable of reading. Obtained by calling [`UartPeripheral::split()`]
|
||||
///
|
||||
/// [`UartPeripheral`]: struct.UartPeripheral.html
|
||||
/// [`UartPeripheral::split()`]: struct.UartPeripheral.html#method.split
|
||||
pub struct Reader<D: UartDevice, P: ValidUartPinout<D>> {
|
||||
pub(super) device: D,
|
||||
pub(super) pins: P,
|
||||
|
|
|
@ -58,6 +58,9 @@ pub(crate) fn write_full_blocking(rb: &RegisterBlock, data: &[u8]) {
|
|||
}
|
||||
|
||||
/// Half of an [`UartPeripheral`] that is only capable of writing. Obtained by calling [`UartPeripheral::split()`]
|
||||
///
|
||||
/// [`UartPeripheral`]: struct.UartPeripheral.html
|
||||
/// [`UartPeripheral::split()`]: struct.UartPeripheral.html#method.split
|
||||
pub struct Writer<D: UartDevice, P: ValidUartPinout<D>> {
|
||||
pub(super) device: &'static RegisterBlock,
|
||||
pub(super) device_marker: PhantomData<D>,
|
||||
|
|
Loading…
Add table
Reference in a new issue