STM32/STM8技术william hill官网
直播中

唐电子

8年用户 24经验值
擅长:可编程逻辑 电源/新能源 测量仪表 处理器/DSP 控制/MCU
私信 关注
[经验]

【STM32L476 Nucleo试用体验】STM32L476开箱、硬件初始化及开发环境搭建

本帖最后由 tyq9702 于 2017-10-3 12:06 编辑

上周收到了期待已久的NUCLEO-L476RG开发板,感谢电子发烧友william hill官网 !以前只用过ti公司的一些开发板,例如DSP之类的,但总感觉做一个小巧的便携式空气检测仪太过于浪费开发板资源了,于是申请了电子开发者william hill官网 的STM32的开发板,想试试使用这样的小巧板子能够做出什么样的空气检测仪。没想到最后竟然获得了试用开发板的机会,非常感谢ST公司和电子发烧友william hill官网 。

上周事情也比较多,所以第一次试用报告只能拖到现在写了。

1. STM32L476产品介绍:

    STM32L476产品兼备高性能处理器的优异性能和超低功耗技术的能效,具有其它超低功耗微控制器没有的功能。273分的EEMBC® CoreMark®测试成绩高于其它超低功耗处理器内核,同时217分的ULPBench测试成绩证明新微控制器的能效更高。37µA/MHz的工作电流有助于延长小电池的续航时间,扩大以环境能源为动力的零能耗产品的范围。

    总之,这款单片机具有很好的低功耗性能,适用于作为各种便携式设备的核心处理器。

2. STM32L476RG开箱体验:
    收到快递包裹后,我迫不及待地打开了它,想一睹STM32单片机的真容,带有包装盒的开发板图一枚:
IMG_20170915_210343.jpg


来一张近照:
IMG_20170915_210516.jpg


    可以看到,开发板的做工还是非常好的,且它可以兼容Arduino接口,方便了不同硬件平台之间的移植。

    包装盒中附有此开发板的引脚分布图,如下图所示:

    IMG_20170915_210453.jpg

    这张图是后续编写程序,确定输出输入管脚的基础,只有明白自己操作的是哪个管脚,才能完成硬件的正确接线,实现自己想要的功能,因此这张图非常重要。图的背面说明了初始化硬件的连接方法:

IMG_20170915_210441.jpg


3. STM32L476RG硬件初始化:    按照说明书上的硬件初始化提示,根据以下步骤进行开发板的硬件初始化:
    1)检查开发板上的跳线帽,保证 JP1 跳线帽断开、JP5 跳线帽在 U5V 接线端,JP6 跳线帽(IDD)接通
    2)将开发板通过 USB 电缆与安装了 ST-Link 的 PC 机连接,可以看到 LD2 灯闪烁,说明示例程序正在运行。
    注意:如果在第二步采用移动电源供电,则不能看到效果,因为根据此开发板的技术手册和威廉希尔官方网站 图,MOS 管 T2 的开关是受到ST-Link驱动控制的,因此如果直接采用移动电源供电,则开关不能闭合,只能看到 LD1 灯不断闪烁,而程序无法执行。如果要使用外部电源供电,则需要把JP5 跳线帽调整为 E5V 接线端,并通过 Vin 或者 E5V 供电,供电时需要注意共地问题。
搜狗截图20170925160935.png

4. STM32L476RG开发环境搭建:
这块开发板目前支持三种开发环境,都是第三方的开发环境,分别是:
1、Keil:MDK-ARM
2、IAR:EWARM
3、GCC-basedIDEs
      其中Keil与IAR都是大家平常用得比较多的平台,ST公司在这两个平台上面提供了大量的例程,使用这些例程就能够很方便地进行开发。此外,ST公司有一款CubeMX的软件,可以非常方便就生成硬件层的代码,可以与上述三款的开发环境一起使用。在这里仅介绍如何在Keil下对这块开发板进行开发,其他的平台也是类似的。

游客,如果您要查看本帖隐藏内容请回复

5. STM32L476RG第一个小程序——点亮LED灯:
打开上述例程的文件夹,进入Projects>STM32L476RG-Nucleo>Examples>GPIO>GPIO_IOToggle
搜狗截图20170925163122.png
可以看到这是一个简单的小程序,打开MDK项目文件可以发现文件结构如下:


搜狗截图20170925163244.png
这个项目文件中对项目源代码进行了多重的include操作,需要在keil的Options for Target对话框中对相关内容进行设置,方可正确编译。主要需要设置的内容如下:
搜狗截图20170925163438.png 搜狗截图20170925163444.png 搜狗截图20170925163346.png 搜狗截图20170925163514.png

完成上述设置后,才可以正确编译并下载到开发板中。程序的核心代码如下:
搜狗截图20170925163652.png
此程序实现的是LED2的闪烁功能。将程序下载到开发板并运行,实现了对应的功能。运行结果如下:
暴风截图201792593551484.jpg 暴风截图201792593552312.jpg 暴风截图201792593552984.jpg

至此,开发板第一次实验完成。

6. STM32L476RG 开发板编程实验拓展——IDE的优化选择:
      我们知道,keil的开发环境对于开发者来说其实不算友好,缺少错误检测和代码自动提示功能,也鲜有自动补全。为了方便后续的开发,我决定使用Jetbrain公司的Clion软件对此项目进行开发,提高开发效率。
搜狗截图20170925164257.png
      打开Clion,选择Import Project,可以将整个项目目录导入其中,按照提示操作即可。为了开启Clion的自动提示功能,需要修改CMakeList文件,具体修改方案如下:
搜狗截图20170925164210.png
      修改完后点击Reload Project即可,Clion 会开始自动刷新并建立链接,以开启自动提示和错误警告功能,可以方便单片机C程序的开发。
搜狗截图20170925164454.png
      经过格式化的代码如下:
搜狗截图20170925164614.png

      可以看到,代码的可读性有了很大的提升,且可以随时按住Ctrl+鼠标左键进行变量名和函数名的跳转,极大地提高了开发效率。

回帖(86)

h1654155969.0799

2020-4-12 19:05:08
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

冉光明

2020-6-8 14:59:12
我先康康,还要凑字数
举报

0ver1oad

2021-2-5 23:51:17
谢谢您的热心分享,对我帮助很大
举报

tiancegis

2021-2-13 08:51:19
STM32仍然是目前实验开发的主流
举报

她城她梦

2021-9-28 15:05:56
谢谢,帮助很大
举报

2021-10-22 21:21:19
非常感谢,整好在学习

举报

楼下小白

2022-8-30 10:29:29
来学习啦,看看是怎么跑起来的
举报

更多回帖

发帖
×
20
完善资料,
赚取积分