void __irq_usart3(void) { digitalWrite(33,HIGH); delay(20); digitalWrite(33,LOW); } void setup() { pinMode(33,OUTPUT); USART3->regs->BRR = 0x120; // Baud Rate Register USART3->regs->CR1 = USART_CR1_TE | USART_CR1_RE | USART_CR1_RXNEIE; USART3->regs->CR1 |= USART_CR1_UE; USART3->regs->CR2 = 0b0010000000100000; // CR 2 USART3->regs->CR3 = 0x0000; // CR 3 nvic_irq_enable(NVIC_USART3); rcc_clk_enable(RCC_USART3); } void loop() { digitalWrite(33,HIGH); delay(200); digitalWrite(33,LOW); delay(1000); }