STM32F103C8T6实战:用串口打印验证你的MCU是小端还是大端(附完整代码)
刚拿到STM32开发板时,我总好奇那些十六进制数字在内存里是怎么排列的。直到有一次用串口调试助手看到内存数据,发现字节顺序和想象中完全相反,这才意识到字节序的重要性。今天我们就用最直接的方式——在STM32F103C8T6上运行一个简单实验,亲眼看看这个Cortex-M3内核的存储秘密。
1. 实验准备:搭建最小验证环境
1.1 硬件连接清单
- STM32F103C8T6开发板(蓝色小板即可)
- USB转TTL模块(CH340G或CP2102芯片)
- 杜邦线若干(TX/RX交叉连接)
注意:确保开发板的3.3V与串口模块电压匹配,避免烧毁设备
1.2 开发环境配置
推荐使用STM32CubeIDE完成基础配置:
c复制// 在CubeMX中开启USART1:
// 模式:Asynchronous
// 波特率:115200
// 字长:8 Bits
// 停止位:1
// 无校验
1.3 串口打印基础代码
先建立一个能打印信息的工程框架:
c复制#include "stm32f1xx_hal.h"
#include <stdio.h>
UART_HandleTypeDef huart1;
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);
// 重定向printf到串口
int _write(int file, char *ptr, int len) {
HAL_UART_Transmit(&huart1, (uint8_t*)ptr, len, HAL_MAX_DELAY);
return len;
}
int main(void) {
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART1_UART_Init();
printf("系统启动成功\r\n");
while (1);
}
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
