找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3008|回复: 0
打印 上一主题 下一主题
收起左侧

基于STM32固件库KEY检测的学习经验

[复制链接]
跳转到指定楼层
楼主
今天研究了一天按键检测,终于弄出来了,分享一下学习历程,菜鸟编写,愿与大家共同讨论不足之处

说明:
程序使用的是普中 PZ6806L 开发板,本人也是菜鸟一个,刚学 STM32 没多久,本人愿将学习经验与大家分享,程序多有不足之处,敬请谅解!
程序中的 LED0 就是硬件上的 LED1
经验总结:1、定义函数的时候要写参数类型,就算没有参数,也要写 void,如果不写的话在头文件声明函数的时候会警告。2、按键检测时,如果引脚外部有上拉电阻时,如 KEY_UP,
则引脚要配置成下拉输入模式(下拉电阻好像是 40K) ,检测按下为高电平;如果直接接地,如 K1、K2、K3,则要配置成上拉输入模式,检测按下为低电平,具体原因可以查看芯片内
部电路框图
硬件连接图:


单片机源程序如下:

  1. /********************************************************************************
  2. * file : main.c
  3. * author : GongWang
  4. * version : V1.0
  5. * date : 2017-11-12
  6. * Description : 用按键 KEY_UP控制 LED0,按一次对应的 LED亮或灭
  7. ********************************************************************************/
  8. #include "stm32f10x.h"
  9. #include "led.h"
  10. #include "key.h"
  11. /*****************************************************************************
  12. * Function Name : main
  13. * Input : None
  14. * Output : None
  15. * Return : None
  16. * Description : 主函数
  17. ********************************************************************************/
  18. int main(void)
  19. {
  20. /*LED的引脚配置*/
  21. Led_Config();
  22. /*LED的初始化,高电平关*/
  23. Led_Iint();
  24. /*按键 KEY_UP 引脚配置*/
  25. Key_Config();
  26. while( 1 )
  27. {
  28. if(Key_Test() == true)
  29. ……………………

  30. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
基于STM32固件库KEY检测.pdf (193.7 KB, 下载次数: 13)




评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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