设为首页 收藏本站
开启辅助访问 切换到宽版

  找回密码
  立即注册

QQ登录

只需一步,快速开始

快捷导航
  • 论坛
  • 问答区
  • 单片机教程
  • 单片机DIY
  • 电子DIY
  • 帮助

热门: 51单片机 | 24小时必答区 | 单片机教程 | 单片机DIY制作 | STM32 | Cortex M3 | 模数电子 | 电子DIY制作 | 音响/功放 | 拆机乐园 | Arduino | 嵌入式OS | 程序设计

搜索
» 论坛 嵌入式/单片机论坛 STM32/8 STM32点亮一个LED灯的程序和电路详细介绍-库函数操作版 ...
返回列表 发新帖
查看: 20064|回复: 2
打印 上一主题 下一主题
收起左侧

STM32点亮一个LED灯的程序和电路详细介绍-库函数操作版本

[复制链接]
跳转到指定楼层
楼主
ID:399582 发表于 2018-9-18 16:15 | 只看该作者 | 只看大图 回帖奖励 | 倒序浏览 | 阅读模式
2.1 点亮你的第一个LED 灯
在讲第一个实例之前, 我要先对许多初入 ARM的朋友说明几个关
键的学习问题:
首先是学习资料的准备,在新的处理器出来后,我们要如何入门,如何进行开发,这时相关的技术手册就是必须的了,以后我们的讲解与分享中都会回到技术手册,来分析下如何采用手册做到空手入门,实际上这也是工程师的必经之路。MCU 的设计者设计了非常多的外设寄存器结合处理器的内核构成了一个微控制器,而应用工程师仅仅只需要知道如何操作寄存器,而寄存器的操作实际上往往是傻瓜式的操作,当你认识到这一点的时候就知道 MCU 的控制实际上没有什么难度的,难的地方就是你要知道这些寄存器是干什么的,不同状态下代表什么。对于一个英语功底非常好的朋友读这些手册就相对简单了。
2.1.1原理分析:
大家之前学习过 51 单片机,也使用过 IO 口。与 ARM CORTEX M0 的 IO 口配置有点区别,51 不需要设置 IO 口为输入或者输出,而 CORTEX M0 的 IO 口有多种状态需要设置,那么下面我们一一介绍:
首先看看 IO 口的模式,查看 030 参考手册,找到如下寄存器说明,IO 口可以配置为 4 种模式:输入模式,输出模式,复用模式,模拟通道模式。由于 stm32f030 系列多数的 IO 管脚复用了其它的外设功能,比如 I2C,SPI,UART 等,那么此时就就必须要设置IO 口为复用模式。而模拟通道则作为AD,DA 的时候使用:

我使用下面一个等效图说明一下推挽输出和开漏输出。如左图所示:U1 是输出锁存器,执行 GPIO 管脚写操作时,在写脉冲(Write Pulse)的作用下,数据被锁存到 Q和/Q。T1 和 T2 构成 CMOS 反相器,T1 导通或 T2 导通时都表现出较低的阻抗,但T1 和T2不会同时导通或同时关闭,最后形成的是推挽输出。如右图所示,为 GPIO 管脚在开漏输出模式下的等效结构示意图。开漏输出和推挽输出相比结构基本相同,但只有下拉晶体管 T1 而没有上拉晶体管。同样,T1 实际上也是多组可编程选择的晶体管。开漏输出的实际作用就是一个开关,输出“1”时断开、输出“0”时连接到 GND(有一定内阻) 。


关于其数字的复用功能会在相应外设里进行介绍,我们这里只是谈通用 IO 口,也就是 GPIO,现在就来点亮一个 LED灯,学过 51 的同学可以回忆下,51 是通过设置 IO口输出 0 或者 1 来驱动 LED灯的亮灭。在 STM32F030 中,我们通过设置 IO 端口为输出来点亮LED等。
2.1.2硬件准备:
如上图所示: 青风 STM32F030 豪华开发板上,通过管脚 PA11和管脚 PA12 连接2 个 LED灯,我们下面的任务首先来点亮它。IO 管脚接分别接一个发光二级管,然后接高电平,因此当把 IO 管脚定义为输出低电平的时候,就可以点亮发光二极管了。

上图红色框框中的几个文件都是 ST 官方给我们编好的库函数。那边用户在使用中,只需要编写 led.c 驱动文件和 main.c 主函数就 OK,整个工程项目大家如果加入分层的思想那么就对之后的移植非常有利。打个比方:底层和应用程隔离。底层驱动和应用层无关,main.c使用的函数在 led.c 驱动中已经些好,这些才和硬件有关,这是需要移植到不同硬件时, main主函数是可以不做任何修改的, 只需要修改和底层相关的led.c

上面的函数中GPIO_ResetBits函数和GPIO_SetBits函数在stm32f0xx_gpio.c驱动文件中所定义了。分别表示复位和置位相关 IO 管脚。
那么主函数的编写就比较简单了,我们需要调用下面 2 个头文件,才能够直接使用我们定义的子函数。如下使用 LED_Open()函数就能够点亮一个 LED 灯了,是不是很简单。

那么加入一个小的延迟delay函数和打开与关闭LED子函数相结合, 就可以实现LED闪烁的功能了,写一个软件延迟,函数如下所示:

下载到青风 STM32F030 开发板上运行后的效果如下图所示,按下复位键,LED 开始闪烁:如图所示,按下复位键后,上方的用户led灯不停闪烁

完整的pdf格式文档51黑下载地址:
第一节:点亮led灯.pdf (569.55 KB, 下载次数: 81)
第三节:按键控制.pdf (492.41 KB, 下载次数: 27)
第七节:通用定时器time.pdf (430.4 KB, 下载次数: 22)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:439256 发表于 2018-12-4 15:15 | 只看该作者
学习需要感谢
回复

使用道具 举报

板凳
ID:436524 发表于 2018-12-5 15:01 | 只看该作者
好好学习
回复

使用道具 举报

返回列表 发新帖
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版| 小黑屋| 51黑电子论坛 | 51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表

玻璃钢生产厂家玻璃钢雕塑漆多少钱德州玻璃钢室外雕塑美陈玻璃钢卡通雕塑货源充足樱花树商场美陈嘉兴景区玻璃钢雕塑浙江通道商场美陈售价玻璃钢民俗雕塑设计合肥玻璃钢卡通雕塑价格陕西大型玻璃钢雕塑销售厂家上海节庆商场美陈制作玻璃钢雕塑找天天软文推广开业商场美陈订购玻璃钢花盆模具厂家直销商场踏青美陈福建大型商场美陈现价玻璃钢佛像雕塑哪家安全湘潭玻璃钢雕塑设计价格多少钱遵义玻璃钢景观雕塑经验丰富2020上海商场圣诞美陈常德玻璃钢伟人像雕塑菏泽标牌校园玻璃钢雕塑厂家周年庆典商场美陈哪里有南宁步行街玻璃钢雕塑定做价格2019商场美陈玻璃钢蔬菜雕塑南安玻璃钢雕塑定制玻璃钢雕塑的施工方案昭通市玻璃钢雕塑设计供应玻璃钢彩绘小奶牛雕塑玻璃钢智能雕塑报价香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化