里面讲了MSComm控件、WinAPI串口通信、CSerial类,例子很详实,每一步操作都有解释。
作者是龚建伟,有一个个人主页www.gjwtech.com,讲串口通信的内容比较多,还行,大家可以先看看这个主页。
本书目录第1章轻松体验串口通信编程与调试1.1初识串口1.1.1从外观上了解串口1.1.2串口通信的发展前景1.2自己制作简单的串口线1.2.1三线制串口接线的规定1.2.2焊接制作自己的串口连接线1.3调试串口通信程序时的几种使用串口的技巧1.3.1查看计算机串口资源1.3.2常规调试-2个物理串口之间的通信1.3.3特殊调试-单个物理串口之间的通信1.3.4虚拟串口-为计算机添加取之不尽的串口资源1.4使用串口调试助手来体验串口通信1.5体验Windows环境下VisualC++串口通信编程1.6体验DOS环境下TurboC串口通信编程第2章VC多线程串口编程工具CSerialPort类2.1类功能及成员函数介绍2.2应用CSerialPort类编制基于对话框的应用程序2.3应用CSerialPort类编制基于单文档的应用程序2.4对CSerialPort类的改进2.5在VisualC++.NET中应用CSerialPort类第3章控件MSComm串口编程3.1MSComm控件详细介绍3.1.1VC中应用MSComm控件编程步骤3.1.2MSComm控件串行通信处理方式3.1.3MSComm控件的属性说明3.1.4MSComm控件错误信息3.2使用MSComm控件的几个疑难问题3.2.1使用VARIANT和SAFEARRAY数据类型从串口读写数据3.2.2MSComm控件能离开对话框独立存在吗?3.2.3如何发送接收ASCII值为0和大于128的字符?3.2.4在同一程序中用MSComm控件控制多个串口的具体操作方法3.2.5解决使用控件编程时程序占用的内存会不断增大的问题3.2.6在没有安装VisualStudio的计算机上如何使用MSComm控件3.2.7在MSComm控件串口编程时遇到的其它问题说明3.3在基于单文档(SDI)程序中应用MSComm控件3.4应用MSComm控件控制多个串口实例第4章WindowsAPI串口编程4.1WindowsAPI串口编程概述4.2API串口编程中用到的结构及相关概念说明4.2.1DCB(DeviceControlBlock)结构4.2.2超时设置COMMTIMEOUTS结构4.2.3OVERLAPPED异步I/O重叠结构4.2.4通信错误与通信设备状态4.2.5串行通信事件4.3WindowsAPI串行通信函数4.4Win32API串口通信编程的一般流程和特殊实例4.4.1Win32API串口通信编程的一般流程4.4.2用查询方式读串口4.4.3同步I/O读写数据4.4.4关于流控制的设置问题4.5CSerialPort类中的API函数编程应用剖析4.6Win32API串口编程TTY(虚拟终端)实例4.7WindowsAPI串口精简例程第5章串口调试助手V2.2详细编程5.1建立SCOMM程序工程实现界面功能5.2串口的初始化及关闭5.3串口数据的发送与接收及十六进制数据的处理5.3.1十六进数据发送处理5.3.2手动发送处理5.3.3自动发送处理5.3.4接收处理及十六进制显示5.4其它辅助功能的实现5.4.1接收数据的文件保存5.4.2实现小文件发送5.4.3图钉按钮功能使程序能浮在最上层5.4.4对话框动画图标的实现5.4.5超链接功能的实现5.4.6如何打开帮助网页文件第6章DOS环境下的TurboC串口编程及通用实例GSerial类6.1PC机异步通信适配器8250及其编程操作6.1.1INS8250内部寄存器及其选择方式6.1.2波特率设置6.1.3数据位、奇偶校验、停止位等数据格式设置6.1.4 查询I/O方式相关设置6.1.5 中断I/O通信方式相关设置6.1.6Modem寄存器6.2COMRXTX程序实例
1
一个可以读入off文件,把模型显示出来并生成可执行文件,楼主亲测有效,我找了很久,这个挺不错的,生成的可执行文件.exe要和off文件放在一起才能显示出来,祝大家学习愉快!
2024/7/24 15:09:30 1.29MB opengl off文件 模型 可执行
1
用c开发的文件系统,能完美运行,实现了用户登录,登出,注册的多用户功能,同时实现文件的创建,打开,读,写,关闭,删除等操作。
2024/7/24 10:43:48 20KB 操作系统课设
1
1、问题描述 学生信息包括:学号、姓名、性别、年龄、班级等信息。
 小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。
 中学生除了包括小学生所有信息外,还包括地理、历史成绩、家庭住址等信息。
