本帖最后由 jinglixixi 于 2025-4-30 17:04 编辑
#申请原创#
近期在活动中,获得了一款NUCLEO-C071RB开发板,它以高性能的Arm Cortex-M0+ 32位RISC为内核,工作频率高达48MHz。该器件集成度高,非常适合用于各种消费电子、工业和电器应用。此外,这些MCU还可用于物联网 (IoT) 解决方案。
其MCU结合了内存保护单元 (MPU)、高速嵌入式内存(12kB SRAM和带读写保护的高达32KB闪存程序存储器)、DMA以及各种系统功能、增强型I/O和外设。此外,该MCU还设有标准通信接口(一个I2C、一个SPI/一个I2S和两个USART)、一个多达21通道的12位ADC(2.5MSps)、一个低功耗RTC、一个高级控制PWM定时器、四个通用16位定时器、两个看门狗计时器和一个SysTick定时器,其内部架构如图1所示。
图1 内部架构
该MCU具有-40°C至+125°C的环境温度范围和2.0V至3.6V的电源电压范围。该器件的优化动态功耗与省电模式相结合,可实现低功耗应用设计。
该开发板配有1个用户LED(与ARDUINO共享)、1个额外用户LED、1个用户按钮和1个重置按钮、32.768 kHz晶体振荡器及8 MHz HSE、Arduino Uno V3扩展连接器、ST morpho扩展引脚接头、USB Type-C®用户连接器及ST-LINK调试器/编程器,其外观如图2所示。
图2 开发板外观
在上电的情况下,除红色电源指示灯被点亮外,还可见到蓝色和绿色的用户测试指示灯在轮流地闪烁着,见图3和图4闪烁。
图3上电效果1
图4上电效果2
此外。若打开电脑上的设备管理器,则可见到有虚拟串口出现,见图5所示。
图5虚拟串口
在连接并打开串口后,会见到图6所示的输出信息。
图6 输出信息
若按下用户键,则会有图7所示的输出信息,并伴随着闪烁频率的改变。
图7触发后输出信息
NUCLEO-C071RB开发板支持多种集成开发环境 (IDE),包括IAR Embedded Workbench®、MDKARM和STM32CubeIDE资源,此外,通过STM32Cube MCU软件包,可获得的全面免费软件库和示例。
以MDKARM为例,在下载并解压en.stm32cubec0-v1-4-0.zip压缩包后,其打开例程的界面如图8所示。
图8 工作界面
若所用压缩包中的Keil.STM32C0xx_DFP.2.1.1芯片支持升级包,则可添加对其的支持,见图9所示。
图9 芯片支持
经编译,其结果如图10所示,说明编译正常。
图10 完成编译
为进行下载测试,还需事先按图11所示选取调试器类型。
图11 选取调试器类型
若在连接电脑的情况下,无法见到相应的连接状态,则需要安装相应的调试器的驱动程序。
在按图12所示选取烧录算法的情况下,就可进行下载测试,在完成下载后如图13所示。
图12 选取烧录算法
图13 完成下载
以例程GPIO_EXTI在为例,在下载后通过用户键可控制LED灯的亮灭,说明下载测试有效。
其主程序的内容为:
int main(void)
{
HAL_Init();
SystemClock_Config();
BSP_LED_Init(LED1);
EXTI4_15_IRQHandler_Config();
while (1)
{
}
}
由此可见,它是以中断处理的方式来实现按键对LED灯的控制。
相应的中断处理函数为:
void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
{
if (GPIO_Pin == BUTTON_USER_PIN)
{
BSP_LED_Toggle(LED1);
}
}
对NUCLEO-C071RB开发板的初次品读就先分享至此,后面再继续进行详细的品读和应用。
附:
开发板原理图:
mb2046-c071rb-b03-schematic.pdf
(14.17 MB)
芯片升级包:
Keil.STM32C0xx_DFP.2.1.1.zip
(16.07 MB)
调试器驱动:
en.stsw-link009.zip
(5.08 MB)
|