- 博客(93)
- 收藏
- 关注
原创 extern c 和extern c++
用g++ 编译时,如果my_c_function.h 里面有extern “C” 是c的编译方式, 调用如果不extern "C" 会编译失败。如果用 g++ 编译时,如果my_c_function.h 里面没有extern “C” 便是c++ 编译方式。
2024-03-24 11:07:03 398 1
转载 Linux环境下的GDB调试方法
1、GDB简介 GDB(GNU Debugger)是GCC的调试工具。其功能强大,现描述如下: GDB主要帮忙你完成下面四个方面的功能:1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3.当程序被停住时,可以检查此时你的程序中所发生的事。 4.动态的改变你程序的执行环境。2、GDB基本调试命令2.1 准备 通过 gcc 的-g选项,将调试信息加到可执行文件中。$ gcc..
2021-09-25 00:37:36 856
转载 PWM原理 PWM频率与占空比详解
什么是PWM 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 pwm的频率:是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);也就是说一秒钟PWM有多少个周期单位: Hz表示方式: 50Hz 100Hzpwm的周期:T=1/f周期=1/频率50Hz = 20ms 一个周期如果频率为50H
2021-06-13 17:24:24 12302 2
原创 时钟周期、机器周期、指令周期
51单片机利用for语句嵌套实现简单的延时1s功能名词解释:(1)时钟周期。定义为时钟频率的倒数,本例使用12MHz的时钟频率,它的时钟周期大约就是1/12μs。(2)机器周期。单片机的基本操作周期,STC89C51系列的单片机来说,一个机器周期由12个时钟周期组成,也就是1μs。(3)指令周期。指的是单片机执行一条指令需要的时间,一个指令周期需要1~4个机器周期。一个for循环需要8个指令周期。假设单片机采用了12MHz的时钟频率,利用for语句嵌套实现简单的延时1s功能。unsi
2021-06-12 14:08:29 6356 4
原创 vi 自动补全
自动补全输入模式,ctrl +p/n帮助:命令模式下(按住ctrl+:),输入help ins-completion移动位置:命令模式下, 移动光标到行首,Home,Shift+6 , 0;移动光标到行尾,End, Shift+4;移动一个单词用w...
2021-03-01 12:25:21 257
原创 find and grep
find命令常用来搜索目录树中的文件或者目录,并可对搜索出来的目录或文件执行某些操作。命令格式:find pathname -options [-print -exec -ok…],其中pathname表示在pathname这个目录下寻找。-options表示find命令的常用选项,主要有(1)、-name表明按文件或目录名来进行查找;(2)、-type表明将按文件类型来查找;(3)、-perm 表明将按文件或目录权限来查找;(4)、-user 表明将文件或目录的所有者查找;...
2021-02-08 15:59:31 129
转载 shell:>& 、& >、2>1、2>&1
shell上:0表示标准输入1表示标准输出2表示标准错误输出> 默认为标准输出重定向,与 1> 相同2>&1 意思是把 标准错误输出 重定向到 标准输出.&>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中用例子说话:1. grep da * 1>&22. rm -f $(find / -name core) &> /dev/null上面两例中的 & 如何理解,&不是放到.
2021-01-18 16:33:45 787
原创 shell script 注意
"$var" and '$var '$ var=test$ echo '$var' $var$ echo "$var"test2 () and {}$ lsextern tps win$ echo $(ls)extern tps win[ $chanid -lt 10 ] || { echo "chanid should be less than 10";...
2020-03-28 18:39:49 189
原创 awk use example
#!/bin/bashCOMMON=/home/huimingf/bin/common.shif [ -r $COMMON ]then . $COMMONelse echo "Can not obtain $COMMON" >&2 exit 1fiCMD="${0##*/}"USAGE="<file> <min&g...
2020-03-03 13:33:53 144
原创 git commands for code
1> git clone ssh://xxx.xxx.xxx.xx/pssnfs/gitrepo/sample2> git commit -a --ammendcode changes and commit with last commitidgit commit --amendno code changes and commit with last commiti...
2020-02-24 08:54:52 178
原创 git 创建仓库
server(ip:xx.xx.xx.xx):cd /pssnfs/gitrepo/mkdir aicd ai/git init --baregit config core.sharedRepository 0777chmod -R 777 aiclient:git clone ssh://xx.xx.xx.xx/pssnfs/gitrepo/ai
2019-03-04 08:58:07 260
原创 获取git 代码改动 commitid gitchange.py
!/usr/bin/env pythonimport osimport sysimport timeimport getoptimport reimport commandsimport subprocessdef usage(): print ("Usage:") print ("gitchange.py <add/del> '...
2018-12-27 15:57:57 1401
原创 attention and debug
sh -x scriptname print the command execute resultsh -n scriptname no run the script and check the script programmer errorsh -v scriptname 在实际执行一个命令前打印出这个命令.set -o verbose# 执行前打印命令.
2017-08-24 10:42:17 228
转载 shell中各种括号的作用()、(())、[]、[[]]、{}
一、小括号,圆括号()1、单小括号 () ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 ②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放
2017-08-24 10:37:01 281
原创 shell script lsco_restore.sh
#!/bin/kshUSAGE=""CMD=""usage() { echo "usage: $CMD $USAGE" exit 1}#### no spaces CMD="${0##*/}"USAGE=""(($# != 1 )) && usagereadY(){ read answer if [ $answer =
2017-08-14 14:21:32 284
原创 适配器(adapter)与外观模式(facade)
适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。code implement:Duck refer to TargetTurkeyAdapter refer to AdapterAdaptee pulbic class TurkeyAdapter implements Duck{ Turkey tur
2016-04-21 16:23:06 672
原创 check1 and check2
#include bool check1(unsigned int num){ bool odd = false; while(num) { odd = !odd; num = num & (num-1); } return odd;}
2016-03-17 23:05:21 607
原创 模板方法模式(Template method)
模板方法模式定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。要点Template method 包含了PrimitiveOperation 1() 和Primitve Operation 2(),具体子类重定义Primitive Operation 来实现算法的不同其实主要的是Primitive
2015-10-14 08:08:57 386
原创 代理模式(Proxy)
代理模式定义为其他对象提供一种代理以控制对这个对象的访问,在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。特点1.RealSubject 和 Proxy 都继承Subject 类2.都有共同的接口Request().3 .Proxy 中应该有RealSubject 的对象简单代理模式中,代理类知
2015-10-12 15:24:54 418
原创 装饰者模式(decorator)
装饰者模式定义23种设计模式之一,英文叫Decorator Pattern,又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。要点装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为总结系统需要增加新功能时,往主类加代码(字段,方法)增加主类的复杂性,装饰模式提供了一个好的解决方案,把装饰功能放入单独的类中,并
2015-10-12 14:42:23 370
转载 UML类图实例 (动物)
首先是复习一下UML中九种图的理解:http://xhf123456789plain.blog.163.com/blog/static/172880482201192222144421/画用例图:http://xhf123456789plain.blog.163.com/blog/static/172880482201192221826110/下面是类图的实例(好像大话设计中有):
2015-10-09 16:53:16 8440
原创 设计模式---策略模式(Strategy Pattern)
策略模式定义定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立使用算法的客户
2015-08-12 14:04:59 452
转载 Linux 技巧:使用 screen 管理你的远程会话
Linux 技巧:使用 screen 管理你的远程会话你是不是经常需要远程登录到Linux服务器?你是不是经常为一些长时间运行的任务头疼?还在用 nohup 吗?那么来看看 screen 吧,它会给你一个惊喜!11评论:田 强 (tianq@cn.ibm.com), 软件工程师, IBM中国软件开发中心2007 年 7 月 31 日内容
2015-06-17 10:34:28 626
转载 与门电路完整图
与门电路带电源完整图原理如图,RL 远大于 R1 ,如 :R1 = 1K Ω,RL = 100KΩ 。K1 或 K2 、或者 K1 、K2 同时接地(开关下拨),闭合电路接通, Y 输出是二极管的正向电压 0.7 V ,即输出低电平;只有 K1、K2 同时接高电平 (开关上拨),二极管全部截止,Y = E * RL / (R1+RL) ≈ E
2015-03-25 09:25:14 13428
转载 设置outlook2010邮件收到本地的方法
单击“文件”菜单,选择“信息”,再单击“帐户设置”按钮再在弹出对话框中单击“更改文件夹”:在弹出的“邮件传送位置”中直接单击“是”按钮:在新对话框中新建一数据文件并选中,单击“确定”:!在“帐户设置”对话框可以看到更改:
2015-03-18 13:54:22 4755
转载 单片机英文缩写的英文全称及中文名称
重新排了下版,如下: 汇编指令 助记符 英文注释 功能1 MOV MOVe 传送2 MOVC MOVe Code 代码传送 3 PUSH PUSH 压栈4 POP POP 退栈 5 XCH eXCHange 交换6 XCHD eXCHang
2015-03-12 15:33:15 6038 1
转载 单片机MCS-51系列指令快速记忆法
随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小、性价比高、功能强、可靠性高等独有的特点,在各个领域(如工业控制、家电产品、汽车电子、通信、智能仪器仪表)得到了广泛的应用。学习、使用单片机的人越来越多,而生产单片机的厂家很多,单片机种类繁杂,不知如何选择。据统计,八位单片机占全球单片机销量的65%。在八位单片机中,Intel公司的8051单片机内核已成为8位单片机事实上的标准。
2015-03-06 16:42:41 2168
转载 linux 脚本编程风格
脚本编程风格====================写脚本时养成结构化和系统方法的习惯. 即使你在信封背后随便做一下草稿也是有益的,要养成在写代码前花几分钟来规划和组织你的想法.这儿是一些风格的指南. 注意这节文档不是想成为一个官方Shell 编程风格.32.1. 非官方的Shell 脚本风格---------------------------* 注释你的代码.这会使
2014-06-03 10:24:36 802
转载 UML建模之用例图(重点讲extend和include关系)
用例图(Use Case Diagram)是整个UML9种图中最基础、最重要的一种图。为什么说它重要呢?因为用例图描述的是待开发系统的功能需求,这些功能需求是UML其它几种视图的依据和基础,其它几种图都要围绕用例图中定义的用例来建模,也可以说其它几种图都是为了实现用例图中的用例而存在的。那么用例图都有哪几种元素组成呢?角色(Actor)
2014-02-17 15:31:23 49378 8
转载 UML建模之时序图(重点讲矩形长条的连续与间断)
时序图(Sequence Diagram ,是交互图的一种,另一种交互图是协作图,这两种图在Rose中可以相互转化)用来描述按时间顺序排列的对象之间的交互,它强调对象之间消息传递的时间顺序(协作图强调对象之间的交互关系)。时序图都由哪些元素组成呢?角色实例(某一角色的具体实例) 如上图所示,:CommonUser就代表角色Common
2014-02-17 15:20:19 6690
转载 big endian and little endian
一、字节序来自:http://ayazh.gjjblog.com/archives/1058846/谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是big endian,什么又是l
2014-01-26 12:56:51 679
原创 gdb dbg 3
xx/gcc-cgex86gdb xx.simclass Ot11dpe12aFltSup { static Ot11dpe12aApsProtSup* pAPSS;}2.get the address of static var(gdb) x &(Ot11dpe12aFltSup::pAPSS)0x8d9c7e8 : 0x00000000
2014-01-26 10:52:21 900
转载 知乎关于嵌入式若干问题的回复整理(转载)
Q:自动化专业的本科学生,单片机、PLC、嵌入式,哪个的发展前景更好?A1:嵌入式是一个大概念,可以说单片机的知识是嵌入式的一个子集。软件层次上,可以简单分为驱动,系统,应用这3块。基于的硬件至少包括MCU,DSP,SOC等一般说来,搞过几年单片机的人,对MCU+驱动+简单系统+简单应用熟,但对操作系统和复杂应用不熟。碰到说自己搞嵌入式的人,就鱼龙杂混(仅仅搞过单片机),要详细问才能判断水平。对于
2014-01-20 16:12:04 2965
转载 shell中条件判断if中的-z到-d的意思
[ -a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。[ -d FILE ] 如果 FILE 存在且是一个目录则为真。[ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ] 如果 FILE 存在且是一个
2013-12-19 14:58:17 545
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人