From 94101a2cd9baed60360f68096033dc75cbb1dcb3 Mon Sep 17 00:00:00 2001
From: android <android@lingyun.com>
Date: Wed, 10 Jul 2024 19:27:36 +0800
Subject: [PATCH] Add STM8S003F3 eDP LCD drvier

---
 mcu_sdk/stm8s003f3_edp/Libraries/STM8S_StdPeriph_Driver/src/board_uart.c |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/mcu_sdk/stm8s003f3_edp/Libraries/STM8S_StdPeriph_Driver/src/board_uart.c b/mcu_sdk/stm8s003f3_edp/Libraries/STM8S_StdPeriph_Driver/src/board_uart.c
new file mode 100644
index 0000000..f0e3dde
--- /dev/null
+++ b/mcu_sdk/stm8s003f3_edp/Libraries/STM8S_StdPeriph_Driver/src/board_uart.c
@@ -0,0 +1,41 @@
+#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');
+}
+

--
Gitblit v1.9.1