VS2010下MFC的串口编程

风格不统一 提交于 2020-02-29 17:56:19
串口通信简介   一般来说,计算机都有一个或多个串行端口,这些串口提供了外部设备与PC进行数据传输和通信的通道,在CPU和外设之间充当解释器的角色。当字符数据从CPU发送给外设时,这些字符数据将被转换成串行比特流数据;当接收数据时,比特流数据被转换为字符数据传递给CPU,再进一步说,在操作系统方面,Windows用通信驱动程序(COMM.DRV)调用API函数发送和接收数据;当用通信控件或声明调用API函数时,它们由COMM.DRV解释并传递给设备驱动程序。作为一个程序员,要编写通信程序,只需知道通信控件提供的Windows API通信函数的接口即可,换句话说,只需设定和监视通信控件的属性和事件即可。   串口通信方法一般有以下几种: 利用Windows API通信函数; 利用Visual C++的标准通信函数_inp、_inpw、_inpd、_outp、_outpw、_outpd等直接对串口进行操作; 通过微软的串口通信控件MSComm,它是一种ActiveX控件; 利用第3方编写的通信类,比如MuMega Technologies公司提供的CSerail类;   我在项目开发过程中用的是第三种方法——通过MSComm控件操作串口,下面是我使用此控件的笔记。 MSComm控件简介   MSComm 是 Microsoft

思维导图软件TheBrain快捷方式键全攻略!快速完成各种操作

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-29 17:55:56
TheBrain ,您的终极数字记忆和无限思维导图软件。我们从一个想法跳到另一个想法,构建越来越复杂的网络,直到新想法形成。TheBrain允许你以同样的方式组织你的信息,而不限制你预先确定的文件结构。事实上,你的数字大脑是没有限制的。你可以创建一个专注于小项目的大脑,或者让你的大脑增长到成千上万的想法! TheBrain让你创建一个简单的,动态的图形地图,在其中输入和导航你所有的信息。从一个想法开始,其他几个想法可以在视觉上联系起来。这些想法与其他想法有自己的联系,也可能彼此联系。接下来,我们将介绍TheBrain的使用方法,让更多的用户能够快速的入门,尽情的释放你的思维! >>TheBrain 11 Alpha强势来袭!新版本,新功能,点击下载。 键盘默认快捷键 在TheBrain中有许多默认的键盘快捷方式,熟练的运用可以帮助更快更好的表达出我们的大脑思维,节省我们的时间。 Windows的默认快捷方式 应用程序命令 快捷方式 关闭 Alt+F4 首选项 Ctrl+, 编辑命令 快捷方式 复制 Ctrl+C 剪切 Ctrl+X 粘贴 Ctrl+V 粘贴和匹配格式 Shift+Ctrl+V 重做 Ctrl+Y 选择所有 Ctrl+A 撤销 Ctrl+Z 导航命令 快捷方式 激活标签 Ctrl+G 激活类型 Ctrl+E 后退 Shift+Ctrl+Left 展开/折叠当前的思想

在SQL Server中使用索引的技巧

好久不见. 提交于 2020-02-29 17:55:55
在 SQL Server 中,为了查询性能的优化,有时我们就需要对数据表通过建立索引的方式,目的主要是根据查询要求,迅速缩小查询范围,避免全表扫描。 索引有两种类型,分别是聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。 聚集索引在一个表中只能有一个,默认情况下在主键建立的时候创建,它是规定数据在表中的物理存储顺序,我们也可以取消主键的聚集索引,所以必须考虑 数据库 可能用到的查询类型以及使用的最为频繁的查询类型,对其最常用的一个字段或者多个字段建立聚集索引或者组合的聚集索引,它就是SQL Server会在物理上按升序(默认)或者降序重排数据列,这样就可以迅速的找到被查询的数据。 非聚集索主要是 数据存储 在 一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。索引中的项目按索引键值的顺序存储,而表中的信息按另一种顺序存储。可以在一个表格中 使用高达249个非聚集的索引,在查询的过程中先对非聚集索引进行搜索,找到数据值在表中的位置,然后从该位置直接检索数据。这使非聚集索引成为精确匹配 查询的最佳方法,因为索引包含描述查询所搜索的数据值在表中的精确位置的条目。 所以我们在选择创建聚集索引的时候要注意以下几个方面: 1) 对表建立主键时,就会为主键自动添加了聚集索引

墨刀原型化系统-----手机情侣及交友软件

