自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C橘子

一起学习,一起进步!

  • 博客(91)
  • 资源 (3)
  • 收藏
  • 关注

翻译 [Kivy] -基础&创建一个乒乓球程序

基础创建一个应用程序创建一个应用程序的步骤:继承APP类实现 build()方法,返回一个Widget实例,作为Widget Tree的根实例化自定义的类,调用run()方法一个例子如下:import kivykivy.require('2.1.0') # replace with your current kivy version !from kivy.app import Appfrom kivy.uix.label import Label# uix模块包含用户界面元素c

2022-05-13 10:52:43 268

原创 【PyG】异构图学习 - 图神经网络

使用PyG库进行异构图神经网络学习

2021-12-30 06:40:49 8554

原创 【PyG】创建自己的数据集-图神经网络

使用PyG创建自己的图数据集~

2021-12-28 23:43:29 4917 13

原创 【PyG】创建消息传递网络-图神经网络

使用PyG实现消息传递层。

2021-12-28 22:52:36 1469

原创 【PyG】简介 - 图神经网络

最近在学习图神经网络相关的知识,发现主要使用的库有两个:dgl和pyg,但是pyg的资料是英文的,而且网上资料也比较少,就翻译一下分享。

2021-12-26 21:01:06 7031 2

原创 【图神经网络】GraphSage - Inductive Representation Learning on Large Graphs

GraphSage算法是17年在NIPS上提出的一个图卷积网络的算法,这篇文章到现在就有了5090的引用次数,证明这篇文章在图神经网络领域有很重要的作用。作者想要解决的问题主要是大多数之前的算法都是直推式的,没有归纳式的能力,也就是对于未见过的节点表示能力不好。因此,本文作者提出了一种通用的归纳式学习框架-GraphSage,不向之前的网络直接学习节点的嵌入向量,而是学习到从邻居节点采样和聚合的函数(因为GCN算法的通用框架就是采样+聚合),使得网络具有归纳式学习的能力。算法中SAGE其实是 SAmple

2021-12-25 12:18:53 1265

原创 Dynamic Memory Based Attention Network for Sequential Recommendation【论文解读】

推荐系统最新论文解读

2021-12-15 10:50:10 1758 6

原创 Transformer源码解读 PyTorch

刚开始学习深度学习几个月,对于很多近年来提到的模型都不是很清楚,读到Transformer时,注意力是什么都不知道。后面读了一些其他相关的论文逐渐开始懂一些,但是不看到代码,总是有些地方不明白,所以找到了PyTorch实现的Transformer代码进行分析,同时也记录下来,希望能够帮助到大家。

2021-12-13 09:54:03 2173

原创 PyTorch搭建网络模型流程总结

PyTorch搭建模型流程总结:将PyTorch定义并训练模型的主要步骤进行总结。最后实现了一个手写数字识别的案例​

2021-12-01 23:20:02 1132 1

原创 基因-高通量测序-变异检测

基因变异检测​ 本周的任务是弄清楚基因检测是什么,本来以为挺简单的,后来发现自己基本的染色体都忘干净了。​ 基因变异检测看名字就知道是针对基因的,但是基因是什么呢?感觉基因像是一种抽象的概念,那么该怎么检测呢?1. 什么是基因​ 基因(英语:gene),在生物学中是指“携带遗传信息的基本物质单位”(基本遗传单位)。而自从确定遗传信息的分子载体为核酸后,基因即指能够遗传且具功能性的一段DNA或RNA序列,详细来说,其为DNA或RNA大分子内一段编码基因产物(RNA或蛋白质)的合成)的核苷酸序列。

2021-11-09 17:08:36 2807

原创 Python纯手动搭建BP神经网络--手写数字识别

1 实验介绍实验要求: 实现一个手写数字识别程序, 如下图所示, 要求神经网络包含一个隐层, 隐层的神经元个数为 15。整体思路:主要参考西瓜书第五章神经网络部分的介绍,使用批量梯度下降对神经网络进行训练。Tip: 整体代码及数据集链接在文末2 读取并处理数据数据读取思路:数据集中给出的图片为28*28的灰度图,利用plt.imread()函数将图片读取出来后为 28x28 的数组,如果使用神经网络进行训练的话,我们可以将每一个像素视为一个特征,所以将图片利用numpy.reshape方法将

