(STM32基础)STM32实现LED闪烁LED流水灯蜂鸣器

news/2024/2/27 21:53:14

一、新建工程

1、按照新建工程步骤创建工程,新建start、library、user三个文件夹,从固件库添加相应文件

2、keilkil小程序用来清理listings和objects文件夹中编译产生的中间文件,以后需要打包工程的话可以先用keilkill先清理,这样文件夹会大大缩小所占内存。

 二、操作GPIO口点亮LED灯

1)使能RCC开启GPIO时钟

在library中可以查看外设函数库,先找到RCC.h文件  

拖到最下方,一般最下方都是.h文件的所有库函数声明

 实际操作:

使能GPIOA口的时钟

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

2)使用GPIO_Init函数初始化GPIO

 实际操作:

GPIO初始化函数来初始化GPIOA口

 结构体变量创建

 结构体变量的子变量创建:

 跳转到定义搜索子变量名找到可以设置的参数,设置所需参数。

子变量:MODE

 

 八种GPIO口模式:

AIN  =  Analog IN 模拟输入

IN-FLOATING = IN FLOATING 浮空输入

IPD = IPD In Pull Down  下拉输入

IPU = IPUIn Pull Up 上拉输入

OUT_OU = Out Open Drain 开漏输出

OUT_PP = Out Push Pul  推挽输出

AF_OD = Atl Open Drain 复用开漏

AF_PP = Atl Push Pull 复用推挽

选择推挽输出

子变量:Pin

选择面包板上连接的Pin_0口

子变量:Speed

默认选择速度为50MHz

3)使用输出或者输入的函数控制GPIO 

GPIO口所需要了解的函数(复位、初始化、结构体赋值、八个GPIO口读写函数 )

Setbits 两个参数设置所选GPIO口为高电平

ResetBits 两个参数设置所选GPIO口为低电平

WriteBit 三个参数设置(前两个选择端口)最后一个参考下列函数定义

实际操作:

ResetBits 设置所选GPIO口为低电平  点亮LED

Setbits 设置所选GPIO口为高电平 熄灭LED

注意:配置GPIO口时,推挽模式高低电平均有驱动能力,开漏模式低电平有驱动能力,高电平时呈高阻态无驱动能力。

三、配置GPIO实现流水灯功能

1、通过查看PIN口定义  可以知道开启多个端口用 | 来实现 

2、通过使用GPIO_Write(); 函数来整体赋值Pin0-15个接口。

 通过查看函数的参数,第一个参数是GPIOA,第二个参数是直接赋指定值给输出数据寄存器。

因为c语言不支持直接写2进制,所以用十六进制代表二进制赋值。 

因为LED灯低电平点亮,所以0x0001按位取反。

八个灯的函数依次,最终实现流水灯闪烁现象。

 还可以通过创建一个点灯数组,来完成花式点灯。

四、配置GPIO实现蜂鸣器鸣响

直接复用LED点亮程序,给蜂鸣器的IO接线口低电平,蜂鸣器鸣响。

五、使用库函数的几种方法

1、打开.h文件的最下方,查看里面有哪些可以调用的函数,再邮件查看函数定义,查看调用方法参数。

2、打开库函数用户手册,但是此用户手册是老版本,大部分函数调用方法一致。新版标准函数库官方还没有推出用户手册。

在函数标准库文件夹内有一个帮助文档。

3、百度搜索参考别人的文档


http://www.ppmy.cn/news/890351.html

相关文章

3.2 LED闪烁流水灯蜂鸣器

LED闪烁 1.1 电路连接示意图 LED采用低电平点亮的方式,利用ST-Link的3.3V进行供电。 1.2程序设计 1.21知识储备 GPIO配置步骤步骤: 1. 第⼀步,使⽤RCC开启GPIO的时钟 2. 第⼆步,使⽤GPIO_Init()函数初始化GPIO 3. 第三步&#xff…

简述机器学习和深度学习的区别

🙌秋名山码民的主页 😂一个打过一年半的oier,写过一年多的Java,现在致力于学习iot应用的普通本科生 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 🙏作者水平有限,如发现…

[MySQL]MySQL表中数据的增删查改(CRUD)

[MySQL]MySQL表中数据的增删查改(CRUD) 文章目录 [MySQL]MySQL表中数据的增删查改(CRUD)1. 新增数据1.1 单列插入1.2 多列插入1.3 插入否则更新1.4 替换 2. 基本查询数据2.1 全列查询2.2 指定列查询2.3 查询字段为表达式2.4 为查询结果指定别名2.5 结果去重2.6 where子句2.7 or…

eclipse卡死问题优化

https://blog.csdn.net/dengjili/article/details/78562140

eclipse右键之后卡死