佐手、 提交于 2020-02-29 17:55:34
一、设计背景   目前持续走高生活成本和不堪重负的房价让年轻人们恐婚。以至于让他们不敢谈恋爱。逐渐的封闭圈子,难以认识新的异性。我们的软件针对这类群体,开发出了聊天机器人,让年轻人可以在手机上无压力的与虚拟伴侣进行沟通,并可选择自己喜欢的伴侣类型。同时我们还牢记自己的社会责任感,为了不让年轻人沉溺在虚拟世界中,我们还开设了现实交友功能,让年轻人发现身边异性的爱好和喜欢的类型,让他们能够更轻易的了解他(她)们。 二、运行平台 安卓 三、功能简介   1、我们设置了登录、注册界面,每个人都有属于自己的帐号。   2、进入聊天界面,就有体贴的情侣来问候了。 3、在聊天界面,用户除了可以进行聊天,还可以更改聊天对象的类型,让用户选择自己喜欢的伴侣性格。 4、为了增加用户与现实世界的接触,我们开设了交友功能,用户可以看到附近的人,以及他们喜欢的类型,他们的头像,昵称。还可以直接搜索心仪的用户名,点击他人的头像即可展开对话。 四、支持的浏览器版本   经测试,QQ浏览器和谷歌浏览器均可以正常浏览。 五、盈利方式   1、由聊天机器人不定时发送广告信息。   2、在页面底部预留一条窄边框,放置广告,用户可以开通会员屏蔽广告。   3、用户会员除了可以屏蔽广告,还可以解锁更多的聊天对象类型。   4、在附近交友栏目内,将一条推荐聊天对象的个人信息替换为广告信息。 六、在线测试 https:/

思维导图TheBrain实用教程——如何选择主题并自定义主题颜色?

筅森魡賤 提交于 2020-02-29 17:55:26
TheBrain ,您的终极数字记忆和无限思维导图软件。我们从一个想法跳到另一个想法,构建越来越复杂的网络,直到新想法形成。TheBrain允许你以同样的方式组织你的信息,而不限制你预先确定的文件结构。事实上,你的数字大脑是没有限制的。你可以创建一个专注于小项目的大脑,或者让你的大脑增长到成千上万的想法! TheBrain (点击下载) 让你创建一个简单的,动态的图形地图,在其中输入和导航你所有的信息。从一个想法开始,其他几个想法可以在视觉上联系起来。这些想法与其他想法有自己的联系,也可能彼此联系。接下来,我们将介绍TheBrain的使用方法,让更多的用户能够快速的入门,尽情的释放你的思维! 定制TheBrain使用环境 基础风格和主题 ▲选择主题 主题功能允许从许多内置设计中进行选择,以自定义大脑的外观,包括内容区中Plex和Notes的外观。同时还可以更改许多默认颜色和与主题相关联的Notes样式,然后将大脑的外观保存为新主题。这可以快速从一个保存的主题切换到另一个。 单击TheBrain工具栏中的“选项”菜单,或右键单击Plex中的任何空白区域。 单击Brain Theme命令 在Brain Theme窗口中,您将在左侧面板中看到可滚动的可用主题列表,右侧面板中将显示Colors and Options选项卡。单击任何主题以查看它在Plex中的外观。 ▲自定义主题的颜色

jQuery 实现3个级联(连锁) select (默认已经填入值)

拈花ヽ惹草 提交于 2020-02-29 17:55:26
只有那些解决了困惑很久的技术问题的答案以及在此过程中学的知识才真正是自己的,而非那些照本宣科的文档知识。 1.实现以下效果: 2. 代码: 很大一部分代码参考于于 大曦瓜 ,在此表示感谢! html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script> <script src="my.js"></script> </head> <body> <div class="form-row

MFC 串口编程详细教程 图文并茂

南楼画角 提交于 2020-02-29 17:55:14
http://blog.csdn.net/a_runing_man/article/details/9947343 本人之前从未接触MFC编程,由于项目需要,所以上网查阅了相关资料,并实现了上位机串口通信。由于网上的资料还不够详细,本人决定写一个图文并茂的详细教程。因为本人只是初学,如有错误,欢迎指点。 开发环境是:VC 6.0 串口编程方法:32位控件 参考资料: http://leadtheway.iteye.com/blog/705760 第一步:建工程 运行VC 6.0,文件-〉新建,选择MFC AppWizard(exe) ,工程名称:CommTest。确定 进入MFC应用程序向导-步骤1 选择基本对话框,其他的都默认,所以可以直接点击完成。 这样工程就建立完毕。 第二步:控件布局与设置 工程建立后,出现如下对话框: 删除上面的一个静态文本和两个按钮。从控件工具栏拖入两个静态文本,两个编辑框,两个按钮和一个组框。如果没有控件工具栏,可以鼠标右键点击菜单栏空白处,选择控件。布局后的效果: 接下来开始设置显示的文字和ID号。 选中按钮1,右键-〉属性。ID号设为IDC_BtnOpen,标题为打开。用于打开串口 选中按钮2,右键-〉属性。ID号设为IDC_BtnSend,标题为发送。用于发送数据。 选择第一个编辑框,右键-〉属性,更改ID为IDC_EditRxData

