- 博客(14)
- 收藏
- 关注
原创 C#双缓冲
private void Updata(){ Graphics g = pictureBox.CreateGraphics();//创建画布 BufferedGraphicsContext currentContext = BufferedGraphicsManager.Current;//创建缓冲区上下文 BufferedGraphics myBuffer = curre
2015-05-26 15:49:57 445
原创 LCD显示
今天在写LCD的显示,用的是51单片机和Proteus仿真,但是Proteus中没有以前写的LCD5110所以只能用库中的HDG12864F-1,后来才发现这个好像是写LCM的,搞了一晚上总算是弄出来了一下贴出代码每一个LCD驱动都要有命令和数据的写入首先是这两个代码//CE 片选信号//LCD_CE_OL 置低,表示选中芯片 //LCD_CE_OH 置高,表示未选中芯片/
2015-05-26 01:01:04 1157
原创 按键扫描
最近在做按键扫描,一直连按,最后发现是按键扫描程序有问题,做了一下修改并加上了注释uint8_t Key_Scan(uint8_t mode){ static uint8_t key_up = 1; //按键是否松开标志,为0按键按下,为1按键松开 if(mode) key_up = 1; //如果模式1,那么支持连按 if(key_up &&
2015-05-24 22:58:35 562
原创 单片机printf函数重定向
#include <reg51.h>#include <stdio.h>typedef char * va_list;//51单片机定义为char,如果是32位单片机就定义为int类型#define _INTSIZEOF(x) ((sizeof(x) + sizeof(char) - 1) & ~(sizeof(char) - 1) )#define va_start(ap,v) (ap =
2015-05-23 23:42:00 2114
转载 内存对齐
#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int)-1))对于两个正整数 x, n 总存在整数 q, r 使得 x = n * q + r, 其中 0<= r <nq, r 是唯一确定的。 q = [x/n], r = x - n[x/n].这个是带余除法的一个简单形式。在 c 语言中, q, r 容易计
2015-05-23 11:56:48 293
转载 正则表达式
什么是正则表达式 从概念上来说,正则表达式也是一门小巧而精炼的语言,它可以用来简化检索特定的字符串,替换特定字符等功能,有许多开发语言工具,都内嵌支持正则表达式。那么一个正则表达式,究竟是什么?其实它就是一个字符串,但这个字符串具有特定含义。基础语法 字面值所谓字面值,就是没有任何转义,查找的对象就是其本身,比如正则表达式 abc ,查找的结果就是返回要查找字符串中 a, b, c三个字母连在一
2015-05-14 23:31:37 325
原创 C#实现毛玻璃效果
实现的原理是创建的窗体标题栏上是毛玻璃效果的,所以使用一个函数 void DwmExtendFrameIntoClientArea(IntPtr hwnd, ref MARGINS margins); 这个函数的作用就是从标题栏扩展到其他区域using System;using System.Collections.Generic;using System.ComponentModel;
2015-05-13 22:48:42 1817
转载 获取窗口句柄
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Wi
2015-05-13 09:17:52 559
原创 C#生产者消耗者
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Wi
2015-05-13 09:14:16 281
原创 获取本机IP
IPAddress hostIP = Dns.GetHostAddresses(Dns.GetHostName()).ToList().First(d => d.AddressFamily == AddressFamily.InterNetwork);
2015-05-13 08:50:44 269
转载 APM
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using S
2015-05-13 08:49:32 296
原创 lock
多线程访问同一个资源的时候需要用到锁,当一个线程锁定这个资源,其他线程需要等待它释放才能访问。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text
2015-05-13 08:48:38 237
原创 C#调用CMD创建WIFI热点
//调用CMD public void CMD(string command) { try { Process cmd = new Process();//创建一个进程 cmd.StartInfo.FileName = "cmd.exe";//进程名,这个是必须有的 cmd.StartInfo.Arguments = "/c"
2015-05-13 08:37:42 682
原创 窗体通信
今天在写两个窗体间的通信,使用的是委托下面介绍一下自己的想法 比如有两个窗体A,B,A要给B发送信息(A->B),即在窗体A中改变数据,然后将数据传递给B。 想法是 在A中定义一个委托,在B中定义一个接受数据的方法,A中的委托绑定B中的接受数据的方法。那么,A中传递给B的数据,就可以通过委托传递给B。下面是一个自己写的例子,即在窗体B中的用户名和密码传递给A 上代码using System;
2015-05-05 22:13:29 314
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人