
如何清除串口缓冲区中的数据
tcflush函数清除串口输入缓存(终端驱动已接到,但用户尚未读取)或串口输出缓存(用户已经写如缓存,但尚未发送)。
函数原型:int tcflush(int filedes,int quene)参数解释filedes: 描述符。
quene取值及含义: *TCIFLUSH 清除输入队列 *TCOFLUSH 清除输出队列 *TCIOFLUSH 清除输入、输出队列举例:tcflush(fd,TCIOFLUSH);另加的说明:在打开串口后,用户其实其实已经可以开始从串口读取数据了,但如果用户没有读取,数据将被将保存在缓冲区里。
如果用户不想要开始的一段数据,或者发现缓冲区数据有误,可以使用这个函数将缓冲区清空。
应用举例:tcflush(fd, TCIOFLUSH);sleep(2); read_len = read(fd, buff, 10);
windows识别不了的串口linux能识别吗
在主线程中写数据,因为写是可以控制的,而读的时候不知道数据什么时候会到,所以要建立一个线程专门用来读线程。
在这个线程中,循环地用ReadFile函数读串口,同时用WaitCommEvent函数检测线路状态。
建立读线程需要用到的函数较多:ReadFile,如果要检测通信状态,如CTS信号,Ringln等等,则用SetCommMask,WaitCommEvent,ClearCommError。
在SerialPor类中,监测线程函数为CommThread函数。
在SerialPort::CommThread()函数中:首先利用PurgeComm函数清空缓冲区,调用通信事件监测函数。
在监测事件时,如果异步操作不能立即完成,则该函数返回FALSE(0),并GetLastError函数返回ERROR—IO—PENDING,表明该操作在后台执行。
发生这种情况时,系统在WaitCommEvent函数返回之前将OVERLAPPED结构中的成员hEvent参数值设置为无信号状态,之后等到特定通信事件或发生错误时,系统再将其设置为有信号状态。
所以只要有字符到达,就会产生事件。
当监测到是读事件的时候,就调用ReceiveChar函数去接收数据;当监测到是写事件的时候,就调用WriteChar函数就发送数据。
调用EnterCriticalSection函数来获得串口的Critical Section,保证本进程中没有其他函数或线程使用本串口资源。
用ReadFile函数读出缓冲区中的字节数,ReadFile(HANDLE nl—hcom,LPVOID RXBuff,DWORD dwlenth.LPDWORD&BytesRead,LPOVERLAPPEDmov);参数RXBuff指向接收缓冲区,dwlenth指明要从串口读取的字节数,在此设置为1,BytesRead指明实际从串口设备中读出的字节数,ITI—OV指向异步I/0结构。
如何用API函数实现WINDOWS下的串口写程
用API函数实现Windows下的串行通讯冯华亮 2002年4月 四川·电子科大以往的DOS系统是通过DOS中断和BIOS中断向用户提供串行接口的通讯能力。
在Windows环境下,C++的开发工具既没有提供象DOS和BIOS中那样专门的串行通讯控制方法,也不允许用户直接控制串口的中断。
为了保证资源共享,Windows系统完全接管了各种硬件资源,使用中断来控制端口将破坏系统的多任务性,使系统的稳定性受到影响。
但Windows同时也提供了功能强大的API函数使用户能间接的控制串行通讯。
1、实现串行通讯的相关API函数API函数不仅提供了打开和读写通讯端口的操作方法,还提供了名目繁多的函数以支持对串行通讯的各种操作。
常用函数及作用如表5-1所示。
表5-1 常用串行通讯API函数及其作用函数名 作用CreateFile 打开串口GetCommState 检测串口设置SetCommState 设置串口BuilderCommDCB 用字符串中的值来填充设备控制块GetCommTimeouts 检测通信超时设置SetCommTimeouts 设置通信超时参数SetCommMask 设定被监控事件WaitCommEvent 等待被监控事件发生WaitForMultipleObjects 等待多个被监测对象的结果WriteFile 发送数据ReadFile 接收数据GetOverlappedResult 返回最后重叠(异步)操作结果PurgeComm 清空串口缓冲区,退出所有相关操作ClearCommError 更新串口状态结构体,并清除所有串口硬件错误CloseHandle 关闭串行口2、打开串口函数CreateFile原本用于打开文件,但它同样可用于打开一个通信端口。
与系统中其他对象一样,通信端口也是用句柄来标识的。
CreateFile函数返回被操作的通信端口句柄,其调用方法如下:HANDLE CreateFile (LPCTSTR lpFileName, \\\/\\\/指向文件名字符串的指针DWORD dwDesireAccess, \\\/\\\/操作模式DWORD dwShareMode, \\\/\\\/共享方式LPSECURITY_ATTRIBUTES lpSecurityAttributes, \\\/\\\/指向安全属性的指针DWORD dwCreationDistribution, \\\/\\\/文件建立方式DWORD dwFlagsAndAttributes \\\/\\\/文件属性HANDLE hTemplateFile \\\/\\\/模板文件句柄)lpFileName:指向一个以NULL结束的字符串,该串指定了要创建、打开或截断的文件、管道、通信源、磁盘设备或控制台的名字。
当用CreateFile打开串口时,这个参数可用“COM1”指定串口1,用“COM2”指定串口2,依此类推。
dwDesireAccess: 指定对文件访问的类型,该参数可以为GENERIC_READ(指定对该文件的读访问权)或ENERIC_WRITE(指定该文件的写访问权)两个值之一或同时为为这两个值。
用ENERIC_READ|GENERIC_WRITE则指定可对串口进行读写;dwShareMode:指定此文件可以怎样被共享。
因为串行口不支持任何共享模式,所以dwShareMode必须设为0;lpSecurityAttributes定义安全属性,一般不用,可设为NULL。
Win 9x下该参数被忽略;dwCreationDistribution定义文件创建方式, 对串口必须设为OPEN_EXISTING,表示打开已经存在的文件;dwFlagsAndAttributes为该文件指定定义文件属性和标志,这个程序中设为FILE_FLAG_OVERLAPPED,表示异步通信方式;hTemplateFile 指向一个模板文件的句柄,串口无模板可言,设为NULL。
在 Windows 9x下该参数必须为NULL。
用异步读写方式打开串口1的函数调用如下:m_hComm = CreateFile(“COM1”, \\\/\\\/打开串口1GENERIC_READ | GENERIC_WRITE, \\\/\\\/读写方式0, \\\/\\\/不能共享NULL, \\\/\\\/不用安全结构OPEN_EXISTING, \\\/\\\/打开已存在的设备FILE_FLAG_OVERLAPPED, \\\/\\\/异步方式0); \\\/\\\/无模板串口被成功打开时,返回其句柄,否则返回INVALID_HANDLE_VALUE(0XFFFFFFFF)。
3、串口设置第一次打开串口时,串口设置为系统默认值,函数GetCommState和SetCommState可用于检索和设定端口设置的DCB(设备控制块)结构,该结构中BaudRate、ByteSize、StopBits和Parity字段含有串口波特率、数据位数、停止位和奇偶校验控制等信息。
程序中可先用GetCommState检索端口的当前设置,修改其中的部分字段后再用SetCommState进行端口设定。
这样可不必构造一个完整的DCB结构。
下面介绍几个主要的函数和结构体:(1)GetCommStateBOOL GetCommState( hCommDev, lpdcb);参数hCommDev标识通信设备,应使用CreateFile返回的句柄。
Lpdcb是指向DCB结构的指针,函数调用后当前串口配置信息将被保存在这个结构内。
如果函数成功返回值为TRUE;否则返回值为FALSE。
SetCommState用法与GetCommState相似,在此不再重复。
DCB结构定义如下(只介绍主要的几项):typedef struct _ DCB{……DWORD BardRate; \\\/\\\/波特率的设置BYTE ByteSize; \\\/\\\/数据位的个数BYTE Parity; \\\/\\\/是否有奇偶校验位BYTE StopBits; \\\/\\\/停止位的个数……}DCB;(2)SetCommTimeoutsBOOL SetCommTimeouts( hCommDev, lpctmo );Lpctmo指向包含新的超时参数的COMMTIMEOUTS结构。
COMMTIMEOUTS结构定义如下:typedef struct _ COMMTIMEOUTS{DWORD ReadIntervalTimeout;DWORD ReadTotalTimeoutMultiplier;DWORD ReadTotalTimeoutconstant;DWORD WriteTotalTimeoutMultiplier;DWORD WriteTotalTimeoutconstant;}COMMTIMEOUTS, LPCOMMTIMEOUTS;ReadIntervalTimeout: 以毫秒为单位指定通信线上两个字符到达之间的最大时间。
在ReadFile操作其间,收到第一个字符时开始计算时间。
若任意两个字符到达之间的间隔超过这个最大值,ReadFile操作完成,返回缓冲数据。
0值表示不用间隔限时。
若该成员为MAXDWORD,且ReadTotalTimeoutconstant和ReadTotalTimeoutMultiplier成员为零,则指出读操作要立即返回已接收到的字符,即使未收到字符,读操作也要返回。
ReadTotalTimeoutMultiplier:以毫秒为单位指定一个乘数,该乘数用来计算读操作的总限时时间。
每个读操作的总限时时间等于读操作所需的字节数与该值的乘积。
ReadTotalTimeoutConstant:以毫秒为单位指定一个常数,用于计算读操作的总限时时间。
每个操作的总限时时间等于ReadTotalTimeoutMultiplier成员乘以读操作所需字节数再加上该值的和。
ReadTotalTimeoutMultiplier和ReadTotalTimeoutConstant成员的值为0表示读操作不使用限时时间。
WriteTotalTimeoutMultiplier和WriteTotalTimeoutconstant的意义和作用分别与ReadTotalTimeoutMultiplier和ReadTotalTimeoutConstant相似,不再重复。
(3)BuilderCommDCBBOOL BuilderCommDCB(lpszDef,lpdcb)这个函数按lpszDef字符串所指定的格式来配置串口的DCB。
LpszDef:指向一个以NULL结束的字符串,该字符串指定串口的控制信息。
比如,“1200,N,8,1”指定波特率为1200,无奇偶校验位,有8个数据位和1个停止位。
lpdcb:指向被填充的DCB结构。
(4)SetCommMaskBOOL SetCommMask(hCommDev,fdwEvtMask);fdwEvtMask指向一个32位的屏蔽码,如果指定为EV_RXCHAR | EV_CTS,表示程序监控串口的收、发事件。
下面以简单的例子说明串口设置的步骤:m_CommTimeouts.ReadIntervalTimeout = 1000;m_CommTimeouts.ReadTotalTimeoutMultiplier = 1000;m_CommTimeouts.ReadTotalTimeoutConstant = 1000;m_CommTimeouts.WriteTotalTimeoutMultiplier = 1000;m_CommTimeouts.WriteTotalTimeoutConstant = 1000;if (SetCommTimeouts(m_hComm, &m_CommTimeouts))\\\/\\\/ 串口超时参数设置if (SetCommMask(m_hComm, dwCommEvents))\\\/\\\/ 设置串口事件掩码if (GetCommState(m_hComm, &m_dcb))\\\/\\\/ 获取串口当前状态if (BuildCommDCB(“1200,N,8,1”, &m_dcb))\\\/\\\/ 建立串口设备控制块if (SetCommState(m_hComm, &m_dcb));\\\/\\\/ 设置串口参数……以上任何一个if语句的判断条件为假时都将调用GetLastError函数获取错误信息,进行错误处理。
4、读写串口数据
笔记本使用了串口转换线,提示“当前串口号已经被占用”
怎么办
打开注册表HKEY_LOCAL_MACHINE\\\/SYSTEM\\\/CurrentControlSet\\\/Control\\\/COM Name Arbiter把ComDB删除后重新尝试即可!。
如果还不行,重启电脑
如果还是不行,禁止一些开机程序,诸如远程打印机之类的。
c盘windows里面哪些可以删除
用不着,我们可以将其删除。
输入法位于\\\\windows\\\\ime\\\\文件夹中,全部占用了88M的空间。
11、升级完成发现windows\\\\多了许多类似$NtUninstallQ311889$这些目录,都干掉吧,1x-3xM 12、另外,保留着\\\\windows\\\\help目录下的东西对我来说是一种伤害,呵呵。
。
。
都干掉! 13、关闭系统还原:系统还原功能使用的时间一长,就会占用大量的硬盘空间。
因此有必要对其进行手工设置,以减少硬盘占用量。
打开系统属性对话框,选择系统还原选项,选择在所有驱动器上关闭系统还原复选框以关闭系统还原。
也可仅对系统所在的磁盘或分区设置还原。
先选择系统所在的分区,单击配置按钮,在弹出的对话框中取消关闭这个驱动器的系统还原选项,并可设置用于系统还原的磁盘空间大小。
14、休眠功能会占用不少的硬盘空间,如果使用得少不妨将共关闭,关闭的方法是的:打开控制面板,双击电源选项,在弹出的电源选项属性对话框中选择休眠选项卡,取消启用休眠复选框。
15、卸载不常用组件:XP默认给操作系统安装了一些系统组件,而这些组件有很大一部分是你根本不可能用到的,可以在添加\\\/删除Windows组件中将它们卸载。
但其中有一些组件XP默认是隐藏的,在添加\\\/删除Windows 组件中找不到它们,这时可以这样操作:用记事本打开\\\\windows\\\\inf\\\\sysoc.inf这个文件,用查找\\\/替换功能把文件中的hide字符全部替换为空。
这样,就把所有组件的隐藏属性都去掉了,存盘退出后再运行添加-删除程序,就会看见多出不少你原来看不见的选项,把其中那些你用不到的组件删掉(记住存盘的时候要保存为sysoc.inf,而不是默认的sysoc.txt),如Internat信使服务、传真服务、Windows messenger,码表等,大约可腾出近50MB的空间。
16、清除系统临时文件:系统的临时文件一般存放在两个位置中:一个Windows安装目录下的Temp文件夹;另一个是x:\\\\Documents and Settings\\\\用户名\\\\Local Settings\\\\Temp文件夹(Y:是系统所在的分区)。
这两个位置的文件均可以直接删除。
17、清除Internet临时文件:定期删除上网时产生的大量Internet临时文件,将节省大量的硬盘空间。
打开IE浏览器,从工具菜单中选择Internet选项,在弹出的对话框中选择常规选项卡,在Internet临时文件栏中单击删除文件按钮,并在弹出删除文件对话框,选中删除所有脱机内容复选框,单击确定按钮。
18、清除预读文件:Windows XP的预读设置虽然可以提高系统速度,但是使用一段时间后,预读文件夹里的文件数量会变得相当庞大,导致系统搜索花费的时间变长。
而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。
所以,应该定期删除这些预读文件。
预计文件存放在Windows XP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。
19、压缩NTFS驱动器、文件或文件夹:如果你的硬盘采用的是NTFS文件系统,空间实在紧张,还可以考虑启用NTFS的压缩功能。
右击要压缩的驱动器-属性-常规-压缩磁盘以节省磁盘空间,然后单击确定, 在确认属性更改中选择需要的选项。
这样可以节省约20??硬盘空间。
在压缩C盘的时候,最好在安全模式下压缩,这样效果要好一些。
20、关闭华医生Dr.Watson:要关闭Dr.Watson可打开注册表编辑器,找到HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\WindowsNT\\\\CurrentVersion\\\\AeDebug分支,双击其下的Auto键值名称,将其数值数据改为0,最后按F5刷新使设置生效,这样就取消它的运行了。
也在开始->运行中输入drwtsn32命令,或者开始->程序->附件->系统工具->系统信息->工具->Dr Watson,调出系统里的华医生Dr.Watson ,只保留转储全部线程上下文选项,否则一旦程序出错,硬盘会读很久,并占用大量空间。
如以前有此情况,请查找user.dmp文件,删除后可节省几十MB空间。
21、关闭远程桌面:我的电脑->属性->远程,远程桌面里的允许用户远程连接到这台计算机勾去掉。
22、取消XP对ZIP支持:Windows XP在默认情况下打开了对zip文件支持,这要占用一定的系统资源,可选择开始→运行,在运行对话框中键入regsvr32 \\\/u zipfldr.dll,回车确认即可取消XP对ZIP解压缩的支持,从而节省系统资源。
23、关闭错误报告:当应用程序出错时,会弹出发送错误报告的窗口,其实这样的错误报告对普通用户而言几乎没有任何意义,关闭它是明智的选择。
在系统属性对话框中选择高级选项卡,单击错误报告按钮,在弹出的错误汇报对话框中,选择禁用错误汇报单选项,最后单击确定即可。
另外我们也可以从组策略中关闭错误报告:从运行中键入gpedit.msc,运行组策略编辑器,展开计算机配置→管理模板→系统→错误报告功能,双击右边设置栏中的报告错误,在弹出的属性对话框中选择已禁用单选框即可将报告错误禁用。
24、关掉不用的设备:Windows XP总是尽可能为电脑的所有设备安装驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。
针对这一情况,你可在 设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,方法是双击要停用的设备,在其属性对话框中 的常规选项卡中选择不要使用这个设备(停用)。
在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。
25、定期清理系统还原点:打开磁盘清理,选择其他选项->清理系统还原点,点击清理。
26、卸载不需要的程序,这个就不用我多说了 27、其它优化: a 将应用软件装在其它硬盘(不要安装在系统盘下,这对重装系统也有好处); b 将我的文档文件夹都转到其他分区:在桌面的我的文档图标上是右击鼠标,选择属性->移动 ; c 将IE临时文件夹都转到其他分区:打开IE浏览器,选择工具->internet选项->常规->设置->移动文件夹; d 把虚拟内存也转到其它硬盘; e 把pagefile.sys文件都指向一个地方:控制面板→系统→性能—高级→虚拟内存→更改,注意要点设置才会生效; f 在桌面的我的电脑图标上是右击鼠标,选择属性->高级-性能设置->高级-虚拟内存,调至330-720。
而且定时清理
windows下哪个文件夹可以删除
1.先认识一下C盘的所有文件,认识了才不会误删。
通常我们安装完Windows 7之后,C盘中主要会有如下几个文件夹,也是空间占用的主要来源:Program Files:应用程序文件夹,一般软件默认都会安装在这里(64位用户会多出一个Program Files (X86)文件夹,是系统中32位软件的安装目录,是正常的)ProgramData:系统文件夹,放置程序的使用数据、设置等文件,不建议删除。
Windows:存放操作系统主要文件的文件夹用户:保存着用户的配置文件和数据,Windows 7中的“用户”文件夹其实就是XP中的Documents and Settings文件夹。
hiberfil.sys:系统的休眠功能所占用的硬盘空间的文件<\\\/FONT><\\\/P>pagefile.sys:虚拟内存页面文件还有一些其他文件夹:系统文件夹,也就是的“回收站”,是不能删除的System Volume Information:系统卷标信息文件。
这个文件夹里就存储着系统还原的备份信息。
PerfLogs: Windows的日志信息文件,如磁盘扫描 错误信息PerfLogs是系统自动生成的。
MSOCache:Office的本地安装源以上就是“C盘”中的主要文件和文件夹内容,另外在使用过程中还会出现一些其他文件,比如说可能有以数字字母命名的文件,这个可能是Windows Update的更新临时文件夹,通常会自动删除的。
此外还可能有Windows.old文件夹:如果安装系统时选择自定义安装方式,并且在安装过程中没有格式化分区,则旧系统的系统文件会存储在 Windows.old 文件夹中。
此文件夹中文件的类型取决于您的电脑。
使用 Windows 7 达到一定时间(例如,一周或两周)后,如果您确信您的文件和设置已返回到您希望它们位于的位置,则可以通过使用“磁盘清理”删除 Windows.old 文件夹来安全地回收磁盘空间。
对 Windows.old 文件夹执行的删除操作是不可撤消的。
STRONG>下面详细说一下Windows文件夹和用户文件夹Windows文件夹:保存着Windows系统的主要文件,其中占用最大的文件夹为system32和winsxsSystem32:系统重要文件夹,包含大量用户Windows的文件,主要为Dll、CPL、驱动以及支持系统运行的文件。
Winsxs 是 VISTA\\\/Windows 7 的 Windows 目录下一个非常重要的文件夹,该文件夹里边有很多重要的组件,版本也很复杂,为了保证 Windows 的正常运行,里面的文件是不可删除的。
用户文件夹:该文件夹中会包括用户使用过程中的数据、程序内容以及文档、音乐等内容,进入用户文件夹后会发现已用户名命名的文件夹,打开后会看到桌面、我的音乐、我的图片、我的视频、收藏夹、我的文档、音乐、AppData、Downloads等文件夹。
桌面:会保存当前用户的桌面上所有内容,很多朋友习惯把文件放在桌面,这些也是占用C盘空间的哦
我的音乐、我的图片、我的视频:顾名思义,这些内容默认是会保存在这里,当然很多朋友都放在单独的地方。
另外,有一点需要注意的就是使用itunes下载的应用程序等内容默认是会放在我的音乐文件夹中的,也会占用C盘的空间。
收藏夹:包含IE浏览器中的收藏夹文件Downloads:IE以及很多浏览器或者其他程序的一些下载内容默认会保存在这里,同样会占用一些“C盘”空间。
我的文档:就是我的文档,保存了很多程序的记录文件,比如常用的Outlook、QQ、MSN等文件夹的数据文件都会保存在这里的。
程序的数据存放,也就是早起Windows系统中的Application Data:安装软件里的用户自定义设置,临时文件夹,快速启动文件夹等.可以删除的文件11,C:Documents and settings用户名Local settingstemp下的所有文件(用户临时文件)可以删; 22,C:Documents and setting用户名cookies下所有文件(保留index)可以删; 33,C:Documents and settings用户名Local settingstemporary internet Files下所有文件(页面文件)可以删; 44,C:Documents and settings用户名Local settingsHistoy下的所有文件(历史记录)可以删;55,C:Documents and settings用户名Recent下的所有文件(最近浏览文件的快捷方式)可以删; 66,C:WINDOWSTemp下的所有文件(临时文件)可以删; 77,C:WINDOWSServicePackFiles下的(升级sp1和sp2后的备份文件)可以删;88,C:WINDOWSSoftWareDistributiondownload下的文件可以删; 99,C:WINDOWSSystem32dllcache下dll文档,这是备用的dll文档,只要你已拷贝了安装文件也可以删; 1010,C:WINDOWSdriver cachei386下的(硬件的备份文件)可以删。
1111,如果你进行了windows updade升级那么C:windows以下$u开头的隐藏文件可以删除 删除以上文件后,C盘空间大大增加了,机子会快一些END以下是一些可以优化的地方1前提:打开“我的电脑”-“工具”-“文件夹选项”-“查看”-在“显示所有文件和文件夹”选项前打勾-“确定”删除以下文件夹中的内容(“X”代表你的系统安装的位置,一般为C盘。
)x:Documents and Settings用户名Cookies下的所有文件(保留index文件)x:Documents and Settings用户名Local SettingsTemp下的所有文件(用户临时文件)x:Documents and Settings用户名LocalSettingsTemporaryInternet Files下的所有文件(页面文件)x:Documents and Settings用户名Local SettingsHistory下的所有文件(历史纪录)x:Documents and Settings用户名Recent下的所有文件(最近浏览文件的快捷方式)x:WINDOWSTemp下的所有文件(临时文件)x:WINDOWSServicePackFiles(升级sp1或sp2后的备份文件)x:WINDOWSDriver Cachei386下的压缩文件(驱动程序的备份文件)x:WINDOWSSoftwareDistributiondownload下的所有文件2如果对系统进行过windoes updade升级,则删除以下文件:x:windows下以 $u... 开头的隐藏文件3然后对磁盘进行碎片整理,整理过程中请退出一切正在运行的程序。
碎片整理后打开“开始”-“程序”-“附件”-“系统工具”-“系统还原”-“创建一个还原点”(最好以当时的日期作为还原点的名字)。
4打开“我的电脑”-右键点系统盘-属性”-“磁盘清理”-“其他选项”-单击系统还原一栏里的“清理”-选择“是”-ok了5在各种软硬件安装妥当之后,需要更新文件的时候就很少了。
删除系统备份文件吧:开始→运行→sfc.exe \\\/purgecache近3xxM。
(该命令的作用是立即清除Windows 文件保护文件高速缓存,释放出其所占据的空间)6删掉windowssystem32dllcache下dll档(减去200——300mb),这是备用的dll档, 只要你已拷贝了安装文件,完全可以这样做。
7系统会自动备份硬件的驱动程序,但在硬件的驱动安装正确后,一般变动硬件的可能性不大,所以也可以考虑将这个备份删除,文件位于windowsdriver cachei386目录下,名称为driver.cab,你直接将它删除就可以了,通常这个文件是74M。
8删除不用的输入法:对很多网友来说,系统自带的输入法并不全部都合适自己的使用,比如IMJP8_1 日文输入法、IMKR6_1 韩文输入法这些输入法,如果用不着,我们可将其删除。
输入法位于windowsime文件夹中,全部占用了88M的空间。
9升级完成发现windows多了许多类似$NtUninstallQ311889$这些目录,都干掉吧10另外,保留着windowshelp目录下的东西都干掉
11关闭系统还原:系统还原功能使用的时间一长,就会占用大量的硬盘空间。
因此有必要对其进行手工设置,以减少硬盘占用量。
打开系统属性对话框,选择系统还原选项,选择在所有驱动器上关闭系统还原复选框以关闭系统还原。
也可仅对系统所在的磁盘或分区设置还原。
先选择系统所在的分区,单击配置按钮,在弹出的对话框中取消关闭这个驱动器的系统还原选项,并可设置用于系统还原的磁盘空间大小。
12休眠功能会占用不少的硬盘空间,如果使用得少不妨将共关闭,关闭的方法是的:打开控制面板,双击电源选项,在弹出的电源选项属性对话框中选择休眠选项卡,取消启用休眠复选框。
13卸载不常用组件:默认给操作系统安装了一些系统组件,而这些组件有很大一部分是你根本不可能用到的,可以在添加\\\/删除Windows组件中将它们卸载。
但其中有一些组件XP默认是隐藏的,在添加\\\/删除Windows 组件中找不到它们,这时可以这样操作:用记事本打开windowsinfsysoc.inf这个文件,用查找\\\/替换功能把文件中的hide字符全部替换为空。
这样,就把所有组件的隐藏属性都去掉了,存盘退出后再运行添加-删除程序,就会看见多出不少你原来看不见的选项,把其中那些你用不到的组件删掉(记住存盘的时候要保存为sysoc.inf,而不是默认的sysoc.txt),如Internat信使服务、传真服务、Windows messenger,码表等,大约可腾出近50MB的空间。
14清除系统临时文件:系统的临时文件一般存放在两个位置中:一个Windows安装目录下的Temp文件夹;另一个是x:Documents and Settings用户名Local SettingsTemp文件夹(Y:是系统所在的分区)。
这两个位置的文件均可以直接删除。
15清除Internet临时文件:定期删除上网时产生的大量Internet临时文件,将节省大量的硬盘空间。
打开IE浏览器,从工具菜单中选择Internet选项,在弹出的对话框中选择常规选项卡,在Internet临时文件栏中单击删除文件按钮,并在弹出删除文件对话框,选中删除所有脱机内容复选框,单击确定按钮。
清除预读文件:Windows XP的预读设置虽然可以提高系统速度,但是使用一段时间后,预读文件夹里的文件数量会变得相当庞大,导致系统搜索花费的时间变长。
而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。
所以,应该定期删除这些预读文件。
预计文件存放在Windows XP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。
压缩NTFS驱动器、文件或文件夹:如果你的硬盘采用的是NTFS文件系统,空间实在紧张,还可以考虑启用NTFS的压缩功能。
右击要压缩的驱动器-属性-常规-压缩磁盘以节省磁盘空间,然后单击确定, 在确认属性更改中选择需要的选项。
这样可以节省约20% 的硬盘空间。
在压缩C盘的时候,最好在安全模式下压缩,这样效果要好一些。
关闭华医生Dr.Watson:要关闭Dr.Watson可打开注册表编辑器,找到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionAeDebug分支,双击其下的Auto键值名称,将其数值数据改为0,最后按F5刷新使设置生效,这样就取消它的运行了。
也在开始->运行中输入drwtsn32命令,或者开始->程序->附件->系统工具->系统信息->工具->Dr Watson,调出系统里的华医生Dr.Watson ,只保留转储全部线程上下文选项,否则一旦程序出错,硬盘会读很久,并占用大量空间。
如以前有此情况,请查找user.dmp文件,删除后可节省几十MB空间。
关闭远程桌面:我的电脑->属性->远程,远程桌面里的允许用户远程连接到这台计算机勾去掉。
取消XP对ZIP支持:Windows XP在默认情况下打开了对zip文件支持,这要占用一定的系统资源,可选择开始→运行,在运行对话框中键入regsvr32 \\\/u zipfldr.dll,回车确认即可取消XP对ZIP解压缩的支持,从而节省系统资源关闭错误报告:当应用程序出错时,会弹出发送错误报<\\\/FONT>告的窗口,其实这样的错误报告对普通用户而言几乎没有任何意义,关闭它是明智的选择。
在系统属性对话框中选择高级选项卡,单击错误报告按钮,在弹出的错误汇报对话框中,选择禁用错误汇报单选项,最后单击确定即可。
另外我们也可以从组策略中关闭错误报告:从运行中键入gpedit.msc,运行组策略编辑器,展开计算机配置→管理模板→系统→错误报告功能,双击右边设置栏中的报告错误,在弹出的属性对话框中选择已禁用单选框即可将报告错误禁用。
关掉不用的设备:Windows XP总是尽可能为电脑的所有设备安装驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。
针对这一情况,你可在 设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,方法是双击要停用的设备,在其属性对话框中 的常规选项卡中选择不要使用这个设备(停用)。
在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。
定期清理系统还原点:打开磁盘清理,选择其他选项->清理系统还原点,点击清理。
卸载不需要的程序,这个就不用我多说了。
其它优化:将应用软件装在其它硬盘(不要安装在系统盘下,这对重装系统也有好处);将我的文档文件夹都转到其他分区:在桌面的我的文档图标上是右击鼠标,选择属性移动 ;将IE临时文件夹都转到其他分区:打开IE浏览器,选择工具-internet选项-常规-;设置-移动文件夹;把虚拟内存也转到其它硬盘; 把pagefile.sys文件都指向一个地方:控制面板→系统→性能—高级→虚拟内存→更改,注意要点设置才会生效;在桌面的我的电脑图标上是右击鼠标,选择属性;高级-性能设置->高级-虚拟内存,调至330-720。
而且定时清理虚拟内存设置技巧
windows怎样通过串口对DOS进行操作
windows下对串口的操作可以通过WindowsAPI进行,也可以通过Linux下的read什么的直接操作,但是这种情况需要了解电路结构,比较麻烦,第三种有第三方提供的库,但是大多数针对C++,所以可能比较难找到顺手的第三方库.
C#编写串口程序(详细教程)
夏夜星语电子科技工作室C#编写串口程序夏夜星语电子科技工作室2015年2月4日夏夜星语电子科技工作室最近需要用到了C#写一个上位机,因为本人非软件专业,对于电脑软件编程还算陌生,所以今天试着在VisualStudio2008写了一个串口助手用来练手。
在编写的过程中参考了许多网上的教程,在此对无私奉献的网友们深表感谢。
依然是我一贯的作风,成果取自于网络,自当也要提供于网络,故我将这两天的学习整理成该文档,作为阶段性学习总结,也方便以后有人学习可以更方便。
废话不多说了,把今天写的这个C#串口助手的编写记录下来吧。
因为我也是刚刚接触C#两天,如果程序中有不足的地方,希望大家可以谅解,也欢迎批评指正。
串口调试小程序功能:通过“串口设置”来设置串口的相应参数,“串口检测”可以用来检测计算机可用的串口。
“发送数据”可以将“数据发送”栏中的数据通过串口发送出去。
一旦串口接收到数据,则会在“数据接收”栏中显示出来,通过先前设置的“字符显示”或者“HEX显示”来以字符显示或者以十六进制数显示。
“清空数据”则可以清除“数据接收”栏以及“收据发送”栏中的所有数据。
串口调试小程序主界面:夏夜星语电子科技工作室在VisualStudio2008菜单栏点击“文件”>“新建项目”,创建VisualC#下的Windows窗体应用程序:在窗体上添加三个“GroupBox”控件,分别将窗体分为“串口设置”、“数据接收”以及“数据发送”



