Skip to content

L1 GPIO 实践

实验资源

本实验使用 Stellaris-Nexus 的 PB0PA7PA6 三色 LED,以及 PA8PA4 两个按键。配置前先对照LED、按键与 ADC 原理图

一、STM32CubeMX 配置

image.png

按照箭头所指点击,生成新的工程

image.png

先按照箭头所指搜索STM32F103C8T6 ,然后点亮星星收藏起来方便下次寻找,最后按照箭头所指生成新建工程

image.png

进入新的工程之后首先要做的是点击SYS,在Debug里面点击Serial Wire,然后观察是否有红色圆圈所示的内容,有的话就正确。

保留 SWD 调试接口

所有新工程都应将 SYS -> Debug 配置为 Serial Wire。如果关闭 SWD 并重新分配 PA13/PA14,后续下载可能无法直接连接,需要结合 BOOT、复位或“复位下连接”恢复。

lQDPJxgQxASvdCXNA2PNBLawrSe-8c_Aa8YJZF6Qx1i-AA_1206_867.jpeg

通过原理图可以看出三个LED灯的引脚为PB0,PA7,PA6,如原理图所示

image.png

点击左键PB0设置为GPIO_Output,打开GPIO面板查看GPIO引脚配置,GPIO配置菜单如下

image.png

选项介绍:

(1).   GPIO output level

Low:IO初始化默认输出低电平

High:IO初始化默认输出高电平

(2).   GPIO mode

Output Open Drain:开漏输出,可以输出低电平

Output Push Pull:推挽输出,可以输出低电平和高电平

(3).   GPIO Pull-up/Pull-down:IO上下拉配置

No pull-up and no pull-down:浮空输入,配置为不上拉和下拉

Pull-up:上拉输入

Pull-down:下拉输入

(4).   Maximum output speed:最高输出速度

Low:GPIO翻转速度为低速,通常为2MHZ

Medium:GPIO翻转速度为中速,通常为10MHZ

High:GPIO翻转速度为高速,通常为50MHZ

(5).   User Lable : 用户标签

image.png

为了实现红色小灯亮,把GPIO output level设置为高电平,User Label设置为RED_LED方便后续代码阅读,其他设置均不动,保持默认。

image.png

点击Project Manager,设置项目名称(不能设置中文名称),将Toolchain/IDE设置为CMake

image.png

按照箭头所指依次点击,最后生成代码即可

二、CLion 配置

image.png

打开CLion,找到刚刚生成代码目录,选择文件夹打开即可

image.png

打开之后等待会进入图中所示页面,勾选在编辑...(这个是方便后续在STM32CubeMX配置后进行更新);取消勾选启用配置文件、还没完先别删除该页面(展示不下了 囧 emj.)

image.png

点击Debug-Debug,勾选启用配置文件,这样就完成了,点确定即可

image.png

先点击小锤子图标进行编辑,再点击Core-- Src --main.c,就可以在BEGIN 和END之间写代码了。写完·之后就可以用Ozone进行烧录了

三、Ozone 烧录配置

image.png

打开Ozone,点击...,搜索STM32F103C8,点击蓝色所示,然后点击Next即可进行下一步

image.png

接上开发板之后会有声音和弹窗,点接受,后续在大框框里会有显示(没显示也没关系可能是卡了没及时更新,但要是没声音和弹窗就考虑更换传输线,多试试,几乎都是线的问题),然后点击Next即可进行下一步

image.png

点击...找到刚刚CLion编辑过后的代码即以.elf结尾的文件,打开并点击Next即可进行下一步

image.png

在这个页面所有的都不用改,点击Finish即可

image.png

点绿色开关,点接受,后续点yes即可

image.png

等绿色开关变红了就点击旁边的三角形即可进行烧录,即可观察实践现象了,期待你们后续精彩项目。

四、作业

⑴单个开关控制蓝色LED亮灭。按住开关,蓝色LED亮;松开开关,蓝色LED灭。——30分

⑵控制开发板上LED灯以蓝两次,红两次,绿两次,白两次的顺序点亮,同一种颜色的亮灭间隔200ms,不同颜色之间间隔500ms。——30分

⑶单个开关控制红色LED亮灭。按键按下一次红色LED亮,按键再按下一次红色LED熄灭。 ——20分

⑷点亮绚丽小灯 ——20分

lQDPKH3vE5WOJCXNA4DNBLiwdNbJ40ndXeMJZF6RTlmTAA_1208_896.jpeg

lQDPJwlJRE94guXNAqTNBLSwFxnmOBw2oPEJZF6SH3FbAA_1204_676.jpeg

lQDPKcqlQUKXwjXNAhnNBAuw6mwnYxbJxnEJZH1L_68lAA_1035_537.jpeg

最近更新