阿波罗学习--day1

一、学习任务:H7芯片整体框架对比F1/F4

  1. H743IIT6参数:Cortex-M7内核、双精度FPU、640KB SRAM、1MB Flash、主频480MHz
  2. 时钟树完整梳理:HSI/HSE/PLL1/PLL2/PLL3,各外设独立时钟域(LTDC、ETH、SDMMC独立PLL)
  3. CubeMX配置H7最高480MHz主频,解决超频、时钟不稳定报错 实操:新建工程,配置系统时钟,打印主频验证

二、 芯片核心参数认知

  • 芯片型号:STM32H743IIT6
  • 内核:Cortex‑M7,支持双精度硬件 FPU(F1/F4 仅单精度或无 FPU)
  • 存储:1MB 片内 Flash、总计 640KB 分区式 SRAM(ITCM/DTCM/AXI 多块 RAM,F1/F4 为整块统一 SRAM)
  • 最大主频:480MHz(F1 最高 72MHz、F4 最高 168MHz)
  • 核心优势:硬件图形加速器 DMA2D、独立 LTDC 液晶控制器、SDMMC 高速 SD 卡、ETH 以太网、CAN FD、SAI 音频外设。

F7系统架构

H7系统架构

主设备:18

从设备:20

三个锁相环使用场景

锁相环 核心用途 典型挂载外设 核心优势
PLL1 系统内核 + 通用外设 M7 内核、USART、SPI、ADC、普通 TIM 整机运行基础,所有基础外设依赖
PLL2 高速存储、USB、通信 SDMMC2、OTG_HS、QSPI、FMC 高速数据传输,不占用系统 PLL 带宽
PLL3 多媒体图像、音频 LTDC 液晶屏、SAI/I2S 音频 独立时钟域,音画稳定,无撕裂爆音

三、CubeMX配置

解决USART1自动分配到PB14/PB15,切换为PA9(TX)/PA10(RX)操作步骤

问题原因

STM32H743的USART1有多组复用引脚,CubeMX默认选中了PB14/PB15复用通道,需要手动切换到PA9/PA10通道。

分步修改操作

步骤1:清除当前PB引脚复用配置

  1. 在右侧芯片引脚图,右键绿色高亮的 PB14(USART1_TX) → 选择 Reset pin state

  2. 右键绿色高亮的 PB15(USART1_RX) → 选择 Reset pin state 两个引脚会变回灰色未使用状态。

步骤2:手动分配PA9、PA10给USART1

  1. 找到引脚 PA9,左键单击,在弹出复用列表选择:USART1_TX

  2. 找到引脚 PA10,左键单击,在弹出复用列表选择:USART1_RX 完成后PA9、PA10会变成绿色,标注USART1_TX/RX。

步骤3:核对GPIO参数(自动生成,可手动确认)

切换顶部标签栏到 GPIO Settings

  • PA9(USART1_TX): GPIO mode:Alternate Function Push pull GPIO pull-up/pull-down:No pull-up and no pull-down Maximum output speed:High speed

  • PA10(USART1_RX): GPIO mode:Alternate Function Push pull GPIO pull-up/pull-down:Pull-up(推荐,防止浮空乱接收) Maximum output speed:High speed

步骤4:确认USART1参数不变

当前Parameter Settings配置完全兼容PA9/PA10,无需修改:

  • Data Direction:Receive and Transmit

  • Over Sampling:16 Samples

  • ClockPrescaler:1

  • Fifo Mode:Disable

步骤5(可选)开启串口中断

切换 NVIC Settings,勾选 USART1 global interrupt,用于接收中断处理。

补充说明

  1. USART1复用通道对照表(H743IIT6)

    • 通道1:PA9(TX) / PA10(RX) 【你需要的调试串口引脚】

    • 通道2:PB14(TX) / PB15(RX) 【当前自动选中的引脚】

  2. 时钟不改动:USART1挂载APB2总线,480MHz系统时钟下APB2分频/2,240MHz,波特率115200无误差。

  3. 生成代码后,huart1 句柄不变,之前的printf重定向、收发代码无需修改。

快速校验

操作完成后右侧引脚图PA9、PA10绿色高亮,PB14/PB15灰色,即可生成工程测试。

实验成果

相关推荐
Zw-awa15 小时前
MPU6050:从原始加速度到姿态变化
stm32
少司府16 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
Zwawa19 小时前
让屏幕动起来:OLED动画效果,丝滑光标、帧动画和一只贪吃蛇
c语言·单片机·嵌入式
简单电磁炮20 小时前
FWD八位单片机调试问题
单片机·嵌入式硬件
菥蓂寻生1 天前
STM32移植到GD32中以105为例
stm32·单片机·嵌入式硬件
Zw-awa1 天前
让屏幕动起来:OLED动画效果,丝滑光标、帧动画和一只贪吃蛇
stm32
橘为己有4412 天前
51单片机:定时/计数器
单片机·51单片机
杯子不吃紫菜2 天前
LangGraph 体系实战(下):中断恢复、流式、子图与设计模式
单片机·嵌入式硬件·设计模式
Risehuxyc2 天前
STM32程序逻辑---入口函数逻辑和NVIC嵌套向量中断控制器初始化
stm32·单片机·嵌入式硬件
【 STM32开发 】2 天前
CubeMX+STM32】SD卡U盘实现__USB+FATFS (F103 篇)
stm32·单片机·嵌入式硬件