首页 > 评测 > STM32F0入门级开发板——STM32F072RB Nucleo评测
STM32F0入门级开发板——STM32F072RB Nucleo评测
- [导读]
- STM32F0系列MCU是意法半导体公司(以下简称ST)推出的入门级32位微控制器,基于ARM Cortex M0内核,最高频率可达48MHz,面向低成本入门级应用领域。
打开STM32CUBEMX软件,选择New Project新建一个工程,
选择STM32F072RB开发板,
生成工程后可以看到,软件已经自动按照STM32F072RB开发板的外设资源配置好了,现在要做的就是打开需要使用的相应外设,这里需要打开RCC和USART就好了,而开发板的USART2是直接连接到ST-LINK的虚拟串口的,我们可以直接虚拟串口来传输数据。
然后配置时钟,时钟选择HSE,经过PLL倍频,得到系统时钟,设置为最大的48MHz,
接着配置USART2的参数,波特率设置为115200,数据位8位,停止位1位,无检验位
配置完成后就可以生成工程了,
编译工具选择比较常见的Keil MDK,最后生成并打开工程:
先编译一下确定工程没有错误,
从上面截图可以看到,生成的工程中首先调用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;
}
这段代码的作用是重定向printf函数,使其原本的标准输出指向串口2,这样我们就能使用printf函数从串口输出,在调试时可以非常方便的查看运行信息和输出需要的数据。
接下来在主函数中添加代码测试使用printf发送数据。
HAL_GPIO_TogglePin(LD2_GPIO_Port,LD2_Pin);的作用是反正LD2接的IO口,这样就能看到开发板上LED的闪烁,最后HAL_Delay(500);延时等待500ms;完成代码添加后编译下载运行,可以从电脑端用串口助手连接虚拟串口,就能接收到开发板发出的数据了,同时开发板上的LED以1秒间隔闪烁,结果如下图。
一个简单的例子就完成了,有了STM32CUBEMX之后,真的是方便了工程师们的开发,节省了很多底层配置的时间,真是一个很好用的开发工具,ST呕心沥血开发出来并大力推广的工具,真是名副其实,造福广大工程师们。而看了上面的介绍,应该对这块开发板已经有一定了解,作为入门级开发板,比较简单,但也功能丰富,适合新手学习入门。
资源链接:
本文系21ic原创,未经许可禁止转载
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
RAK831 Lite:基于树莓派3的LoRa网关... 2022-06-17
-
Imagination推出PowerVR AX2185和AX2145神经... 2022-06-17
-
ODROID-GO是一款兼容Arduino的基于ESP32的便... 2022-06-17
- PID温度控制器
预算:¥700003天前
- 摄像头的可视画面需要一直超上(linux系统,ARM)
预算:¥1000018小时前
- DICOM协议搭建(ARM架构,linux系统)
预算:¥1000017小时前
- 需MIPI摄像头隔离电路,实现3-4米能长距离
预算:¥1000017小时前
- 膨宫仪的控制板,控制流量和检测压力
预算:¥1000016分钟前
- 无创自动测量血压计 NIBP模块
预算:¥100007小时前