STM32 按键输入
2024-10-18 19:29:21
#include "stm32f10x.h"
#include "key.h"
//按键初始化函数
void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
#ifndef __KEY_H #define __KEY_H #define KEY0 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)//读取按键0 #define KEY1 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)//读取按键1 #define KEY2 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)//读取按键2 #define KEY3 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)//读取按键3 #define KEY4 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_4)//读取按键0 #define KEY5 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)//读取按键1 #define KEY6 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6)//读取按键2 #define KEY7 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)//读取按键3 #define KEY8 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)//读取按键3 void KEY_Init(void);//IO初始化 #endif
#include "stm32f10x.h" #include <stdio.h> #include "sys.h" #include "delay.h" #include "oled.h" #include "24l01.h" #include "key.h" /* OLED SCL-D0--PC15 SDA-D1--PC14 RST---PC13 DC---PB4*/ /* 2401--SPI1 MISO-PA6 SCK-PA5 CE-PB3 IRQ-PA3 MOSI-PA7 CSN-PA2 */ // c8t6 u8 tmp_buf[] ; int main(void) { Stm32_Clock_Init();//系统时钟设置为外部晶振,9倍频 delay_init();//系统SysTick初始化 JTAG_Set(JTAG_SWD_DISABLE); //=====关闭JTAG接口 JTAG_Set(SWD_ENABLE); //=====打开SWD接口 可以利用主板的SWD接口调试 OLED_Init(); KEY_Init(); //NRF24L01_Init(); //=====NRF24L01无线模块初始化 // NRF24L01_FindMyself(); //=====NRF24L01无线模块检查 检测不到就停在这边自检闪灯 //tmp_buf[0]= 1 ; ) { // TX_Mode(); // OLED_ShowNumber(0,30,tmp_buf[0],5,12); // NRF24L01_TxPacket(tmp_buf); ) { delay_ms(); OLED_ShowString(,,"Key0"); } ) { delay_ms(); OLED_ShowString(,,"Key1"); } ) { delay_ms(); OLED_ShowString(,,"Key2"); } ) { delay_ms(); OLED_ShowString(,,"Key3"); } ) { delay_ms(); OLED_ShowString(,,"Key4"); } ) { delay_ms(); OLED_ShowString(,,"Key5"); } ) { delay_ms(); OLED_ShowString(,,"Key6"); } ) { delay_ms(); OLED_ShowString(,,"Key7"); } ) { delay_ms(); OLED_ShowString(,,"Key8"); } OLED_Refresh_Gram(); } }
最新文章
- OWIN 中 K Commands(OwinHost.exe)与 Microsoft.AspNet.Hosting 的角色问题
- EL表达式的使用
- Java算法-插入排序
- FZU 2191 完美的数字
- Jquery的普通事件和on的委托事件
- html-制作导航菜单
- Android连接网络打印机,jSocket连接网络打印机
- 使用windows远程桌面连接Windows Azure中的Ubuntu虚拟机
- cordova ios
- 解决MS Azure 不能ping的问题
- C#中dynamic、ExpandoObject 的正确用法
- js中substring或split方法取得URL中的域名
- jquery 左边分类+插件
- 第七次作业:Beta阶段综合报告(Java-Team)
- SpringBoot系列: Pebble模板引擎语法介绍
- 跳转Activity时清除当前Activity
- ht学习流程
- 08、共享变量(Broadcast Variable和Accumulator)
- web文件上传
- 微信小程序开发总结(一)
热门文章
- salesforce 零基础学习(五十六)实现getById
- Hibernate整合Spring异常&#39;sessionFactory&#39; or &#39;hibernateTemplate&#39; is required
- mysql交互协议解析——mysql包基础数据、mysql包基本格式
- 解析大型.NET ERP系统 分布式应用模式设计与实现
- 【Win 10 应用开发】TCP通信过程
- 前端学PHP之PHP操作memcache
- MySql - InnoDB - 事务 , Php版
- Hibernate(2)——Hibernate的实现原理总结和对其模仿的demo
- 你真的会玩SQL吗?你所不知道的 数据聚合
- ASP.NET Core 中文文档 第三章 原理(14)服务器