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

摄影网站制作设计wordpress迁移discuz

摄影网站制作设计,wordpress迁移discuz,网站源码换模板,我自己怎么建网站#x1f3ac; 秋野酱#xff1a;《个人主页》 #x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 矩阵按键原理图按键状态检测单行按键状态检测多行按键状态检测 状态记录状态优化循环优化 矩阵按键 矩阵键盘是一种常见的数字输入… 秋野酱《个人主页》 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 矩阵按键原理图按键状态检测单行按键状态检测多行按键状态检测 状态记录状态优化循环优化 矩阵按键 矩阵键盘是一种常见的数字输入设备由多行多列的按键组成。每个按键都有一个唯一的行列坐标通过行列坐标可以确定按键的编号从而实现对数字或字母的输入。 原理图 矩阵键盘的基本结构包括按键、行引脚和列引脚。按键一般是机械按键或触摸按键行引脚和列引脚分别与矩阵键盘的行和列相连用于检测按键的输入状态。 按键状态检测 单个按键状态检测 ● 输出端的电平 ● 输入端的状态 ● 按键抬起 通过按键抬起时的状态我们分析输入端的电平信号来确定抬起时输入端的默认电平状态。 通过按键按下时的状态我们分析输入端的电平信号来确定按下时输入端的默认电平状态。 通过分析确认默认输出端和输入端都是高电平 ● 当输出端输出低电平时输入端为高电平则开关为抬起状态 ● 当输出端输出低电平时输入端为低电平则开关为按下状态 单行按键状态检测 通过逐一检测输入端的状态来判断按键是否按下。 多行按键状态检测 首先将第一行输出低电平其余行设置为高电平。目的是为了只测试第一行的按键状态。 然后将第二行输出低电平其余行设置为高电平。目的是为了只测试第二行的按键状态。 接着将第三行输出低电平其余行设置为高电平。目的是为了只测试第三行的按键状态。 最后将第四行输出低电平其余行设置为高电平。目的是为了只测试第四行的按键状态。 状态记录 通过自定义状态来记录按键状态 // 记录16个按键状态0为按下1为抬起 u16 key_state 0xFFFF;......void scan() { // 初始都是 高电平ROW_COL_RESET();NOP1();// ROW1// 给 row1 低电平读取COL1的值ROW1 0;NOP1();// 当前是UP当之前是DOWN则为UP// 当前是DOWN当之前是UP则为DOWN if(COL1 ! (key_state 0x01) 0) {if(COL1) {// 修改当前状态为UPkey_state | 0x01;printf(K1 Up\r\n);} else {// 修改当前状态为DOWNkey_state ~0x01;printf(K1 Down\r\n);}}...... }状态优化 通过define优化一些数值的操作方便在后续看代码时方便理解提高代码的阅读性。 // 记录16个按键状态0为按下1为抬起 u16 key_state 0xFFFF;#define KEY_UP 1 #define KEY_DOWN 0 // 第n个按键的状态 #define KEY_STATE(n) ((key_state (1 n)) n) #define SET_KEY_UP(n) (key_state | (1 n)) #define SET_KEY_DOWN(n) (key_state ~(1 n))#define ROW_COL_RESET() {ROW11,ROW21,ROW31,ROW41;COL11,COL21,COL31,COL41;}......void scan() {// 初始都是 高电平ROW_COL_RESET();NOP1();// ROW1// 给 row1 低电平读取COL1的值ROW1 0;NOP1();// 当前是UP当之前是DOWN则为UP// 当前是DOWN当之前是UP则为DOWNif(COL1 ! KEY_STATE(0)) {if(COL1) {// 修改当前状态为UPSET_KEY_UP(0);printf(K1 Up\r\n);} else {// 修改当前状态为DOWNSET_KEY_DOWN(0);printf(K1 Down\r\n);}}...... }循环优化 操作的按键众多通过循环的方式来操控每一个按键减少代码量方便维护。 #define ROW 4 #define COL 4// 记录16个按键状态0为按下1为抬起 u16 key_state 0xFFFF;#define KEY_UP 1 #define KEY_DOWN 0 // 第n个按键的状态 #define KEY_STATE(r, c) ((key_state (1 (r * ROW c))) (r * ROW c)) #define SET_KEY_UP(r, c) (key_state | (1 (r * ROW c))) #define SET_KEY_DOWN(r, c) (key_state ~(1 (r * ROW c)))#define ROW_COL_RESET() {ROW11,ROW21,ROW31,ROW41;COL11,COL21,COL31,COL41;}void scan() {u8 i, j;for(i 0; i ROW; i) {// 初始都是 高电平ROW_COL_RESET();NOP1();ROW_ON(i);for(j 0; j COL; j) {// 当前是UP当之前是DOWN则为UP// 当前是DOWN当之前是UP则为DOWNif(COL_STATE(j) ! KEY_STATE(i, j)) {if(COL_STATE(j)) {// 修改当前状态为UPSET_KEY_UP(i, j);printf((%d, %d) Up\r\n, (int)i, (int)j);} else {// 修改当前状态为DOWNSET_KEY_DOWN(i, j);printf((%d, %d) Down\r\n, (int)i, (int)j);}}}} }
http://www.pierceye.com/news/720154/

相关文章:

  • 天津工程建设网官方网站wordpress 静态化插件
  • 洛阳公司青峰做的企业网站设计本app
  • 宁波网站建设设计高效的设计公司
  • c2c网站架构免费推广网站工具
  • 网站建设案例基本流程图咨询公司名字大全
  • 成功的电子商务网站设计律师推广网站排名
  • 东莞桥头网站建设合肥商城网站建设
  • 做网站的准备什么合肥制作网页设计
  • 医院门户网站建设规划柳州建设厅官方网站
  • 公司建网站怎么建做网站的公司都很小吗
  • 手机cms建站系统重庆怎么站seo
  • 益阳建设局网站网站 设计 趋势
  • 奉贤网站建设网站制作金融企业如何做好网络推广
  • 范湖网站建设团队建设银行激活网站
  • 旅游网站开发网站设计报告书邢台旅游景点大全排名 免费
  • 如何创建div做网站推荐佛山伦教网站设计
  • 建设电子商务网站前的市场分析网站后台ftp
  • 华丽的网站模板律所网站建设
  • 网站 管理系统搜索关键词的方法
  • 网站桥页也叫设计班级网站建设
  • 安庆网站建设工作室方维网络科技有限公司
  • 手机网站开发利用流程做网盟行业网站的图片广告的销售
  • 厦门建公司网站怎样自做网站
  • 兰州市网站建设公司无锡上海网站建设
  • 轻骑铃木摩托车官网资源专业网站优化排名
  • 做电影网站赚钱吗中企网站建设
  • 罗源网站建设免费建网站 步骤
  • 哪些网站做简历合适wordpress校园
  • 网站子目录怎么做国内做的比较好的二手网站
  • 短链生成网站html模板免费十个网页