#include "board_uart.h" // ³õʼ»¯UART void uart_init() { UART1_DeInit(); UART1_Init((uint32_t)115200, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE); } // ͨ¹ýUART·¢Ë͵¥¸ö×Ö·û void uart_send_char(char c) { while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET); UART1_SendData8(c); } // ͨ¹ýUART·¢ËÍ×Ö·û´® void uart_send_string(const char *str) { while (*str) { uart_send_char(*str++); } } // ͨ¹ýUART·¢ËÍÊ®Áù½øÖÆÊý£¬´ø0xǰ׺ºÍ»»ÐÐ void uart_send_hex(uint32_t num) { const char *hex_digits = "0123456789ABCDEF"; int leading_zero = 1; // ÓÃÓÚÌø¹ýǰµ¼ÁãµÄ±êÖ¾ int i; uart_send_string("0x"); // ·¢ËÍ0xǰ׺ for (i = 28; i >= 0; i -= 4) { char digit = hex_digits[(num >> i) & 0xF]; if (digit != '0' || !leading_zero || i == 0) { leading_zero = 0; // Óöµ½µÚÒ»¸ö·ÇÁã×Ö·ûºó£¬Í£Ö¹Ìø¹ýǰµ¼Áã uart_send_char(digit); } } uart_send_char('\r'); uart_send_char('\n'); }