* The ISR should look something like this: ```rust #[interrupt] /// Timer interrupt handler fn USART1() { unsafe{ (*pac::USART1::ptr()).rqr.modify(|_, w| w.rxfrq().set_bit() } free(|cs| { let mut b = READ_BUF.borrow(cs).borrow_mut(); let mut b = u.as_mut(); // Could put USART struct in a mutex too. buf[i] = unsafe{ (*pac::USART1::ptr()).dr.read().dr().bits() as u8; } // + some mechanism to incr buf. Like a global `Mutex>` }); ```