- 博客(13)
- 资源 (7)
- 收藏
- 关注
转载 VC(custom)-CFile详解
用了无数次CFile,最近突然发现自己对CFile却不是太熟悉,真是杯具!!!!!,所以做了个Demo验证了部分疑惑modeCreate:文件不存在就创建文件,若存在而无modeNoTruncate标志则清空文件,有modeNoTruncate标志则不清空1.文件的当前位置怎么定位?在CFile 调用modeCreate标志时(无论有无modeNoTruncate标志)构造时,当前位置
2015-10-31 12:46:17 552
原创 HID 读写report ID注意事项
1. 上位机向HID写数据时,每个包传输的第一个byte为写数据(OUT)report ID,上、下位机必须一致。 上位机配置位置: 下位机配置位置: 2. HID向上位机返回数据时,每个包的第一个byte也必须是读数据(IN)report ID,在下位机中,IN report ID的定义一定要和发送包的第一个by
2015-10-26 17:46:35 9050
原创 HID读写过程
HID或USB的上、下位机之间相互读写时,并不是直接通信的,而是经过各自的buffer.如下图所示: 上位机向下位机写数据:step1: 当点击Writ HID按键后,上位机首先将要写的数据写入PC的驱动buffer中;step2: 然后PC的驱动再将buffer中的数据写入下位机USB-SIE的buffer中,进而触发下位机的中断;step3:
2015-10-26 15:37:05 10431
转载 switch……case不能匹配字符串的方法
思路: 将字符串添加到map容器中 然后比较字符串名 获得该字符串所对应的索引值 在Switch中使用这个索引值判断 在stdafx.h 添加头文件 #include //注 在CPP中直接添加头文件时 出现了错误 不知道什么原因造成的[cpp] view p
2015-10-23 10:24:51 4388
转载 map的详细用法
map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有
2015-10-23 10:12:46 392
原创 VC小技巧二:变量初始化
1. 自定义结构体初始化: struct A { int i; unsigned char * j }; struct A test; memset( &test, 0, sizeof(A) ); 2. 数组初始化: unsign
2015-10-22 17:40:44 583
原创 Run-Time check failure #3 : 报未初始化警告的解决办法。
经常在编译后报某些变量没有初始化的警告,解决办法就是初始化这些变量,但遇到自定义的结构体报这个警告,初始化自定义结构体的办法如下: struct A { int u; unsigned char * c; } stru
2015-10-22 15:15:47 23157
原创 struct 定义、使用及用extern声明时注意事项
对比下面两种定义:struct A{int i;char c;float j;};这种定义结构体在使用时应该是:struct A b,c; // 定义了两个struct A 类型的变量b和c。 在VC++中,定义写成 A b,c; 也不会报错,并且可以正常运行。但是当用到多个A 时,或用到extern就很容易报错,说重复定义,例如自己写了一个函数,A
2015-10-22 15:08:45 2173
转载 c++ new和delete产生的debug error
void main(){ char *p = new char; cin>>p; coutdelete p;} 在以上代码中,如果你输入:abcd,那么如你所望,你会看到"正确"的输出"c"。但是会有错误提示出现:Debug Error!Program: test.exeDAMAGE: after Normal block(#64) at 0x003429f8
2015-10-21 15:13:13 4195 5
转载 VC程序异常中断的原因
http://zhidao.baidu.com/link?url=g4qltTocbcJ-1aIMcyIgh49Y2ZkCq1da0e7gtAgmCfFrS19vI8AizF4XwFvfaZ5rDc_ST_xsboQTfWnFTdTlMa 自己编写的VC程序,编译调试通过,运行良好,然后关闭运行界面,就弹出一个“已经触发一个中断”的提示,然后断点就停在了下面这个中断处。_CRTIM
2015-10-21 14:56:29 7290
原创 HID Firmware修改 (HIDtoUARTExample)之一
1. 描述符的修改: 1.1 配置描述符的修改: 在配置描述符下的HID描述符中修改HID report描述符的字节大小。修改值改成自己编写的HID report描述符的字节数。 1.2 在配置描述符下的端点描述符中指定使用的端点、类型(输入、输出)及端点的数据长度。 1.3 在HID repor
2015-10-15 19:36:59 2536
转载 编写Win32 lib时使用CString的方法
MFC的CString类型由于功能强大而成为VC开发人员经常使用的一种数据类型。在MFC程序中它可以直接使用,不过在非MFC程序中使用CString就要麻烦一些。方法如下:(以控制台程序为例)1 更改project->setting->C/C++->Code Generation选择Debug MulitiThreaded2 添加头文件:#include 或者#include
2015-10-09 19:36:04 524
转载 C\C++的转义字符
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。 转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(L
2015-10-08 10:20:53 387
VbyOne Spec
2013-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人