配置 PWM ADC LCD

This commit is contained in:
2026-07-14 17:51:39 +08:00
parent 0a5c478a42
commit 2d0d000a38
67 changed files with 33357 additions and 911 deletions

View File

@@ -117,6 +117,33 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/* 引入标准输入输出头文件包含fputc函数原型和FILE类型定义 */
#include <stdio.h>
/* 禁用半主机模式
* 不勾选MicroLIB时标准库默认使用半主机(Semihosting)实现printf。
* 半主机需要调试器支持,脱机运行时会导致程序卡死。
* __use_no_semihosting 让链接器不链接半主机相关函数,
* 同时我们必须提供_sys_exit等替代函数。
*/
#pragma import(__use_no_semihosting)
/* 标准库要求提供 __FILE 结构体定义和 __stdout 实例 */
struct __FILE {
int handle;
};
FILE __stdout;
/* 退出函数 — 标准库在用完 _sys_exit 后调用,此处空实现 */
void _sys_exit(int return_code)
{
(void)return_code;
while (1);
}
/* 写字符 — 底层 tty 输出钩子,供某些 stdio 函数调用 */
void _ttywrch(int ch)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
}
/**
* @brief 重定向fputc函数将printf输出重定向到串口1
* @param ch: 要发送的字符
@@ -127,16 +154,16 @@ int fputc(int ch, FILE *f)
{
/* 消除未使用参数f的编译警告 */
(void)f;
/* 调用HAL库串口发送函数发送单个字符 */
/* 参数说明:
&huart1: 串口1的句柄若使用其他串口改为对应的句柄如&huart2
(uint8_t *)&ch: 要发送的数据缓冲区地址
1: 发送数据的长度(单个字符)
HAL_MAX_DELAY: 超时时间(无限等待,确保发送成)
HAL_MAX_DELAY: 超时时间(无限等待,确保发送成
*/
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
/* 返回发送的字符符合fputc函数的返回值要求 */
return ch;
}