杂
文章平均质量分 73
Ace_XK
Think different.
展开
-
最牛B的编程套路
最近,我大量阅读了Steve Yegge的文章。其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已:与你所相信的恰恰相反,单纯地每天埋头于工作并不能算是真正意义上的锻炼——参加会议并不能锻炼你的人际交往能力;回复邮件并不能提高你的打字水平。你必须定期留出时间,集中锻炼,这样才能把事情做得更好。我认识很多杰出的程序员——这转载 2015-05-19 10:31:51 · 788 阅读 · 0 评论 -
做完了PAT (Basic Level) Practise (中文)总结一下
今天是520,作为工科生的单身汪,还在做题,学习。(你是我的软肋,也是我的铠甲。加油↖(^ω^)↗)自从四月份开始到现在,做完了这40道题,排名到了第四名,感觉是自己提交的次数太多了。总的来说,自己的技能有点提高,但是还有很大的问题。问题的分析如下。1,由于自己的非CS专业,导致自己一些基础较差,需要自己一边学习,一边刷题目,毕竟没有他们的基础好,所以,要努力努力。2,原创 2015-05-20 10:44:10 · 976 阅读 · 0 评论 -
C语言 gets()和scanf()函数的区别
scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hihello",则应该使用__gets__函数。gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。char string[15]; gets(string); /*遇到回车认为输入结束*/scanf("%s",string);转载 2015-05-18 10:50:24 · 451 阅读 · 0 评论 -
C/C++中的sort()函数,,,,,,,
sort()函数是C++中的排序函数其头文件为:#include头文件;qsort()是C中的排序函数,其头文件为:#include 1、sort()sort 对给定区间所有元素进行排序stable_sort 对给定区间所有元素进行稳定排序partial_sort 对给定区间所有元素部分排序partial_sort_copy 对给定区间复制并排序nth_elemen转载 2015-05-17 12:56:11 · 525 阅读 · 0 评论 -
白话经典算法系列之五 归并排序的实现
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。[cpp] view plaincopy转载 2015-05-20 10:16:20 · 459 阅读 · 0 评论 -
struct和typedef struct彻底明白了~~~~~~~转载+自己的东西
我的基础有点薄弱,这里又有点迷糊,先补充一下。zz: http://www.cnblogs.com/qyaizs/articles/2039101.html本文在原文的基础上有所修改。struct和typedef struct分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef转载 2015-05-27 14:35:00 · 541 阅读 · 0 评论 -
树的前中后遍历,利用递归,非递归,利用栈、、
在学树,对于其遍历是比较重要的。遍历的方法有很多种,利用递归的实现是比较简单的。树结构定义为。typedef struct TreeNode{ int data; struct TreeNode *left; struct TreeNode *right;} *BinTree;函数如下。void PreOrder_recursion(BinTree bt)//前序原创 2015-05-27 15:50:13 · 533 阅读 · 0 评论 -
一个项目经历的CheckList 。。。。。。。。。
文章出处:http://www.blogdriver.com/service/tb.do?diaryID=263279[@more@]我的团队开发活动Check List- - 软件配置管理1.使用源代码管理工具了么?我们用CVS, 其中客户端使用TortoiseCVS, 文本转载 2015-05-29 15:42:56 · 4979 阅读 · 0 评论 -
《代码大全》里核心的部分checklist整理
代码大全目录(?)[-]设计类的设计子程序防御式编程伪代码变量变量命名基本数据类型不常见的数据类型组织直线型代码使用条件语句循环不常见的控制结构表驱动法一般控制问题作者:蛙蛙王子。为了更好的评估代码写的哪里有问题,我把《代码大全》里核心的部分checklist整理出来了,大家可以大概过一遍,不一定每写完一个程序都要一条一条的去检查,但心里应该有这么一转载 2015-05-29 15:39:47 · 811 阅读 · 0 评论 -
先转再学,,,堆与堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总转载 2015-06-01 21:20:03 · 1318 阅读 · 0 评论 -
AVL树的旋转操作 图解 最详细
AVL树的旋转操作 图解 最详细各大教课书上讲的都是左旋与右旋,其实这样很容易理解错误,我们换一种叫法。我们称呼左旋为:逆进针旋转。我们称呼右旋为:顺进针旋转。老规矩,直接上图。如果再看不懂AVL树的旋转,我就无能为力了。。。如果图中有错误,欢迎指正。代码篇前文已完成了 二叉查找树的实现(BST)转载 2015-06-03 09:32:07 · 2749 阅读 · 2 评论 -
04-树4. Root of AVL Tree (25)
An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more than one, rebalancing is原创 2015-06-03 10:21:35 · 423 阅读 · 0 评论 -
priority_queue<int,vector<int>,greater<int>>优先队列 按照由小到大顺序
C++优先队列的基本使用方法 #include#include#includeusing namespace std;struct node{ friend bool operator { return n1.priority "为从小打到排列 } int priority; int value转载 2015-06-04 13:35:23 · 5699 阅读 · 1 评论 -
TwinCAT 软件安装级别的简要介绍,倍福FTP
TwinCAT的几个版本,在一个论坛上看到的,忘记写地址了。相信大家在使用和安装TwinCAT的初期会有一些疑问,TwinCAT的几个安装级别分别表示什么意思,下面将简单介绍一下各个级别:1. TwinCAT CP:这个版本是TwinCAT软件安装的最低的一个版本,主要是针对BECKHOFF控制面板使用的,所包含的ADS communication library不需要激活码。包含高级语言转载 2015-05-21 19:54:07 · 7264 阅读 · 1 评论 -
几种常见的排序算法,选择排序,冒泡排序,希尔排序,堆排序,快速排序,归并排序,基数排序的比较
原创 2015-06-26 14:40:28 · 969 阅读 · 0 评论 -
C++ map的基本操作和用法
1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。2、map的功能自动建立Key - value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次转载 2015-06-30 14:48:02 · 450 阅读 · 0 评论 -
DevC++开发程序大瘦身
以前都是用的VC6.0,这几天换到了DEVC++,发现程序的编译,链接的速度会明显下降,所以,这里就找了找原因。下面是转自,先学习一下。http://blog.csdn.net/luck_wei/article/details/5216921 这两天使用了一下“DevC++”,发现编译出来的可执行文件体积相对(相对使用VS6)比较大(一个简单的控制台程序使用C+转载 2015-05-25 14:59:07 · 1753 阅读 · 0 评论 -
中国大学MOOC-陈越、何钦铭-数据结构基础习题——总结
终于看完这个公开课了,,还有把这些程序编写完了,好了。这两天,先做项目,然后继续自己的PAT编写。代码放着这里了http://download.csdn.net/detail/xkzju2010/8858309原创 2015-07-01 15:02:24 · 4927 阅读 · 0 评论 -
Doxygen简单经验谈。。。
Doxygen, 大名鼎鼎的文档生成工具,被Boost、OpenCasCade等诸多项目作为文档生成的不二人选。人说,才华横溢往往是高深莫测,这句话放在 Doxygen这里显然是不适用的。十八般武艺样样精通的Doxygen,却十分的简单易用,从头到尾看一下它随机的文档,想不会用都难。。。嫌看英文麻烦的,这里有一篇中文的入门介绍。 简单的说,如果你准备在项目中采用Doxygen作为文档生成的转载 2015-06-30 22:26:14 · 471 阅读 · 0 评论 -
约瑟夫环的链表解法和数学解法
约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”。于是,约瑟夫建议每个人轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟夫有预谋地抓到了最后一签,并且,作为转载 2015-05-25 21:25:41 · 671 阅读 · 0 评论 -
C++小知识之Vector用法
嗯,这个vector很好用,所以就学习了下。zz http://blog.csdn.net/xdrt81y/article/details/12199965C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。标准库vector类型使用需要的头文件:#incl转载 2015-05-26 09:19:32 · 479 阅读 · 0 评论 -
主流的工业以太网简介及比较(EPA , EtherCAT , Ethernet Powerlink , PROFINET, Ethernet/IP, SERCOS III)
在实时工业以太网中有几个主要的竞争者:EPA , EtherCAT , Ethernet Powerlink ,PROFINET, Ethernet/IP, SERCOS III。下面对它们进行简单比较。 1 Ethernet/IP Ethernet/IP是2000年3月由Control Net International和ODVA( Open DevicenetVendor原创 2015-06-13 13:51:23 · 20787 阅读 · 0 评论 -
倍福提供的EtherCAT从站代码包解析
用倍福的从站配置工具得到的源代码有以下1 主要代码 ecatappl.c ecatappl.h Ecatappl: EtherCAT从站应用层接口,整个协议栈运行的核心模块,EtherCAT从站状态机和过程数据接口。Main()函数的定义,输入输出程数据对象的映射处理,ESC与处理器本地内存的输入输出过程数据的交换等; ecatslv.c ecat转载 2015-06-13 13:44:34 · 13981 阅读 · 9 评论 -
SSI与Biss、Endat、Hipeface
我去,,,,,台风来了,还在选型,现在卡在了编码器上,不知道哪一种的好了。。。SSI为同步串联界面(synchronous-serial interface)的英文缩写,其实际为两个RS422通道,利用中断的时钟同步读数,最高时钟速度1.1 MHz.ssi的数据形式最简单,一般不包含CRC校验、产品内部信息及地址,在运动控制中,有提出更快、信息更多的要求时,各家编码原创 2015-07-10 22:09:40 · 11992 阅读 · 0 评论 -
晶振,时钟PLL,CPU,APBI,TIM,电源,电路,看门狗等等stm32工作原理的通俗解释。
最近看到一个很有趣的形容,这里分享如下。原创 2015-06-15 19:06:09 · 2742 阅读 · 0 评论 -
搭建EtherCAT通讯运动控制平台(一)器件采购
下面的这段时间就是对TwinCAT进行研究。前一段时间,调通了自己的EtherCAT主站,能进行控制,接下来将其应用在自己的伺服驱动器上,这样就可以做出来自己的具有EtherCAT功能的伺服驱动器。首先要先买来带有EtherCAT功能的伺服驱动器来看看人家怎么做的。查询,并且找了一周的时间,终于选型定在了倍福公司和SANYO公司的伺服驱动器上。倍福公司的什么都很贵。SANYO公原创 2015-07-06 14:24:14 · 2173 阅读 · 0 评论 -
搭建EtherCAT通讯运动控制平台(三)beckoff公司产品订购
最终采购的backoff公司的产品为AX5203由于本驱动器可以带动两个伺服电机,同时为了方便研究,采购两种技术的产品。1,AM8000系列,为OCT技术,采用载波技术,对于安装比较方便,成本也节约一根线。2,AM3000系列,为传统系列,动力线和反馈线,这样成本会比较高。订购周期为6到8周时间。原创 2015-07-23 09:46:04 · 1724 阅读 · 0 评论 -
史上最全代码风格大全!!!Coding Style Conventions and Standards
Coding Style Conventions and StandardsA curated list of Coding Style Conventions and Standards.DocsCC Coding Standard.Recommended C Style and Coding Standards.SEI CERT C Coding Standar原创 2015-08-31 16:46:52 · 3349 阅读 · 1 评论 -
TI Sitara入门资料分享-AM335X家族介绍TI Sitara官方资料汇总
用于基于 ARM® Cortex™-A8 和 ARM9™ Sitara™ 的微控制器 (MPU) 的软件和工具软件开发套件 (SDK) - TI SDK 为您选择的平台提供主要软件组件和文档。SDK 可在 TI.com 上免费下载,同时随附 TI 评估模块 (EVM) 和开发套件提供。SDK 不需要运行时版税。仅 ARM 处理器操作系统TI SDKAM335x、AM35x、AM转载 2015-09-26 14:39:20 · 4694 阅读 · 0 评论 -
嵌入式linux截图工具gsnap。。。。
没有人指导,很多东西都是自己摸索出来的,太难受。嵌入式linux截图工具的基本原理就是通过读取Framebuffer,把LCD上显示的内容转换成图片格式文件(jpeg、bmp、png) 编译gsnap 解压gsnap的源码,进入源码目录:#tar xzvf gsnap.tar.gz#cd gsnap修改Makefile:指定交叉编译器,gcc改为 arm-linux原创 2015-10-17 11:50:56 · 3359 阅读 · 0 评论 -
解析Xenomai在实时Linux的应用
引 言随着嵌入式设备的快速发展,嵌入式设备的功能和灵活性要求越来越高,很多嵌入式设备中都开始使用操作系统。由于工作的特殊性,很多嵌入式设备要求系统对外部事件的中断响应必须在事先设定的时限范围内完成,使系统具有可预测性,而通用的桌面操作系统大都是非实时或者是软实时的,无法满足需求,因此就必须使用实时操作系统(Real-Time Operating System,RTOS)。实时操转载 2015-10-19 17:01:54 · 4709 阅读 · 1 评论 -
XML文件在TwinCAT里面的作用
想要了解XML文件在TwinCAT里面的地位,应该从源头出发。EtherCAT从站内存区前4KB为配置寄存器,从站系统运行前要进行寄存器初始化,其初始化命令帧即由在主站配置文件所描述。EtherCAT配置文件采用XML格式,具体格式如下:. 主站信息(帧头定义) 广播寻址信息(初始化命令)转载 2015-09-17 20:35:20 · 9595 阅读 · 0 评论 -
Ubuntu LinuxCNC2.5升级到2.6方法
使用Ubuntu LinuxCNC原因 目前,LinuxCNC运行载体系统有两种:Ubuntu和Debian。Ubuntu上运行的LinuxCNC最终版本为2.5,LinuxCNC官方从2014年下半年起不再维护其在Ubuntu上的Linuxcnc ISO发布。新版及以后的LinuxCNC版本都是通过Debian操作系统为载体来发布整个ISO,但经实际测试发现:同一台Atom主转载 2015-10-23 10:36:17 · 1351 阅读 · 3 评论 -
GPIO_Mode
一、GPIO配置(1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO转载 2015-09-18 21:11:49 · 409 阅读 · 0 评论 -
ucosii移植到STM32-F0/F1/F2~~~~~~~~~
用到的资源是:A、ST公司提供:STM32F10x开发标准库V3.5B、实验平台:战舰开发板V2.1C、编译软件:MDK3.8D、编辑软件:Source Insight_V3.5E、RTOS:ucosii_V2.92F、实验现象设计:红灯亮灭各800ms,绿色灯亮灭各300ms一、获取源码 这个可以百度下载,我们论坛也是有很多的源码工程的,官网可以在这里转载 2015-09-18 16:10:45 · 2989 阅读 · 2 评论 -
Beaglebone Black(7)测试PWM功能
上一节课我们初步学习了BBB板上ADC数据的读取方法,本节课将把学到的PWM的知识贡献给和我一样的初学者。以下这张彩图来自网上,详细标明了14个PWM和四个定时器的引脚位置。本实验中,我们只测试其中的P8_13引脚,名称为eHRPWM2B。需要准备的实验工具:一个二极管发光管和数字万用表及其他小线材 一、PWM知识(部分知识直接摘自网上)PWM全称Pulse转载 2015-11-09 10:52:01 · 1471 阅读 · 0 评论 -
Beaglebone Black(6.1)Beaglebone Black的c++开发环境Eclipse构建
在博客中看到,用Eclipse可以远程登录,操作起来会非常的方便,和putty也很类似。我的电脑是64位win7,自己先直接百度了下,找到了下面的文件http://www.newasp.net/soft/73383.html下载了,名字为eclipse-cpp-kepler-sr1-win32.zip的一个文件,解压就可以使用。但是,是32位的,没有运行起来。原创 2015-11-09 10:35:50 · 1201 阅读 · 0 评论 -
Beaglebone Black(6)测试读取ADC数据
之前我们初步学习了GPIO的使用方法,接下来认识下BBB板上ADC数据的读取操作,因为用BBB板做外部控制,接收外部传感器的一些模拟数据,模数转换ADC是需要用到的。所以在这里我也测试一下这BBB板的ADC简单功能,以后有深入学习到知识再进行补充。ADC资源引脚,P9_32至P9_40共九个引脚,其中P9_32为电源正极,P9_34为共地,其他七个对应七个ADC输入脚,因为有一个Ain_7转载 2015-11-09 09:55:04 · 1569 阅读 · 0 评论 -
Beaglebone Black(5)C++编程控制GPIO基础进阶
在一上课我们通过IO函数做了简单的GPIO端口输出高低电平输出,实现对一个LED指示灯的点亮和关闭控制,本节将通过完整的C++程序,实现第四课Shell脚本的全部功能,实现两个LED指示灯的交替闪亮。直接通过进入功能程序 1、实现echo 44 > export 打开端口功能 上一课简单测试中,通过手工在BBB板终端模式下打开gpio44端口可通过以下程序实现:转载 2015-11-08 20:27:31 · 1268 阅读 · 0 评论 -
Beaglebone Black(3)脚本文件控制
在文档中对于按时打开和关闭LED的例子。1,手动测试是否能点亮LED2,创建脚本文件,On和Off的文件,修改文件权限,测试下脚本3,编辑crontab文件,cron setting table。注意需要手动运行on脚本,来点亮原创 2015-11-08 19:11:16 · 853 阅读 · 0 评论