当前位置: 首页 > news >正文

赣州建设公司网站品牌网站建设專註大蝌蚪

赣州建设公司网站,品牌网站建设專註大蝌蚪,淘宝式网站建设,wordpress百度联盟一.查看电路图 按键是使用的PB0,PB1,PB2,PA0四个引脚,然后使用CubeMX配置引脚,4个脚都配置为输入模式和上拉。 程序生成之后把不用的删掉,需要的留下,这里我把函数名改了。 然后写按键扫描读取程序,这里参考的正点原子…

一.查看电路图

按键是使用的PB0,PB1,PB2,PA0四个引脚,然后使用CubeMX配置引脚,4个脚都配置为输入模式和上拉。

程序生成之后把不用的删掉,需要的留下,这里我把函数名改了。

然后写按键扫描读取程序,这里参考的正点原子的按键输入程序(感谢原子哥感谢左神)。

这是点C程序:

#include "key.h"void Key_Init(void)
{GPIO_InitTypeDef GPIO_InitStruct = {0};__HAL_RCC_GPIOA_CLK_ENABLE();__HAL_RCC_GPIOB_CLK_ENABLE();/*Configure GPIO pin : PA0 */GPIO_InitStruct.Pin = GPIO_PIN_0;GPIO_InitStruct.Mode = GPIO_MODE_INPUT;GPIO_InitStruct.Pull = GPIO_PULLUP;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);/*Configure GPIO pins : PB0 PB1 PB2 */GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2;GPIO_InitStruct.Mode = GPIO_MODE_INPUT;GPIO_InitStruct.Pull = GPIO_PULLUP;HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}/*输入:1|0 模式 1为连续按,0为不连续按*/unsigned char Key_Scan(unsigned char mode)
{static unsigned int key_mode;if(mode == 1)key_mode = 1;if(key_mode == 1&&(KEY0 == 0||KEY1 == 0||KEY2 == 0||KEY3 == 0)){HAL_Delay(10);key_mode = 0;if(KEY0 == 0){return KEY0_FLG;}else if(KEY1 == 0){return KEY1_FLG;}else if(KEY2 == 0){return KEY2_FLG;}else if(KEY3 == 0){return KEY3_FLG;}}else if(KEY0 == 1||KEY1 == 1||KEY2 == 1||KEY3 == 1) key_mode = 1;return 0;
}

这是点H程序:

#ifndef __KEY_H
#define __KEY_H
#include "main.h"#define KEY0 HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)
#define KEY1 HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)
#define KEY2 HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_2)
#define KEY3 HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)#define KEY0_FLG 1
#define KEY1_FLG 2
#define KEY2_FLG 3
#define KEY3_FLG 4void Key_Init(void);
unsigned char Key_Scan(unsigned char mode);
#endif

这是主程序:滴答定时器10ms扫描一次,按键1按下的话LED显示0x55,按键2按下的话LED显示0xAA;Led_Disp程序是我自己写的,新手朋友注意

unsigned char key; 
int main(void)
{HAL_Init();SystemClock_Config();MX_GPIO_Init();LCD_Init();LED_Init();Key_Init();while (1){if(uwTick % 10 == 0){key=Key_Scan(0);}if(key == 1){Led_Disp(0x55);}if(key == 2){Led_Disp(0xaa);}}}

接下来看效果:

按键演示

http://www.yayakq.cn/news/763990/

相关文章:

  • 免费发布网站博物馆装饰设计公司
  • 关于建设 网站的请示怎样在百度上免费做广告
  • frontpage做内部网站广东省建设监理协会网站
  • 网站推广策划思路与执行上海高端网站开发公
  • 福州网上商城网站建设wordpress第三方账号
  • 青岛公司建网站公司全屋定制怎么营销
  • 知名网站服务器建设工程招标专业网站
  • 福建高速公路建设指挥部网站西安分销商城网站建设
  • 内网网站建设所需硬件设备建筑网片规范
  • 浙江致居软装设计有限公司seo课程心得体会
  • 宝安附近做网站公司广西柳州科技学校网站建设
  • 西安制作网站新网站建设市场
  • 天津河西做网站哪家好网站建设松江公司
  • 什么网站可以做数据调查问卷做商城网站怎么做
  • 1核1g可以做几个网站栾川网站建设
  • 网站建设后压缩代码做古代风格头像的网站
  • 网站被黑 发现网站做选择题怎么快速选择
  • 织梦可以做大型网站吗建设品牌型网站制作
  • 云南网站建设优化技术极路由wordpress
  • 小羚羊网站怎么建设深圳网站设计x程序
  • 微网站建设套餐雅虎网站优化怎么做
  • 邯郸做网站流程wordpress后台添加广告
  • 快速创建一个网站做网站需要几步
  • 网站营销话术工程公司是做什么的
  • 卧龙区2015网站建设价格网页策划方案800字
  • 网站建设方案书0翻书效果网站
  • 网站设计公司长沙wordpress如何删除你好和设置菜单
  • 网站公司怎么做运营爱站权重是怎么计算的
  • 企业微信官方网站制作网页背景如何铺满
  • 濮阳做网站WordPress文章图片采集插件