L1 GPIO 实践
实验资源
本实验使用 Stellaris-Nexus 的 PB0、PA7、PA6 三色 LED,以及 PA8、PA4 两个按键。配置前先对照LED、按键与 ADC 原理图。
一、STM32CubeMX 配置

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

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

进入新的工程之后首先要做的是点击SYS,在Debug里面点击Serial Wire,然后观察是否有红色圆圈所示的内容,有的话就正确。
保留 SWD 调试接口
所有新工程都应将 SYS -> Debug 配置为 Serial Wire。如果关闭 SWD 并重新分配 PA13/PA14,后续下载可能无法直接连接,需要结合 BOOT、复位或“复位下连接”恢复。

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

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

选项介绍:
(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 : 用户标签

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

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

按照箭头所指依次点击,最后生成代码即可
二、CLion 配置

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

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

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

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

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

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

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

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

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

等绿色开关变红了就点击旁边的三角形即可进行烧录,即可观察实践现象了,期待你们后续精彩项目。
四、作业
⑴单个开关控制蓝色LED亮灭。按住开关,蓝色LED亮;松开开关,蓝色LED灭。——30分
⑵控制开发板上LED灯以蓝两次,红两次,绿两次,白两次的顺序点亮,同一种颜色的亮灭间隔200ms,不同颜色之间间隔500ms。——30分
⑶单个开关控制红色LED亮灭。按键按下一次红色LED亮,按键再按下一次红色LED熄灭。 ——20分
⑷点亮绚丽小灯 ——20分


