news 2026/6/10 12:26:36

[STM32C0] 【STM32C092RC 测评】+ 01开箱、资料准备、点灯

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[STM32C0] 【STM32C092RC 测评】+ 01开箱、资料准备、点灯

STM32C091xB/XC STM32C092xB/XC主流微控制器基于工作频率可达48 MHz的高性能Am®conex-MO+ 32位RISC内核。该系列微控制器具有高集成度,适合消费、工业和家电领域的各类应用,也能充分满足物联网(10T)解决方案的需求。
这些器件集成了内存保护单元 (MPU)、高速嵌入式存储器(高达36 KB的SRAM和高达256 KB的Flash程序存储器,后者带读写保护功能、专有代码保护功能和安全区域)、DMA、丰富的系统功能、增强型110与外设。器件提供了多种标准通信接口(2个12C、2个SPI1个PS、1个FDCAN和4个USART)、1个具有多达19通道的12位ADC(2.5MSPS)、1个低功耗RTC、1个高级控制PWM定时器、5个通用16位定时器、1个32位通用定时器、2个
看门狗定时器和1个SysTick定时器。
它们可在-40 ℃至125℃的环境温度和2.0V至3.6V的电源电压下工作。经过优化的动态功耗与省电模式相结合,轻松打造低功耗应用设计。
这些器件提供20引脚至64引脚的不同封装规格。
二:产品的功能特点:
包含意法半导体先进专利技术
内核:Arm@32位Cortex@-M0+ CPU,频率可达48 MHZ工作温度:-40“C至85°C/105°C/125C
存储器:1:高达256 KB的Flash存储器,带保护功能和安全区域 2:高达36 KB的SRAM,支持硬件奇偶校验
CRC计算单元
复位和电源管理:1:电压范围:2.0 V至3.6 V;2:上电/掉电复位(POR/PDR);3:可编程欠压复位(BOR);4:低功耗模式:睡眠、停止、待机、关断
时钟管理:1:4 MHZ至48 MHZ晶振 ;2:带校准功能的32 kHz晶振3 :内置48 MHZ RC振荡器(±1%);4:内置32 kHZ RC振荡器(±5%)
高速I/0端口多达61个:1:所有端口均可映射到外部中断向量 ;2:所有均为5 V耐压
支持灵活映射的7通道DMA控制器
12位0.4 μS ADC(多达19个外部通道):转换范围:0 V到3.6 V
10个定时器:1个用于高级电机控制的16位定时器、1个32位定时0器、5个16位通用定时器、2个看门狗定时器和1个SysTick定时器
支持警报功能的日历RTC
通信接口:
2个I2C总线接口,:通过额外的恒流源支持极速模式(1Mbit/s),其中一个支持SMBUS/PMBuS™以及从停止模式唤醒功能4个USART,支持主/从同步SPI;其中1个支持IS07816接口、LIN、IrDA功能、自动波特率检测和唤醒功能2个SPI(24 Mbit/s),具有4至16位可编程位帧,其中一个与12S接口复用;通过USART提供4个额外SPI
1个FDCAN控制器(仅限STM32C092xx)
开发支持:串行线调试(SWD)
96位唯一ID码
所有封装均符合ECOPACK2标准三:开箱图片如下所示:



四:开发工具准备:
这里我使用的是keil5.38a版本进行软件代码的开发
一:keil5 mdk下载连接:https://www.keil.com/download/product/

1.1 选择 MDK-arm ,这里可以根据自身的需求,下载所需要的版本



这里我们随便填写以下信息就可以,然后再弹出的界面,直接下载keil5的安装包就可以,现在目前最新的版本是5.40以上,但是我这边并没有下载最新的版本,要不然频发的更新太麻烦了。
二:STM32cube Mx软件的安装过程
STM32CubeMX作为一种图形化工具,可以用于配置任何STM32器件。这款简单易用的图形用户界面为Cortex-M内核生成初始化C代码,并为Cortex-A内核生成Linux器件树。
第一步包括选择与所需外设集匹配的意法半导体STM32微控制器、微处理器或开发平台,同时包括在特定开发平台上运行的示例。
对于微处理器,第二步允许配置GPIO和设置整个系统的时钟,并交互地将外设分配给Arm® Cortex®-M或Cortex®-A内核。特定实用工具(如DDR配置和微调)增强了STM32微处理器的易用性。对于Cortex®-M内核,配置包含了额外步骤,与微控制器的十分相似。
对于微控制器和微处理器Arm® Cortex®-M,第二步为通过引脚分配冲突处理器、时钟树设置助手、功耗计算器,以及用于配置外设(如GPIO或USART)和中间件栈(如USB或TCP/IP)的实用工具来配置各个必需的嵌入式软件。
借助增强型STM32Cube扩展包,可扩展默认软件和中间件栈。可直接通过STM32CubeMX中可用的专用包管理器,直接下载意法半导体或意法半导体合作伙伴提供的软件包,其他软件包可以从本地驱动器进行安装。
此外,STM32CubeMX中的独特实用程序STM32PackCreator可帮助开发人员构建自己的增强型STM32Cube扩展包。
最终,用户可以生成与所选配置匹配的软件包。这一步提供Arm® Cortex®-M初始化C代码(可随时用于多个开发环境),或面向Arm® Cortex®-A的部分Linux®设备树。
STM32CubeMX在STM32Cube中交付。
我们需要再STM32 的生态社区下载软件

