C语言读取串口数据并16进制打印

C语言读取串口数据并16进制打印

软件开发 2年前 (2015-08-05) 浏览: 592 评论: 0

区域控制器串口协议 1、通信格式=[帧头]+ [数据长度]+ [指令代码]+ [通信内容]+ [校验和]+ [帧尾]。 2、数据长度为从帧头至帧尾的所有字节(包含帧头、帧尾)总数; 3、校验和为校验位前面所有字节的异或; 4、RS232 串口通信,波特率 9600,无奇偶校验,8 位数据位,1 位停止位。 5、多字节传送数据时,高位在前,低位在后 关键代码port.cpp  

notepad++的高级功能:编译java、C++

notepad++的高级功能:编译java、C++

技术应用 2年前 (2015-05-17) 浏览: 629 评论: 2

Notepad++是极客人非常喜欢的一款电脑客户端的编辑器,它的安装包只有7.9M,但是功能却十分强大,界面简单、启动速度快,用它替代系统的“记事本”是个不错的选择。极客人常用的功能有查找替换(支持正则表达式)、文件转编码,同时它的代码高亮、代码折叠也十分实用,还可以根据你自己的爱好改变代码高亮的风格主题。同时它具有插件扩展功能,安装插件使它具有无限可能。 Notepad++支持的文件类型有: C、C++、Java、C#、XML、HTML、PHP、CSS、makefile、ASCII艺术(.nfo)、doxygen、ini文件、批处理文件、Javascript、ASP、VB、VBS、SQL、Objective-C 、Pascal、Perl、Python、LuaTeX、TCL汇编言、Ruby、Lisp、Scheme、Properties、DiffSmalltalk。 除了强大的编辑能力外,其实我们也可以直接在Notepad++里直接编译运行java、C++代码,这样我们不至于写一个简单的“hello world”也要新建一个eclipse项目,它可以直接编译单个的java文件,和C一样;编辑html的时候也不用打开启动速度极慢的dreamweaver了。虽然它没有专业的编程工那样具有强大的调试功能,但作为轻量级的编程工具还是十分不错的。 1.下载安装NppExec插件 分别打开插件——pluginManeger菜单,点击“Show Plugin Manager”打开Notepad++的插件管理:   在available选项卡中找到“NppExec”选择安装,重启notepad++。 2.按F6编译并运行java文件 notepad++本身并不具备编译功能,而是调用已注册为系统环境变量的JDK工具的编译功能,其实eclipse这些软件也是这样,它们只是编辑器。编译的快捷键是F6 第一次编译的时候,我们需要设置一下编译命令,下面是无参数、无jar引用的java文件编译命令   然后保存为:“java编译”,以后直接选择它作为模板编译。 3、带参数、带jar引用的java文件编译命令 不知道细心的朋友有没有发现,上面的编译命令和命令指示符里编译运行的命令是一样的,所有懂得命令指示符编译的朋友可以自己修改编译命令,编译C++的原理也是一样。 下面是带参数、带jar引用的java文件编译命令: 在上面的编译命令中,我在-cpp(classpath)参数"$(CURRENT_DIRECTORY)"后面添加了“;$(CURRENT_DIRECTORY)/json.jar”,这表示我引用了当前文件夹下“json.jar”这个外部jar引用. 实例展示:   文件路径关系:  

error LNK2001:unresolved external symbol ;public: __thiscall 类名::函数

error LNK2001:unresolved external symbol ;public: __thiscall 类名::函数

算法语言 3年前 (2015-03-21) 浏览: 147 评论: 0

