#![no_std] #![no_main] use arduino_uno::{adc::{Adc, AdcSettings}, hal::{clock::MHz16, port::{mode::{Floating, Input, Output}, portd::{PD0, PD1}}, usart::Usart}, pac::USART0, prelude::*}; use panic_halt as _; type _Serial = Usart>, PD1, MHz16>; #[arduino_uno::entry] fn main() -> ! { let dp = arduino_uno::Peripherals::take().unwrap(); let mut pins = arduino_uno::Pins::new(dp.PORTB, dp.PORTC, dp.PORTD); let mut led = pins.d13.into_output(&mut pins.ddr); led.set_low().void_unwrap(); let mut serial = arduino_uno::Serial::new( dp.USART0, pins.d0, pins.d1.into_output(&mut pins.ddr), 57600.into_baudrate(), ); let mut adc = Adc::new(dp.ADC, AdcSettings::default()); let mut a0 = pins.a0.into_analog_input(&mut adc); let mut a1 = pins.a1.into_analog_input(&mut adc); let mut a2 = pins.a2.into_analog_input(&mut adc); loop { let a0: u16 = nb::block!(adc.read(&mut a0)).void_unwrap(); let a1: u16 = nb::block!(adc.read(&mut a1)).void_unwrap(); let a2: u16 = nb::block!(adc.read(&mut a2)).void_unwrap(); // let b = nb::block!(serial.read()).void_unwrap(); match serial.read() { Ok(_) => (), Err(_) => (), } arduino_uno::delay_ms(100); } }