IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32点亮电子世界的那盏灯 -> 正文阅读

[嵌入式]STM32点亮电子世界的那盏灯

实验目的

1,熟悉Keil MDK 工具软件的使用方式。
2,能够通过STM32CubeMX创建一个工程
3,掌握 Keil MDK 软件的基本设计流程和设计步骤,能够使用工具进行设计、编程、下载。
4,通过本实验掌握的 GPIO 口的使用方法。
5,掌握如何利用 STM32L071芯片的 I/O 口控制 LED。

实验环境

1,开物派 Zero 开发平台
2,ST-Link 仿真器
3,Keil MDK 5.23 集成开发软件
4,STM32CUBEMX 图形开发软件
5,PC 机 XP、 Window7/8/10 (32/64bit)

实验内容

利用STM32CubeMX搭建一个跑马灯工程。跑马灯的本质是控制MCU的引脚高低电平,作为经典的测试例程,可以让大家对 STM32FL071芯片有个简单的整体认识 。

实验步骤

1 跑马灯硬件设计

1.1 观察开发板LED原理图

由图可知,开发板上提供了2个LED给我们做实验。这2个LED分别可以由PA6、PA7管脚来控制,而LED2、LED3的阳极通过一个电阻后接了3.3V,所以我们只需将对应的管脚拉低便能点亮对应的LED。

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628401850742-2aaa8ecc-c779-4cdd-80e1-d1c3ea25e2fa.png

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628402117314-9708c914-61ec-432d-8105-212263e85a45.png

2、编写代码

2.1 在桌面创建一个名为【LED】的文件夹,来存放工程

2.2 在CubeMX上设置对应管脚

1,双击桌面【STM32CubeMX】图标打开开始工程。点击【ACCESS TO MCU SELECTOR】选择开发板芯片,搜索输入【L071RB】双击选择右边【STM32L071RBTx】进入配置界面

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628402353620-531eff22-5ed8-4090-9de1-5260169e740c.png

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628402307100-5f90903d-838d-4ac9-8f36-92475df0485f.png

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628402625413-99b50348-8a6a-4660-922e-6dc15403a0c5.png

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628402718330-417cbd72-86e8-40d1-a616-c0f261e13e82.png

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628402782658-b21eda1b-56dd-4011-ba89-c809afb1cfea.png

2,点击左边【System Core】进入下拉窗口,点击【GPIO】进入管脚的设置界面。进入详细界面后,可以看到我们配置过为Output的管脚有PA6、PA7两个。双击【PA6】进入该管脚的详细配置界面。

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628402932392-6dd51a77-3094-4deb-8776-d179f30b0b75.png

3,进入到对应管脚的详细设置页面后,可以看到一些选项,来配置这个GPIO管脚,我们需要将两个管脚都配置一遍。

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628403083245-03e35114-1ab9-4e33-943b-26ac16c33ca3.png

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628403118649-84c20069-b221-49d1-908d-2513ccd0c847.png

4,点击【SYS】进入系统的设置界面。进入系统设置界面后,将【Debug Senial Wire】选项勾上,此选项是为了打开芯片的SWD接口,否则下次就无法烧写代码了。

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628403381531-a99eb307-3acf-4fba-adc9-2e16d8d88225.png

5,点击上方的【Project Manager】进工程管理界面。

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628403677951-162e4205-534f-4eb5-b499-eef4a71befcb.png

6,完成代码生成后,点击【Open Project】按钮,打开项目工程。

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628406254070-5c8281ac-fb66-4199-a44e-6032cc462cba.png

2.3 编辑工程

点击【Open Project】进入到MDK5工程,在main.c中添加代码到下图位置。

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET);???

HAL_Delay(500);

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);

HAL_Delay(500);

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628404023683-33135bed-f6f7-4ddf-8086-67e923c44922.png

点击【保存】按钮保存文档。

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628404128173-6c300a2d-234c-45ed-a220-c74880986eab.png

3 编译代码

写好代码之后,点击左上角【Build】编译,底端显示[0 Error,0 Warning]即表示程序无错误无警告成功编译。如果有错误则有可能上一步的代码没有写好,请重新检查再编译。

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628404207404-52171b5a-4676-401c-8816-7056b6a8c96d.png

4 下载程序

1,将开发板上电,然后将烧写器连插到开发板上并且插入到电脑上。

2,打开工程配置,选择 【Debug】,勾选【Use】,选择仿真工具为 【ST-Link Debugger】,点击【Setting】

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628404651351-e965bd9f-ea5d-4be8-9f74-49733e2628c2.png

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628404725267-e658f742-6228-4555-a709-d339df168577.png


3,在弹出的窗口中,查看IDCODE一栏中的有显示一串编码则表明设备已经被识别。

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628405028552-af8ad405-af05-49e9-b32a-bca68c015fb5.png

4,关掉弹出的窗口后,点击下载按钮,将代码下载到开发板上

https://cdn.nlark.com/yuque/0/2021/png/22125283/1628405353280-1765f07d-43ed-4f50-9bed-19677fc6e827.png

5,代码下载后,这时按下复位键,可以发现开发板上的LED以交替点亮的方式循环闪烁!这样我们一个MDK工程就算完成了。

实验参考代码

关注正道物联网大讲堂的公众号

https://cdn.nlark.com/yuque/0/2021/jpeg/22125283/1628330414716-de1bc31c-a03c-4ec3-b058-a0a5ee76fd59.jpeg

在公众号里发消息

下载|STM32 LED参考代码

建议复制粘贴过去不会打错字哟。

玩转物联网、添加下面微信好友,加入社区带你飞!!!

https://cdn.nlark.com/yuque/0/2021/jpeg/1526727/1628334035371-a363573c-cbfb-47dc-96a5-0dc86d8a64c2.jpeg

关注下面微信公众号二维码,干货多多,第一时间推送!

https://cdn.nlark.com/yuque/0/2021/jpeg/1526727/1628334035383-c5d01435-ad93-48ac-a710-3c02ec5cdd32.jpeg

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:34:55  更:2021-08-10 13:36:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:20:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码