大学生除了包括学生所有信息外,还包括专业、家庭地址、联系方式等信息。
 2、功能要求 (1)添加功能:程序能够添加不同学生的记录,提供选择界面供用户选择所要添加的类别,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。
 (2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
 (3)显示功能:可显示当前系统中所有学生的记录,每条记录占据一行。
 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
 (5)删除功能:主要实现对已添加的学生记录进行删除。
如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
 (6)统计功能:能根据多种参数进行统计。
能统计学生人数、按性别统计、按年龄统计等。
 (7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
 (8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用
2024/7/23 8:34:38 170KB C++
1
各种智能算法程序以求函数最值为例-蚁群算法.rar首先声明,程序部分为原创,部分网络下载,部分为根据他人成果做细微改动。
这是本人智能控制的小作业,主要是用多种智能算法进行函数优化,包括遗传算法,蚁群算法和鱼群算法。
另外,有的算法用几个版本的程序,分别为原创和修改,仅供大家参考。
另外由于时间有限,程序写的不是很有调理,读起来可能会稍微费劲。
另外由于本人学习智能算法时间比较短,同时用多种算法纯属学习,因此不排除程序和报告中有不足和错误,希望大家指正和讨论。
附件中包括程序和截图,同时还有自己最后的报告,由于是小作业,因此时间较短,相对粗糙,勿怪。
2024/7/23 8:39:38 152KB matlab
1
xml加密(XMLEncryption)是w3c加密xml的标准。
这个加密过程包括加密xml文档的元素及其子元素,通过加密,xml的初始内容将被替换,但其xml格式仍然被完好的保留。
介绍我们有3个加密xml的方法1、仅仅使用对称加密的方法加密xml这种加密方法只使用一个密钥,也就是说无论是加密xml还是解密xml都使用一个相同的密钥。
因为这个密钥不会在被加密的xml中保存,所以我们需要在加密和解密的过程中加载这个密钥并保护它不被窃取。
2、使用对称加密和非对称加密相结合的方法来加密xml这种方法需要一个用于加密数据的对称密钥和一个用于保护这个对称密钥的非对称密钥。
被加密的对称密钥和被加密的数据一起保存在xml文档中。
当用私有非对称密钥解密密钥的时候要用公开非对称密钥对密钥进行加密。
本文就将使用这种方法。
想学到其他更多的方法请参看MSDN等到更多的信息。
(译者注:非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;
如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
)3、使用X.509加密xml,这种方法是用X.509作为非对称密钥,它由诸如VeriSign之类的第三方提供。
方法不管xml加密是如何完成的,保存加密数据总是用两种方法之一。
1、加密后所有的元素都被命名为2、加密后只有数据被替换,而元素名称仍然是可读的,不会发生变化。
2024/7/23 1:08:31 22KB XML Encryption Decryption
1
一、设计目标设计目的:设计一个含有36条指令的MIPS单周期处理器,并能将指令准确的执行并烧写到试验箱上来验证设计初衷1、理解MIPS指令结构,理解MIPS指令集中常用指令的功能和编码,学会对这些指令进行归纳分类。
2、了解熟悉MIPS体系中的处理器结构3、熟悉并掌握单周期处理器CPU的原理和设计4、进一步加强Verilog语言进行电路设计的能力二、实验设备1、装有xilinxISE的计算机一台2、LS-CPU-EXB-002教学系统实验箱一台三、实验任务1.、学习MIPS指令集,深入理解常用指令的功能和编码,并进行归纳确定处理器各部件的控制码,比如使用何种ALU运算,是否写寄存器堆等。
2、单周期CPU是指一条指令的所有操作在一个时钟周期内执行完。
设计中所有寄存器和存储器都是异步读同步写的,即读出数据不需要时钟控制,但写入数据需时钟控制。
故单周期CPU的运作即:在一个时钟周期内,根据PC值从指令ROM中读出相应的指令,将指令译码后从寄存器堆中读出需要的操作数,送往ALU模块,ALU模块运算得到结果。
如果是store指令,则ALU运算结果为数据存储的地址,就向数据RAM发出写请求,在下一个时钟上升沿真正写入到数据存储器。
如果是load指令,则ALU运算结果为数据存储的地址,根据该值从数据存RAM中读出数据,送往寄存器堆根据目的寄存器发出写请求,在下一个时钟上升沿真正写入到寄存器堆中。
如果非load/store操作,若有写寄存器堆的操作,则直接将ALU运算结果送往寄存器堆根据目的寄存器发出写请求,在下一个时钟上升沿真正写入到寄存器堆中。
如果是分支跳转指令,则是需要将结果写入到pc寄存器中的。
2024/7/22 14:06:56 2.55MB 计算机组成原 龙芯中科
1
labview创建、读、写EXCEL表的任意一行,还能写宏文件~用法简单!
2024/7/22 11:26:25 773KB LABVIEW EXCEL
1
编写程序实现进程的管道通信。
用系统调用pipe()建立一管道,二个子进程P1和P2分别向管道各写一句话:Child1issendingamessage!Child2issendingamessage!父进程从管道中读出二个来自子进程的信息并显示(要求先接收P1,后P2)。
2024/7/22 0:22:10 21KB Linux 操作系统 管道通信 实验报告
1
至少要把一个变量弄成这样:到处被设置,但是几乎没有哪里用到它。
不幸的是,现代编译器通常会阻止你做相反的事:到处读,没处写。
不过你在C或C++里还是可以这样做的。
代码每天备份;
(预防意外导致的任何损失)上传代码时写清楚log信息;
(为维护这个模块的人着想,有可能是你自己)提供接口时不要把问题抛给使用接口的人,升级或者变更接口时不要删掉原来的接口;
(为使用你接口的同事着想)变量命名要见名知意;
(起码不能误导别人)在工程中新建一个doc文件夹将项目相关的文档放在该目录下,方便后面维护的人员理解项目和代码;
(为维护这个模块的人着想,有可能是你自己)签署bug或者转办bug时写明分析结果和转办原因;
(让
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