STM32C5A3R开发.1--点亮LED概述视频教学样品申请源码下载硬件准备产品特性参考程序生成STM32CUBEMX2时钟树配置DEBUG配置LED配置生成项目导入STM32CubeIDE主程序概述STM32C5A3R SENSOR是一款基于STM32C5系列微控制器的评估套件。该微控制器采用了40nm工艺制造具有更快的FLASH访问更高的性能以及更低的功耗。此外该套件具有丰富的接口和外设以及传感器SENSOR系列连接器接口为开发者提供了便捷且灵活的开发环境。这里通过配置LED输出进行简单测试。需要样片的可以加群申请925643491 / 615061293 。视频教学bilibili.com/video/BV1SEKM69Eu4/样品申请https://www.wjx.top/vm/OhcKxJk.aspx#源码下载https://download.csdn.net/download/qq_24312945/93188776硬件准备首先需要准备一个开发板这里我准备的是自己绘制的开发板需要的可以进行申请。主控为STM32C5A3RGT6产品特性STM32C5A3xxx 系列器件是基于高性能 Arm® Cortex®-M33 32 位 RISC 内核的通用微控制器系列STM32C5 系列。它们的运行频率高达 144 MHz。Cortex® - M33 内核具有一个单精度浮点单元 (FPU)支持所有 Arm®单精度数据处理指令和所有数据类型。Cortex® - M33 内核还实现了一整套数字信号处理 (DSP) 指令和内存保护单元 (MPU)从而增强了应用程序的安全性。这些设备嵌入了高速存储器高达 1 Mbyte 闪存和 128 Kbyte SRAM、一个 Octo-SPI 存储器接口以及一系列增强型 I/O、外设这些外设连接到三个 APB 总线、三个 AHB 总线和一个 32 位多 AHB 总线矩阵。这些设备具有多种针对嵌入式闪存和 SRAM 的保护机制读取保护、写入保护和隐藏保护区域。这些设备内置多个外围设备以增强安全性● 哈希硬件加速器● 硬件唯一密钥 (HUK)● 真随机数生成器● 两个AES协处理器其中一个具有DPA抗性● 公钥加速器 (PKA)抗 DPA 攻击这些设备提供三个 12 位 ADC、一个 DAC 通道、一个比较器、一个低功耗 RTC、四个 32 位通用定时器、两个专用于电机控制的 16 位 PWM 定时器、四个 16 位通用定时器、两个 16 位基本定时器和一个 16 位低功耗定时器。这些设备还配备了标准和高级通信接口例如● 两个 I2C● 一个 I3C● 三个带复用全双工 I2S 的 SPI● 四个 USART、三个 UART 和一个低功耗 UART● 两个 FDCAN● 一个 USB 全速接口● 一个以太网 MAC 接口和一对以太网接口这些器件可在 -40 至 125 °C结温 140 °C的温度范围内工作电源电压为 2.7 至 3.6 V。一套全面的节能模式可用于设计低功耗应用。这些器件提供 32 至 144 引脚的多种封装规格。参考程序https://github.com/CoreMaker-lab/STM32C5A3R_SENSORhttps://gitee.com/CoreMaker/STM32C5A3R_SENSOR生成STM32CUBEMX2用STM32CUBEMX2生成例程这里使用MCU为STM32C5A3RGT6。打开 STM32CubeMX2 后进入 Home 首页点击 MCU基于具体芯片型号创建工程在 MCU name 中输入 STM32C5A3RGT6选择对应的 STM32C5 芯片型号后点击 Continue 进入下一步工程配置。填写工程名称和保存路径后点击 “Automatically Download, Install Create Project”STM32CubeMX2 会自动下载所需软件包并创建工程。STM32CubeMX2 提示 Project Successfully Created 后点击右下角 “Launch Project” 进入工程配置界面。时钟树配置点击左侧外设配置入口进入 Peripherals 配置界面在 System 分类下选择 RCC用于配置系统时钟源HSE Source 选择 Crystal/ceramic resonator启用外部高速晶振LSE Source 选择 Crystal/ceramic resonator启用外部低速晶振点击左侧 Clock 图标进入时钟树配置界面HSE OSC设置外部高速晶振频率这里配置为 24 MHzPSI Mux / PLL选择并配置 PLL 时钟源用于倍频生成系统主频System Mux选择系统时钟来源当前系统主频配置为 144 MHzDEBUG配置在 Peripherals 中选择 Cortex → DEBUG将 Mode 配置为 Single-wire trace asynchronous用于后续程序下载、在线调试和 Trace 调试功能。LED配置查看原理图对应LED分别为PA8PB14PB15。点击左侧 Pinout 图标进入芯片引脚配置界面根据 LED 原理图选择 PA8、PB14、PB15 三个引脚作为 GPIO 输出在右侧 Pin signals 中选择 GPIO并确认引脚状态为 Configured进入 Peripherals 外设配置页面选择 I/O → GPIO分别展开 PA8、PB14、PB15 三个 GPIO 引脚配置项为三个 LED 引脚添加 SW Label并将 Mode 设置为 Output生成项目修改配置后左下角会提示 Click to save需要先保存当前工程配置点击左侧 Project settings进入工程生成设置页面在 IDE Project Generation 中选择工程格式和工具链本例选择 CMake GCC然后点击 Generate IDE project 生成工程导入STM32CubeIDE打开 STM32CubeIDE点击菜单栏 File选择 Import…准备导入 STM32CubeMX2 生成的 CMake 工程在 Import 窗口中展开 Import STM32 Project选择 STM32 CMake Project点击 Next进入 CMake 工程路径选择页面Project name填写导入到 STM32CubeIDE 中显示的工程名称Source directory选择 STM32CubeMX2 生成的 CMake 工程目录点击 Next继续完成工程导入Toolchain选择 MCU ARM GCC表示使用 ARM GCC 工具链进行编译MCU确认芯片型号为 STM32C5A3RGTx与前面 STM32CubeMX2 中选择的 MCU 保持一致CPU/Core确认内核为 Cortex-M33Core 为 0点击 Finish完成 CMake 工程导入主程序在 Project Explorer 中打开 main.c 文件在 while(1) 主循环中添加 LED 控制代码使用 HAL_GPIO_TogglePin() 或 HAL_GPIO_WritePin() 实现 LED 闪烁底部 Console 显示 Download verified successfully说明程序已成功下载到开发板while(1){HAL_GPIO_TogglePin(HAL_GPIOB,HAL_GPIO_PIN_14);HAL_GPIO_TogglePin(HAL_GPIOB,HAL_GPIO_PIN_15);HAL_GPIO_TogglePin(HAL_GPIOA,HAL_GPIO_PIN_8);HAL_Delay(500);HAL_GPIO_TogglePin(HAL_GPIOB,HAL_GPIO_PIN_14);HAL_GPIO_TogglePin(HAL_GPIOB,HAL_GPIO_PIN_15);HAL_GPIO_TogglePin(HAL_GPIOA,HAL_GPIO_PIN_8);HAL_Delay(500);HAL_GPIO_WritePin(LED1_PORT,LED1_PIN,HAL_GPIO_PIN_SET);HAL_GPIO_WritePin(LED2_PORT,LED2_PIN,HAL_GPIO_PIN_SET);HAL_GPIO_WritePin(LED3_PORT,LED3_PIN,HAL_GPIO_PIN_SET);HAL_Delay(500);HAL_GPIO_WritePin(LED1_PORT,LED1_PIN,HAL_GPIO_PIN_RESET);HAL_GPIO_WritePin(LED2_PORT,LED2_PIN,HAL_GPIO_PIN_RESET);HAL_GPIO_WritePin(LED3_PORT,LED3_PIN,HAL_GPIO_PIN_RESET);HAL_Delay(500);}