MySQL的EXPLAIN的各项值

独自空忆成欢 提交于 2020-02-29 17:55:07
1、id 每个被独立执行的操作的标识,表示对象被操作的顺序;id值大,先被执行;如果相同,执行顺序从上到下。 若没有子查询和联合查询,id则都是1。Mysql会按照id从大到小的顺序执行query,在id相同的情况下,则从上到下执行。 2、select_type 查询中每个select子句的类型 (1)SIMPLE (2)PRIMARY/UNION (3)DEPENDENT UNION/UNIOIN RESULT (4)SUBQUERY/DEPENDENT SUBQUERY (5)DERIVED/MATERIALIZED (6)UNCACHEABLE SUBQUERY/UNCACHEABLE UNION 3、table 名字,被操作的对象名称,通常是表名,或者表的别名,或者一个为查询产生临时表的标示符(如派生表、子查询、集合)。 4、type 代表查询执行计划中表使用的连接方式。连接操作的类型。 (1)SYSTEM (2)CONST (3)EQ_REF (4)REF (5)REF_OR_NULL (6)RANGE (7)INDEX_SCAN (8)ALL (9)UNIQUE_SUBQUERY (10)INDEX_SUBQUERY (11)INDEX_MERGE (12)FT system > const > eq_ref > ref > fulltext > ref_or_null

7、SQL Server索引、表压缩

放肆的年华 提交于 2020-02-29 17:54:46
索引 什么是索引? 索引是一种磁盘上的数据结构,建立在表或视图的基础上。使用索引可以使数据的获取更快更高校,也会影响其他的一些性能,如插入或更新等。 索引主要分为两种类型:聚集索引和非聚集索引。 字典的目录就是一个索引,按照拼音查询想要的字就是聚集索引(物理连续,页码与目录一一对应),偏旁部首就是一个非聚集索引(逻辑连续,页码与目录不连续)。 聚集索引存储记录是物理上连续存在的,而非聚集索引是逻辑上的连续,物理存储并不连续。 聚集索引一个表中只能有一个,而非聚集索引一个表中可以有多个。 索引的利弊 使用索引是为了避免全表扫描,因为全表扫描是从磁盘上读取表的每一个数据页,如果有索引指向数据值,则只需要读少次数的磁盘就可以。 带索引的表在数据库中占用更多的空间,同样增、删、改数据的命令所需时间会更长。 索引的存储机制 书中的目录是一个字词以及所在的页码列表,数据库中的索引是表中的值以及各值存储位置的列表。 聚集索引是在数据库中新开辟一个物理空间,用来存放他排列的值,当有新数据插入时,他会重新排列整个物理存储空间。 非聚集索引只包含原表中的非聚集索引的列和指向实际物理表的一个指针。 数据表的基本结构 当一个新的数据表创建时,系统将在磁盘中分配一段以8k为单位的连续空间。当一个8k用完的时候,数据库指针会自动分配一个8k的空间,每个8k的空间称为一个数据页,并分配从0-7的页号

Invoke and BeginInvoke

和自甴很熟 提交于 2020-02-29 17:54:46
在 Invoke 或者 BeginInvoke 的使用中无一例外地使用了委托 Delegate ,至于委托的本质请参考我的另一随笔: 对 .net 事件的看法 。 一、为什么 Control 类提供了 Invoke 和 BeginInvoke 机制? 关于这个问题的最主要的原因已经是 dotnet 程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。 1 、 windows 程序消息机制 Windows GUI 程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让 windows 程序生生不息。 Windows GUI 程序的消息循环 Windows 程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源。这里的 while 循环使用了 GetMessage ()这个方法,这是个阻塞方法,也就是队列为空时方法就会被阻塞,从而这个 while 循环停止运动,这避免了一个程序把 cpu 无缘无故地耗尽,让其它程序难以得到响应。当然在某些需要 cpu 最大限度运动的程序里面就可以使用另外的方法,例如某些 3d 游戏或者及时战略游戏中,一般会使用 PeekMessage ()这个方法,它不会被 windows 阻塞,从而保证整个游戏的流畅和比较高的帧速。 这个主线程维护着整个窗体以及上面的子控件。当它得到一个消息,就会调用

工具导航Map