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