解决办法:把该函数从.cpp文件中移动到.h文件中,根本原因函数引进不成功. 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。初学者在学习VC++过程中,遇到的LNK2001错误的错误消息主要为: unresolved external symbol “symbol”(不确定的外部“符号”)。 如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。一般来说,发生错误的原因有两个:一是所引用的函数、变量不存在、拼写不正确或者使用错误;其次可能使用了不同版本的连接库。 以下是可能产生LNK2001错误的原因: 一.由于编码错误导致的LNK2001。 1.不相匹配的程序代码或模块定义(.DEF)文件能导致LNK2001。例如, 如果在C++ 源文件内声明了一变量“var1”,却试图在另一文件内以变量“VAR1”访问该变量,将发生该错误。 2.如果使用的内联函数是在.CPP文件内定义的,而不是在头文件内定义将导致LNK2001错误。 3.调用函数时如果所用的参数类型同函数声明时的类型不符将会产生LNK2001。限制。当试图从文件外部访问任何没有在该文件内声明的静态变量时将导致编译错误或LN 4.试图从基类的构造函数或析构函数中调用虚拟函数时将会导致LNK2001。 5.要注意函数和变量的可公用性,只有全局变量、函数是可公用的。 静态函数和静态变量具有相同的使用范 围K2001。 函数内声明的变量(局部变量) 只能在该函数的范围内使用。 用全局变量也会产生LNK2001错误。一种解决的方法是需要时在头文件中加入该常量的初始化代码,并在.CPP文件中包含该头文件;另一种方法是使用时给该变量赋以常数。 二.由于编译和链接的设置而造成的LNK2001 1.如果编译时使用的是/NC++ 的全局常量只有静态连接性能。这不同于C,如果试图在C++的多个文件内使OD(/NODEFAULTLIB)选项,程序所需要的运行库和MFC库在连接时由编译器写入目标文件模块, 但除非在文件中明确包含这些库名,否则这些库不会被链接进工程文件。在这种情况下使用/NOD将导致错误LNK2001。用/MD选项编译时,既然所有的运行库都被保留在动态链接库之内,源文件中对“func”的引用,在目标文件里即对“__imp__func” 的引用。如果试图使用静态库LIBC.LIB或LIBCMT.LIB进行连接,将 2.如果没有为wWinMainCRTStartup设定程序入口,在使用Unicode和MFC时将得到“unresolved external on [email protected]”的LNK2001错误信息。 3.使在__imp__func上发生LNK2001;如果不使用/MD选项编译,在使用MSVCxx.LIB连接时也会发生LNK2001。 4.使用/ML选项编译时,如用LIBCMT.LIB链接会在_errno上发生LNK2001。 5.当编译调试版的应用程序时,如果采用发行版模态库进行连接也会产生LNK2001;同样,使用调试版模态库连接发行版应用程序时也会产生相同的问题。字标志内联函数。 6.不同版本的库和编译器的混合使用也能产生问题,因为新版的库里可能包含早先的版本没有的符号和说明。 7.在不同的模块使用内联和非内联的编译选项能够导致LNK2001。如果创建C++库时打开了函数内联(/Ob1或/Ob2),但是在描述该函数的相应头文件里却关闭了函数内联(没有inline关键字),这时将得到该错误信息。为避免该问题的发生,应该在相应的头文件中用inline关键 。其实,产生LNK2001的原因还有很多,以上的原因只是一部分而已,对初学者来说这些就够理解一阵子了。但是,分析错误原因的目的是为了避免错误的发生。LNK2001错误虽然比较困难,但是只要注意到了上述问题,还是能够避免和予以解决的。 8.不正确的/SUBSYSTEM或/ENTRY设置也能导致LNK2001。 例如: 这错误在编译的时候没有任何提示,当你Buid的时候通不过。   这种错误的原因是没有个类Shape给出构造函数和析构函数的函数体。 正确的写法如下:  

[转载]各种字符串Hash函数

[转载]各种字符串Hash函数

算法语言 3年前 (2014-12-11) 浏览: 124 评论: 0

常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。 常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。  具体的代码分享  

数据结构Exam 2:Enhanced Parking Lot Simulation

数据结构Exam 2:Enhanced Parking Lot Simulation

算法语言 3年前 (2014-12-08) 浏览: 469 评论: 0

Description   This assessment tests your ability to use the STL stack adapter, the STL vector container, and the STL find algorithm to solve a problem. You are asked to finish the implementation of a program that simulates a multiple-aisle parking lot. When cars are parked bumper-to-bumper, each aisle in this parking lot can hold three cars. There are five aisles in the parking lot. It is your task to finish the implementation of the simulation that processes the vehicle arrivals and departures. The goal of the simulation is to keep track of and report how many times individual cars are moved while handling the departure of other cars. The simulation also displays an alphabetized list of all the cars that visited the parking lot during the simulation.       答案:main.cpp

数据结构-传染病问题

数据结构-传染病问题

算法语言 3年前 (2014-11-30) 浏览: 163 评论: 1

Description This assignment asks you to finish the implementation of a program that assesses the level of infection in a tissue sample. You are given data representing a rectangular tissue sample, overlaid with a grid. Certain portions of the tissue are infected; others are not. Your goal is to help assess the extent of the infection by writing a program that, given the coordinates of a colony of infection, can determine its size. A typical use of the program follows. The user interacts with the program only through command-line arguments. The user supplies to the program a data filename and the coordinates of a cell in the grid. The coordinates are specified by row and then column, both starting at zero. The program calculates the extent of infection at that coordinate and outputs a two-dimensional representation of the tissue sample. Figure 1 depicts(叙述) the execution(执行) of the program. 代码

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册