打印
[STM32C0]

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

[复制链接]
264|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 聪聪哥哥 于 2025-5-15 14:28 编辑

#申请原创#  首先很高兴入围STM32C092的测评活动,和大家分享一下该块开发板的使用过程。一:介绍STM32C092芯片
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口的配置如下:

五:软件代码如下:
void MX_GPIO_Init(void)
{

  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOC_CLK_ENABLE();

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET);

  /*Configure GPIO pin : PA5 */
  GPIO_InitStruct.Pin = GPIO_PIN_5;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

  /*Configure GPIO pin : PC9 */
  GPIO_InitStruct.Pin = GPIO_PIN_9;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);

}

添加LED闪烁的代码如下:
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
          HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
          HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
    HAL_Delay(1000);
  }

六:实物图片如下所示:



开发板原理图、手册下载如下:
mb2046-bdp.zip (9.63 MB)
stm32c092rc.pdf (2.7 MB)
测试代码如下: LED0.zip (5.71 MB)


使用特权

评论回复
沙发
AdaMaYun| | 2025-6-8 19:55 | 只看该作者
USB位置没有焊接?

使用特权

评论回复
板凳
聪聪哥哥|  楼主 | 2025-6-9 10:38 | 只看该作者
AdaMaYun 发表于 2025-6-8 19:55
USB位置没有焊接?

是的 没有焊接

使用特权

评论回复
地板
codingtuzi| | 2025-6-9 11:24 | 只看该作者
话说,您这还是现安装Keil啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

66

主题

188

帖子

1

粉丝