自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

转载 socket编程补充---一个服务器多个客户端

起完成一个Socket通信服务器,多个Socket通信客户端,具体的是服务器在window系统下c#开发,客户端是在liunx系统下开发,实现交互通讯。Socket通信服务器启动时,Socket将侦听到的Socket连接传给接受Socket,然后由接受Socket完成接受、发送消息,当Socket存在异常时,断开连接。我负责服务器端功能,所以我这里简单说下我服务器的功能:1、服务器一直监听当前

2015-02-28 11:42:53 411

转载 C# 字符串方法汇总

staticvoid Main(string[] args){            string s ="";            //(1)字符访问(下标访问s[i])            s ="ABCD";            Console.WriteLine(s[0]); // 输出"A";            Console.WriteLine(s

2015-02-28 10:41:35 297

转载 循环冗余校验码

本文先讲述CRC校验原理等信息,最后阐述CRC “直接计算法”和高效查表法。一、基本原理    CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列;附加在数据序列之后的这个检验码与数据序列的内容之间存在着某种特定的关系。如果因干扰等原因使数据序列中的某一位或某些位发生错误,这种特定关系就会被破

2015-01-28 10:33:52 607

原创 浏览文件(夹)等操作

1. 浏览文件夹需要动态库支持。对win7系统,需要把System.Design.dll拷贝到C:\Windows\System32,并regsvr32 System.Design.dll在项目引用中加入这个dll;using System.Windows.Forms.Design;下面为遍历文件夹的类,使用方法为FolderDialog openFolder = new Fold

2015-01-23 11:31:07 290

原创 简单状态机实现

代码如下,是ansi c编写的demo。这个简单的状态机使用c语言函数指针实现,可以支持状态转换、状态超时。 #include #include  void delay_ms(int ms){    //系统延时函数} unsigned int systemMs(void){    clock_t c = clock()+100;

2015-01-15 09:32:56 509

转载 socket 编程

看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句。(看到这,肯定得来个转折的了,不然就看不到下文了,不是吗)但是,为了自己下一篇要写的文章做参考,还是有必要先补充一下socket基础知识。      注意:如果你已经接触过socket,那就没什么必要耽误时间看下去了。另外,如果发现其中任何错误,欢迎直接

2015-01-06 12:33:12 219

转载 克制Coding的冲动

“人的生命只有一次,可悲的是它不能重新再来,可喜的是它也不需要重新再来。”,冯导的这句话对生命的描述挺有道理。其实这句话也概括了软件开发的目的。    大部分的软件开发者都有这么一种冲动,包括我自己在内,解决一个问题,就有用代码来表示的冲动,coding,然后拿出结果,让人心服口服,牛人一个。    然而这样真的好吗?代码只有自己能够看的懂,如果别人问你它是如何工作的,你说了一大堆

2015-01-06 11:29:57 218

原创 USB基本(自用)

一般来说,都可以从网上找到已经按USB协议的代码,以下为其中一份代码(DLL)(DLL和代码自己备份了,不方便上传)的使用的基本注意事项,以供参考:功能说明:DLL被做成控件,识别指定PID和VID的usb,能识别多个,并且与其通信。1.  将指定的PID和VID告诉DLL。以便DLL识别特殊device。2. 重载OnHandleCreated,在其中向系统注册DLL(Registe

2015-01-06 09:44:36 526

转载 InvokeRequired和Invoke

C#中禁止跨线程直接访问控件,InvokeRequired是为了解决这个问题而产生的,当一个控件的InvokeRequired属性值为真时,说明有一个创建它以外的线程想访问它。此时它将会在内部调用new MethodInvoker(LoadGlobalImage)来完成下面的步骤,这个做法保证了控件的安全,你可以这样理解,有人想找你借钱,他可以直接在你的钱包中拿,这样太不安全,因此必须让别人先要告

2015-01-05 14:15:12 342

转载 注册表类

该类实现了注册表读取、写入、删除、查找等功能。实现代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Win32;namespace TagReceiver{ class RegistryHelper {

2015-01-05 12:16:18 363

转载 HID 修改包大小

本文记录利用STM32的USB设备以HID方式实现与PC的自定义包大小通信的上下位机开发过程.关键字: USB, HID, HID读写,Report Descriptor要解决的问题 : 假定某一串行通信协议, 命令的最大长度为64个字节, 而现在改用USB- HID方式来通信, 通信协议不变, 我们如何实现?芯片: STM32F103ZE; 基础代码: 官方U

2015-01-04 14:27:10 2032 1

转载 USB HID介绍

HID是一种USB通信协议,无需安装驱动就能进行交互,在学习HID之前,先来复习一下USB协议的相关内容。 USB设备描述符-概述当插入USB设备后,主机会向设备请求各种描述符来识别设备。那什么是设备描述符呢?Descriptor即描述符,是一个完整的数据结构,可以通过C语言等编程实现,并存储在USB设备中,用于描述一个USB设备的所有属性,USB主机是通过一系列命

2015-01-04 14:12:31 879

转载 C#.NET 消息机制

一、消息概述      众人周知,window系统是一个消息驱动的系统, windows操作系统本身有自己的消息队列,消息循环,它捕捉键盘,鼠标的动作生成消息,并将这个消息传给应用程序的消息队列。 余下的工作有应用程序处理消息, windows 消息机制在这儿就不再讲述,我们重点讲述应用程序的消息机制。 大家只要明白消息是由操作系统传递给应用程序的。 一副图更能详细说明: 

2014-12-26 11:54:05 302

USB库(自用)

被做成控件USB通信工具,识别指定PID和VID的usb,能识别多个,并且与其通信。 使用时注意: 1. 将指定的PID和VID告诉DLL。以便DLL识别特殊device。 2. 重载OnHandleCreated,在其中向系统注册DLL(RegisterDeviceNotification),让系统广播通知device事项。 3. 重载WndProc函数,将消息传至DLL,让DLL能识别到USB消息。 DLL识别到消息后,DLL控件会触发特殊device插拔事件。 当特殊device收到广播信息(USB传来的数据)后,触发DLL控件的数据接收事件。此份代码中,特殊device需要将PID相对位置放入数据中告诉上位机。从而让上位机知道是哪个特殊device与他通信。 发送消息时,通过PID和VID找到需要发送消息的特殊device,然后发送消息。

2015-01-06

空空如也

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

TA关注的人

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