在打开eclipse之后,右键项目直接卡死 加载的项目过多,没有初始化完成就去右键项目导致卡死 解决方法 ①:等待初始化完成在右键项目; ②:删除workspace下面的.metadata目录,重启eclipse

win10 Microsoft Edge浏览器崩溃, Microsoft Edge 提示 网页无限次打开,直至电脑卡死

win10 edge 浏览器一直弹出 Microsoft Edge 提示 网页,无限次的打开。求大神帮帮忙

eclipse按Ctrl键卡死的问题。已解决!

我在eclipse中编辑3万行左右的代码时,在用ctrlc/v复制时eclipse经常会卡住较长的时间。 后来发现只要按下ctrl键就会卡,我猜测应该是因为eclipse中按住ctrl后可以用鼠标单击跳转到变量定义的地方,所以当按下ctrl键时eclipse会去生成这个映射…

IDEA卡死解决

找到IDEA的安装目录bin,修改这个文件 修改为: -Xms128m -Xmx1024m -XX:MaxPermSize250m -XX:ReservedCodeCacheSize150m

ie降级,解决ie卡死,打不开,弹出页空白等问题

刚刚碰到了ie的这个问题,找了百度,找了电脑管家修复,都未能解决此问题。无奈我想到去卸载ie。 结果卸载后重启,ie就没了,勾选上后就会又安装了原来的不能用的ie。并且在勾选和反勾选中还会出现一些部分未安装的问题。 …

IE浏览器卡死的问题

问题: IE浏览器打开时光标卡死,提示IE浏览器无响应。 解决办法:可能是插件有冲突,把迅雷在IE当中的两个插件禁掉就可以了。 具体步骤——打开IE工具项——管理加载项

[IE]Win7下IE点击切换图标出现卡死的问题解决

登录时点击眼睛图标若干次就会出现整个页面卡死的状况,困扰了许久,一直认为是浏览器的问题(事实也确实是),win10的ie无该bug,其他浏览器也没有出现。唯独win7一枝独秀 调试器和浏览器均未报错,…

eclipse页面卡死,eclipse页面一直未响应,eclipse右击web项目就卡死的解决办法

使用eclipse经常会出现页面响应慢,页面假死,鼠标光标一直转圈,eclipse渐渐地模糊,右击项目eclipse直接卡死的情况。 eclipse卡死的原因有很多种,但很多时候它只是某个时候突然就卡了,那么说明明这个问题只是…

Vue项目上传图片后在ie浏览器卡死

首先申明,作为一名主业为后段开发的程序员,但是,我觉得前端我们也是需要了解和掌握的,这样开发起来可以和前端妹子很好的交流沟通,甚至有时可以直接指出他们的一些代码问题,这样看起来,前端妹子…

eclipse卡死未响应的解决办法

某天打开eclipse时一直未响应,重启多次都没解决,网上查了查之后想起来好像是上次没有正确关闭。找到了一个比较好的解决办法。 方案一(推荐使用,如果没有这个文件,就使用方案二): 到.metadata.p…

eclipse 摁住ctrl 键卡死

在eclipse中使用ctrlc ctrlv等操作,或者凡是携带ctrl的操作,都会让eclipse 卡顿很久 原因: eclipse中按住ctrl后可以用鼠标单击跳转到变量定义的地方,所以当按下ctrl键时eclipse会去生成这个映射,当文件比较大时&#…

解决Eclipse中的卡死现象

解决Eclipse中的卡死现象 取消验证 windows–>perferences–>validation 把 除了manual 下面的全部点掉,build下只留 classpath dependency Validator 关闭拼写检查 windows–>perferences–>general–> editors->Text Editors->spelling …

pdf ie中打开 会卡死

window.open 一个网络上的pdf,结果卡死。ie9.发现是标签的问题 。button标签改为a,span等标签即可。

jquery在IE下卡死问题解决方法

解决IE编码问题第一步: dataType:($.browser.msie) ? "text" : "xml" 先这样做让IE 识别返回的是text 还是xml 第二步: function parseXml(xml) { //XML IE编码问题第二步 if (jQuery.browser.msie) { // 判断浏览器是不是I…

ie firefox 点flash 卡死解决方案

ie firefox 点flash 卡死解决方案 重装电脑后,IE 和 FIREFOX都不能正常显示 FLASH。 解决方法如下。 在本机装一个 macromedia flash player FLASH播放器,然后为IE和FIREFOX装上FLASH插件即可。

ie 打开html文件 慢,win7系统使用ie浏览器访问网页显示缓慢、卡死的解决方法

很多小伙伴都遇到过win7系统使用ie浏览器访问网页显示缓慢、卡死的困惑吧,一些朋友看过网上零散的win7系统使用ie浏览器访问网页显示缓慢、卡死的处理方法,并没有完完全全明白win7系统使用ie浏览器访问网页显示缓慢、卡死是如何解决的,今天小…
最新文章