2021-11-04 22:55:39 6416 11

原创 LeetCode - 11-盛最多水的容器(Python)

题目给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入: [1,8,6,2,5,4,8,3,7]输出: 49解由于最大高度由两侧距离和...

2019-10-18 21:37:42 187

原创 LeetCode - 9 - 回文数(C语言)

题目判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。解boo...

2019-10-18 19:12:42 254

原创 LeetCode - 8 - 字符串转换整数 (atoi)(C语言)

题目请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可...

2019-10-09 10:04:08 331

原创 LeetCode - 7 - 整数反转(Python)

题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21解代码思路简单:首先将符号提取出来,然后对 x 取绝对值,将 x 的每一位压入栈中,然后在从栈顶逐步弹出元素。最后进行符号转换以及溢出判断。如果是C++等强类型语言这里需要注意每次进...

2019-10-08 18:23:18 178

原创 LeetCode - 6 - Z 字形变换(Python)

题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:...

2019-10-03 13:21:08 211

原创 LeetCode - 94 - 二叉树的中序遍历 (Python)

标题给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2]递归首先,递归的方法很简单,将访问函数写为向列表中添加元素即可。# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val...

2019-09-29 21:23:45 364

原创 LeetCode - 3 - 无重复字符的最长子串 (Python)

题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。自己想的最low解想的是使用一个字符串存储当前的字串,用两个首尾指针检测当前字串长度,并不断更新。class Solution: def lengthOfLongestSubstring(sel...

2019-09-28 08:42:27 535

原创 OpenCV - Haar+Adaboost人脸检测(Python实现)

特征:像素经过运算之后得到的某一个结果。Harr特征haar特征主要分为以下几类:特征 = 整个区域权重1 + 黑色权重权重2= (黑+白)1+黑(-2)= 黑 + 白-黑2= 白- 黑遍历过程从上到下从左到右依次遍历,要考虑图片以及模板大小。当图片size=100100 模板size=1010,需要100张模板才能覆盖再有很多次缩放之后运算量就会很大。就引入了积分图。积分图...

2019-09-27 08:57:18 3228

原创 OpenCV - 图像修补(Python实现)

#图片修补import cv2import numpy as npimg = cv2.imread('img.jpg',1)#画两条线for i in range(200,300): img[i,200] = (255,255,255) img[i,200+1] = (255,255,255) img[i,200-1] = (255,255,255)for i ...

2019-09-26 20:43:03 2898

原创 OpenCV - Sobel算子源码实现边缘检测(Python实现)

Soble算子边缘检测就用算子模板卷积求像素点的梯度,如果梯度大于设定值则认为是边缘点,否则不是边缘点。import cv2import numpy as npimport randomimport mathimg = cv2.imread("img.jpg",1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]cv...

2019-09-25 21:43:16 2110 1

原创 TensorFlow - 神经网络逼近股票价格

流程首先我们模拟出一个15天的股票数据,包括收盘价格和开盘价格。首先我们将数据进行归一化操作。dateNormal = np.zeros([15,1])priceNormal = np.zeros([15,1])for i in range(0,15): dateNormal[i,0] = i/14.0 priceNormal[i,0] = endPrice[i]/3000...

2019-09-25 07:56:55 238

原创 LeetCode - 2 - 两数相加 (C++)

题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&g...

2019-08-03 17:30:07 802 1

原创 CSP - 201903-2 - 二十四点 (C++)

解题思路由于输入格式固定,所以比较好计算。首先创建一个操作数栈和一个运算符栈,读入的字符分别进栈,当运算符栈读入的为+号时不动,读入减号时将后一个操作数转换为负数(-1*x),读入乘除时出栈两个操作数进行运算,将结果入栈,最后将剩余的运算符进行加法操作。注意几个注意点:除法时需要注意除数与被除数的顺序。减号转换为加负数是因为:如果有一个表达式为 a-b*c-d 时c-d的-号视为...

2019-08-02 19:51:04 3553 2

原创 数据结构 - 排序(C++)

基本概念稳定性如果i==j,且i在j前面,排序完成后i仍旧在j前面则这个排序算法是稳定的,否则不稳定。

2019-08-01 14:38:16 165

原创 OpenCV - 使用特征匹配和单应性查找对象(Python实现)

基础联合使用特征提取和 calib3d 模块中的 findHomography 在复杂图像中查找已知对象.之前在一张杂乱的图像中找到了一个对象(的某些部分)的位置。这些信息足以帮助我们在目标图像中准确的找到(查询图像)对象。为了达到这个目的可以使用 calib3d 模块中的cv2.findHomography()函数.如果将这两幅图像中的特征点集传给这个函数,他就会找到这个对象的透视图变换。然...

2019-08-01 13:55:55 856

原创 OpenCV - 特征匹配(Python实现)

蛮力( Brute-Force)匹配Brute-Force匹配非常简单,首先在第一幅图像中选取一个关键点然后依次与第二幅图像的每个关键点进行(描述符)距离测试,最后返回距离最近的关键点.对于BF匹配器,首先我们必须使用cv2.BFMatcher()创建 BFMatcher 对象。它需要两个可选的参数.第一个是normType,它指定要使用的距离测量,默认情况下,它是cv2.NORM_L2....

2019-07-31 14:48:56 3692

原创 CSP - 201903-1 - 小中大 (C++)

试题编号 201903-1试题名称 小中大时间限制 1.0s内存限制 512MB#include <iostream>using namespace std;int main(){ int n, mid1, mid2, temp, max, min; float mid; cin>>n; //输入n cin>>temp; //输入第...

2019-07-27 20:50:56 1107

翻译 OpenCV - ORB算法(Python实现)

原理ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点提取和描述的算法,这个算法是由Ethan Rublee, Vincent Rabaud, Kurt Konolige以及Gary R.Bradski在2011年一篇名为“ORB:An Efficient Alternative to SIFTor SURF”的文章中提出.ORB算法分为两部分,分别是特征点...

2019-07-27 17:50:35 3492

翻译 OpenCV - BRIEF特征描述子(Python实现)

原理BRIEF:一种对已检测到的特征点进行描述的算法,它是一种二进制编码的描述子,在图像匹配时使用BRIEF能极大的提升匹配速度.代码import numpy as npimport cv2from matplotlib import pyplot as pltimg = cv2.imread('image.jpg',0)# Initiate FAST detectorstar ...

2019-07-27 17:43:54 1809

原创 CSP - 201612-1 - 中间数 (C++)

题目试题编号201612-1试题名称中间数时间限制1.0s内存限制256.0MB问题描述  在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。  给定一个整数序列,请找出这个整数序列的中间数的值。输入格式  输入...

2019-07-26 18:23:33 253

翻译 OpenCV - FAST 算法(Python实现)

原理FAST 全称 Features from accelerated segment test,一种用于角点检测的算法,该算法的原理是取图像中检测点,以该点为圆心的周围的16个像素点判断检测点是否为角点,通俗的讲就是中心的的像素值比大部分周围的像素值要亮一个阈值或者暗一个阈值则为角点.步骤.一个以像素p为中心,半径为3的圆上,有16个像素点(p1、p2、…、p16)定义一个阈值,计算...

2019-07-26 17:49:47 1302

原创 数据结构 - 图-Graph(C++)

基本概念#define MaxSize 10 //最大顶点数目#define INF 10 //边的最大权值 存储结构邻接矩阵//邻接矩阵 typedef struct{ int no; //定点编号 char info; //顶点其他信息 }VertexType; //定点类型typedef struct { int edges[MaxSize][MaxSi...

2019-07-26 11:05:27 3881

翻译 OpenCV - SIFT-SURF(Python实现)

实现步骤cv2.xfeatures2d.SIFT_create(实例化sift)sift.detect(找出关键点)cv2.drawKeypoints(画出关键点)sift.compute(根据关键点计算sift向量)参数sift = cv2.xfeatures2d.SIFT_create()参数说明:sift为实例化的sift函数kp = sift.detect(gray,...

2019-07-25 17:29:38 4328 1

原创 CSP - 201509-1 - 数列分段 (C++)

题目试题编号201509-1试题名称数列分段时间限制1.0s内存限制256.0MB问题描述  给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式  输入的第一行包含一个整数n,表示数列中整数的个数。  第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式  输...

2019-07-24 21:52:04 185

原创 CSP - 201503-1 - 图像旋转 (C++)

题目试题编号201503-1试题名称图像旋转时间限制1.0s内存限制256.0MB问题描述:  旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。  计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式  输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。  接下...

2019-07-24 21:42:45 450

翻译 OpenCV - Shi-Tomasi 角点检测 (Python实现)

原理Shi-Tomasi 使用的打分函数为:R = min (λ1; λ2)如果打分超过阈值,我们就认为它是一个角点。我们可以把它绘制到 λ1 ~λ2 空间中,就会得到下图:从这幅图中,我们可以看出来只有当 λ1 和 λ2 都大于最小值时,才被认为是角点(绿色区域)。函数cv2.goodFeaturesToTrack ( image, maxcorners, qualityLevel...

2019-07-21 21:42:32 937

原创 CSP - 201412-1 - 门禁系统 (C++)

试题编号: 201412-1试题名称: 门禁系统时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述  涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。输入格式  输入的第一行包含一个整数n,表示涛涛的记录条数。  第二行包含n个整数,依次表示涛涛的记...

2019-07-21 16:24:39 506

翻译 OpenCV - Harris 角点检测(Python实现)

OpenCV 中的 Harris 角点检测函数cv2.cornerHarris(src, blockSize, ksize, k, dst=None, borderType=None)参数src数据类型为 float32 的输入图像blockSize角点检测中考虑的区域大小ksizeSobel求导中使用的窗口大小kHarris 角点检测方程中的...

2019-07-20 23:11:22 1986

原创 CSP - 201409-1 - 相邻数对 (C++)

题目试题编号: 201409-1试题名称: 相邻数对时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述  给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式  输入的第一行包含一个整数n,表示给定整数的个数。  第二行包含所给定的n个整数。输出格式  输出一个整数,表示值正好相差1的数对的个数。样例输入610 2 6 3 7 8样...

2019-07-20 22:46:41 256

数据结构-链栈(C语言实现)

数据结构-链栈(C语言实现)

2019-04-14

51外部中断1电平触发

51单片机实现外部中断1电平触发 /*----------------------------------------------- 名称:外部中断0电平触发 论坛:www.doflye.net 编写:shifang 日期:2009.5 修改:无 内容:通过中断接口P3.2连接的独立按键测试,按一次P1口的LED灯反向, 这里使用电平触发,所以一直按键不松开和一次按键效果不相同,按下会看到灯全部亮 说明中断一直在作用,用示波器看则是高频方波 ------------------------------------------------*/ #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 /*------------------------------------------------ 主程序 ------------------------------------------------*/ main() { P1=0x55; //P1口初始值 EA=1; //全局中断开 EX0=1; //外部中断0开 IT0=0; //电平触发 while(1) { //在此添加其他程序 } } /*------------------------------------------------ 外部中断程序 ------------------------------------------------*/ void ISR_Key(void) interrupt 0 using 1 { P1=~P1; //进入中断程序执行程序, //此时可以通过 EA=0指令暂时关掉中断 }

2018-03-17

矩阵键盘行列扫描

51单片机实现矩阵键盘行列扫描. #define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换 #define P2 P1 sbit LATCH1=P2^2;//定义锁存使能端口 段锁存 sbit LATCH2=P2^3;// 位锁存 unsigned char code dofly_DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71};// 显示段码值0~F unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码 unsigned char TempData[10]; //存储显示值的全局变量 void DelayUs2x(unsigned char t);//us级延时函数声明 void delay(unsigned char t); //ms级延时 void Display(unsigned char FirstBit,unsigned char Num);//数码管显示函数 unsigned char KeyScan(void);//键盘扫描 unsigned char KeyPro(void); void Init_Timer0(void);//定时器初始化 /*------------------------------------------------ 主函数 ------------------------------------------------*/ void main (void) { unsigned char num,i,j; unsigned char temp[8]; Init_Timer0(); while (1) //主循环 { num=KeyPro(); if(num!=0xff) { if(i<8) { temp[i]=dofly_DuanMa[num]; for(j=0;j<=i;j++) TempData[7-i+j]=temp[j]; } i++; if(i==9)//多出一个按键输入为了清屏 原本应该为8 { i=0; for(j=0;j<8;j++)//清屏 TempData[j]=0; } } //Display(0,8); //显示全部8位 //主循环中添加其他需要一直工作的程序 } } /*------------------------------------------------ uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0~255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t) { while(--t); } /*------------------------------------------------ mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0~255 这里使用晶振12M,精确延时请使用汇编 ------------------------------------------------*/ void delay(unsigned char t) { while(t--) { //大致延时1mS DelayUs2x(245); DelayUs2x(245); } } /*------------------------------------------------ 显示函数,用于动态扫描数码管 输入参数 FirstBit 表示需要显示的第一位,如赋值2表示从第三个数码管开始显示 如输入0表示从第一个显示。 Num表示需要显示的位数,如需要显示99两位数值则该值输入2 ------------------------------------------------*/ void Display(unsigned char FirstBit,unsigned char Num) { static unsigned char i=0; DataPort=0; //清空数据,防止有交替重影 LATCH1=1; //段锁存 LATCH1=0; DataPort=dofly_WeiMa[i+FirstBit]; //取位码 LATCH2=1; //位锁存 LATCH2=0; DataPort=TempData[i]; //取显示数据,段码 LATCH1=1; //段锁存 LATCH1=0; i++; if(i==Num) i=0; } /*------------------------------------------------ 定时器初始化子程序 ------------------------------------------------*/ void Init_Timer0(void) { TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响 //TH0=0x00; //给定初值 //TL0=0x00; EA=1; //总中断打开 ET0=1; //定时器中断打开 TR0=1; //定时器开关打开 } /*------------------------------------------------ 定时器中断子程序 ------------------------------------------------*/ void Timer0_isr(void) interrupt 1 { TH0=(65536-2000)/256; //重新赋值 2ms TL0=(65536-2000)%6; Display(0,8); // 调用数码管扫描 } /*------------------------------------------------ 按键扫描函数,返回扫描键值 ------------------------------------------------*/ uchar keyscan() //键盘扫描函数,使用行列逐级扫描法 { unsigned char Val; P2=0xf0;//高四位置高,低四位拉低 if(P2!=0xf0)//表示有按键按下 { delay(10); //去抖 if(P2!=0xf0) { //表示有按键按下 P2=0xfe; //检测第一行 if(P2!=0xfe) { Val=C&0xf0; Val+=0x0e; while(P2!=0xfe); delay(10); //去抖 while(P2!=0xfe); return Val; } P2=0xfd; //检测第二行 if(P2!=0xfd) { Val=P2&0xf0; Val+=0x0d; while(P2!=0xfd); delay(10); //去抖 while(P2!=0xfd); return Val; } P2=0xfb; //检测第三行 if(P2!=0xfb) { Val=P2&0xf0; Val+=0x0b; while(P2!=0xfb); delay(10); //去抖 while(P2!=0xfb); return Val; } P2=0xf7; //检测第四行 if(P2!=0xf7) { Val=P2&0xf0; Val+=0x07; while(P2!=0xf7); delay(10); //去抖 while(P2!=0xf7); return Val; } } } return 0xff; } /*------------------------------------------------ 按键值处理函数,返回扫键值 ------------------------------------------------*/ unsigned char KeyPro(void) { switch(KeyScan()) { case 0x7e:return 0;break;//0 按下相应的键显示相对应的码值 case 0x7d:return 1;break;//1 case 0x7b:return 2;break;//2 case 0x77:return 3;break;//3 case 0xbe:return 4;break;//4 case 0xbd:return 5;break;//5 case 0xbb:return 6;break;//6 case 0xb7:return 7;break;//7 case 0xde:return 8;break;//8 case 0xdd:return 9;break;//9 case 0xdb:return 10;break;//a case 0xd7:return 11;break;//b case 0xee:return 12;break;//c case 0xed:return 13;break;//d case 0xeb:return 14;break;//e case 0xe7:return 15;break;//f default:return 0xff;break; } }

2018-03-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除