https://www.st.com.cn/zh/development-tools/stm32cubemx.html#st-get-software




三:STM32CubeProgrammer 软件的使用
STM32CubeProgrammer (STM32CubeProg) 是一款用于编程STM32产品的全功能多操作系统软件工具
它提供了一个易用高效的环境,通过调试接口(JTAG和SWD)和自举程序接口(UART、USB DFU、I2C、SPI和CAN)读取、写入及验证器件内存。
STM32CubeProgrammer的功能广泛,可以对STM32内部存储器(如Flash、RAM和OTP)以及外部存储器进行编程。
STM32CubeProgrammer还允许选择编程和上传、编程内容验证以及通过脚本自动编程。
STM32CubeProgrammer提供了GUI(图形用户界面)和CLI(命令行界面)版本。



四:点亮板载的LED灯
查看板载的LED引脚接口


使用PA5和PC9引脚,这里我们在cubeMX 软件中进行配置
时钟树的配置:


GPIO口的配置如下:


五:软件代码如下:

复制

  1. void MX_GPIO_Init(void)
  2. {
  3. GPIO_InitTypeDef GPIO_InitStruct = {0};
  4. /* GPIO Ports Clock Enable */
  5. __HAL_RCC_GPIOA_CLK_ENABLE();
  6. __HAL_RCC_GPIOC_CLK_ENABLE();
  7. /*Configure GPIO pin Output Level */
  8. HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
  9. /*Configure GPIO pin Output Level */
  10. HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET);
  11. /*Configure GPIO pin : PA5 */
  12. GPIO_InitStruct.Pin = GPIO_PIN_5;
  13. GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  14. GPIO_InitStruct.Pull = GPIO_PULLUP;
  15. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  16. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  17. /*Configure GPIO pin : PC9 */
  18. GPIO_InitStruct.Pin = GPIO_PIN_9;
  19. GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  20. GPIO_InitStruct.Pull = GPIO_PULLUP;
  21. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  22. HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  23. }


添加LED闪烁的代码如下:

复制

  1. while (1)
  2. {
  3. /* USER CODE END WHILE */
  4. /* USER CODE BEGIN 3 */
  5. HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
  6. HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
  7. HAL_Delay(1000);
  8. }


六:实物图片如下所示:



开发板原理图、手册下载如下:

mb2046-bdp.zip(9.63 MB, 下载次数: 4)

stm32c092rc.pdf(2.7 MB, 下载次数: 4)
测试代码如下:

LED0.zip(5.71 MB, 下载次数: 2)


---------------------
作者:聪聪哥哥
链接:https://bbs.21ic.com/icview-3453796-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 16:41:28

C# Lambda参数默认值设置全解析(资深架构师20年实战经验分享)

第一章:C# Lambda参数默认值设置的核心概念在C#中,Lambda表达式提供了一种简洁的语法来创建匿名函数,常用于LINQ查询、事件处理和委托调用等场景。然而,与普通方法不同,**Lambda表达式本身并不直接支持参数的默认值**。…

作者头像 李华
网站建设 2026/5/18 17:27:34

使用YOLOv8进行图像分割的完整指南(附GPU加速技巧)

使用YOLOv8进行图像分割的完整指南(附GPU加速技巧) 在智能摄像头、工业质检和自动驾驶系统日益普及的今天,如何快速实现高精度的图像分割,已成为许多开发团队面临的核心挑战。传统方法往往受限于复杂的环境配置、缓慢的训练速度以…

作者头像 李华
网站建设 2026/6/2 13:43:26

【C# 交错数组深度解析】:掌握二维集合表达式的5大高效技巧

第一章:C# 交错数组的基本概念与核心优势什么是交错数组 交错数组(Jagged Array)是C#中一种特殊的多维数组结构,它本质上是一个“数组的数组”。与矩形数组不同,交错数组的每一行可以拥有不同的长度,这使得…

作者头像 李华
网站建设 2026/6/6 14:02:19

AI辅助论文写作工具排行:9款平台实测,开题报告和降重功能卓越

AI写论文平台排名:9个实测,开题报告论文降重都好用 工具对比排名表格 工具名称 核心功能 突出优势 Aibiye 降AIGC率 适配高校规则,AI痕迹弱化 Aicheck 论文降重 速度快,保留专业术语 Askpaper 论文降重 逻辑完整性好 …

作者头像 李华
网站建设 2026/6/3 12:49:05

9大AI论文写作平台评测:开题报告与降重功能全解析

AI写论文平台排名:9个实测,开题报告论文降重都好用 工具对比排名表格 工具名称 核心功能 突出优势 Aibiye 降AIGC率 适配高校规则,AI痕迹弱化 Aicheck 论文降重 速度快,保留专业术语 Askpaper 论文降重 逻辑完整性好 …

作者头像 李华
网站建设 2026/6/3 3:56:19

【C#高级编程技巧】:揭秘using别名与元组类型适配的5大实战场景

第一章:C# using别名与元组类型适配概述在现代 C# 开发中,using 别名和元组类型的灵活使用显著提升了代码的可读性与维护性。通过为复杂类型定义简洁的别名,开发者能够简化命名空间引用和泛型声明;而元组则为轻量级数据聚合提供了…

作者头像 李华