首页 > 评测 > STM32F0入门级开发板——STM32F072RB Nucleo评测

STM32F0入门级开发板——STM32F072RB Nucleo评测

STM32   F072RB   Nucleo   ST   
  • 作者:风子
  • 来源:21ic
  • [导读]
  • STM32F0系列MCU是意法半导体公司(以下简称ST)推出的入门级32位微控制器,基于ARM Cortex M0内核,最高频率可达48MHz,面向低成本入门级应用领域。

打开STM32CUBEMX软件,选择New Project新建一个工程,

10.jpg

选择STM32F072RB开发板,

11.jpg

生成工程后可以看到,软件已经自动按照STM32F072RB开发板的外设资源配置好了,现在要做的就是打开需要使用的相应外设,这里需要打开RCC和USART就好了,而开发板的USART2是直接连接到ST-LINK的虚拟串口的,我们可以直接虚拟串口来传输数据。

12.jpg

然后配置时钟,时钟选择HSE,经过PLL倍频,得到系统时钟,设置为最大的48MHz,

13.jpg

接着配置USART2的参数,波特率设置为115200,数据位8位,停止位1位,无检验位

16.jpg

配置完成后就可以生成工程了,

17.jpg

编译工具选择比较常见的Keil MDK,最后生成并打开工程:

16.jpg
17.jpg

先编译一下确定工程没有错误,

18.jpg

从上面截图可以看到,生成的工程中首先调用HAL_Init();函数初始化HAL库,接着SystemClock_Config();配置了系统时钟位之前cube中设置好的频率,然后MX_GPIO_Init();

和MX_USART2_UART_Init();分别初始化一些GPIO口和USART2,最后就是应用程序部分,而这部分也是需要我们自己来写的部分。

接下来添加代码,首先在main.c文件中添加下面的代码

#ifdef __GNUC__

#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

#else

#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)

#endif

PUTCHAR_PROTOTYPE

{

HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);

return ch;

}

19.jpg 

这段代码的作用是重定向printf函数,使其原本的标准输出指向串口2,这样我们就能使用printf函数从串口输出,在调试时可以非常方便的查看运行信息和输出需要的数据。

接下来在主函数中添加代码测试使用printf发送数据。

20.jpg

HAL_GPIO_TogglePin(LD2_GPIO_Port,LD2_Pin);的作用是反正LD2接的IO口,这样就能看到开发板上LED的闪烁,最后HAL_Delay(500);延时等待500ms;完成代码添加后编译下载运行,可以从电脑端用串口助手连接虚拟串口,就能接收到开发板发出的数据了,同时开发板上的LED以1秒间隔闪烁,结果如下图。

21.jpg

一个简单的例子就完成了,有了STM32CUBEMX之后,真的是方便了工程师们的开发,节省了很多底层配置的时间,真是一个很好用的开发工具,ST呕心沥血开发出来并大力推广的工具,真是名副其实,造福广大工程师们。而看了上面的介绍,应该对这块开发板已经有一定了解,作为入门级开发板,比较简单,但也功能丰富,适合新手学习入门。

资源链接:

NUCLEO-F072RB

STM32CubeF0

STM32CubeMX

STM32 ST-LINK utility 

STM32单片机中文官网

STM32单片机官方开发工具

STM32单片机参考设计

本文系21ic原创,未经许可禁止转载

  • 本文系21ic原创,未经许可禁止转载!

网友评论