STM32C552开发(1)----点亮LED
STM32C552开发.1--点亮LED概述视频教学样品申请源码下载硬件准备产品特性参考程序生成STM32CUBEMX2时钟树配置DEBUG配置LED配置生成项目导入STM32CubeIDE主程序概述STM32C552 SENSOR是一款基于STM32C5系列微控制器的评估套件。该微控制器采用了40nm工艺制造具有更快的FLASH访问更高的性能以及更低的功耗。此外该套件具有丰富的接口和外设以及传感器SENSOR系列连接器接口为开发者提供了便捷且灵活的开发环境。这里通过配置LED输出进行简单测试。需要样片的可以加群申请925643491 / 615061293 。视频教学https://www.bilibili.com/video/BV1aGVQ6AEc2/样品申请https://www.wjx.top/vm/OhcKxJk.aspx#源码下载硬件准备首先需要准备一个开发板这里我准备的是自己绘制的开发板需要的可以进行申请。主控为STM32C552CET6/STM32C552CEU6产品特性STM32C55xxx系列器件属于通用微控制器家族STM32C5系列基于高性能Arm® Cortex®-M33 32位RISC内核构建。该系列器件工作频率可达144 MHz。Cortex®-M33内核集成了单精度浮点运算单元 (FPU)支持所有Arm®单精度数据处理指令和所有数据类型。Cortex®-M33内核还实现了一套完整的数字信号处理 (DSP) 指令集以及存储器保护单元 (MPU)从而显著提升应用安全性。这些器件内置高速存储器512 KB Flash存储器和128 KB SRAM、种类丰富的增强型I/O以及连接到三条APB总线、三条AHB总线和32位多AHB总线矩阵的多种外设。该系列器件为内置Flash存储器和SRAM提供多种保护机制读保护、写保护和隐藏保护区。器件集成了多种强化安全性的外设● HASH硬件加速器● 真随机数发生器该系列器件提供两个12位ADC、一个DAC通道、一个比较器、一个低功耗RTC、两个32位通用定时器、两个16位电机控制专用PWM定时器、四个16位通用定时器、两个16位基本定时器以及一个16位低功耗定时器。器件还提供多种标准和高级通信接口如● 两个I²C接口● 一个共享I²C的I3C接口● 三个SPI接口支持复用全双工I2S● 三个USART接口、两个UART接口和一个低功耗UART接口● 一个FDCAN接口● 一个USB全速接口器件工作温度范围为-40 °C至105 °C结温最高可达130 °C电源电压范围为2.7 V至3.6 V。这些器件均提供一套全面的节能模式可实现低功耗应用设计。器件提供从32引脚至100引脚的多种封装选择。参考程序https://github.com/CoreMaker-lab/STM32C552_SENSORhttps://gitee.com/CoreMaker/STM32C552_SENSOR生成STM32CUBEMX2用STM32CUBEMX2生成例程这里使用MCU为STM32C552CET6/STM32C552CEU6。打开 STM32CubeMX2 后进入 Home 首页点击 MCU基于具体芯片型号创建工程在 MCU name 中输入STM32C552CET6/STM32C552CEU6选择对应的 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确认芯片型号为 STM32C552CETx与前面 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);}