- 博客(22)
- 资源 (20)
- 收藏
- 关注
原创 BMS杂谈1
凌力尔特(Linear Technology)是一家模拟芯片公司,成立于1981年,由Bob Swanson和Bob Dobkin创立,总部位于硅谷。2016年,凌力尔特被ADI公司以约150亿美元的价格收购。收购完成后,凌力尔特成为了ADI的一部分,因此,从法律和所有权的角度来看,凌力尔特现在是ADI的一部分,两者被视为一家公司。这次收购使ADI成为全球领先的模拟技术公司,合并后的公司总市值约为300亿美元,预计年度收入近50亿美元。、备用电源、高功率便携设备等领域,和LTC6813相比,
2024-08-21 10:12:50
725
原创 CAN数据连包处理
控制字的含义:10:向目标地址请求发送数据;11:用于响应源地址的发送请求,即告诉源地址 你可以给我发数据了;13:消息结束,即目标地址已经从源地址将数据收过来了;FF:放弃连接。举例子:(1)10 0D 00 02 FF 00 06 00 (A->B)10 -控制字 0D 00 -整个消息的字节数 低位在前 02 -数据包个数,即这个连续帧数据...
2018-03-18 15:44:37
4581
原创 移植qrencode到ARM-Linux,实现字符串生成二维码图片
系统环境:Ubuntu 12.04.3 LTS 交叉编译器:arm-none-linux-gnueabi-gcc(v4.5.2)所需源码包: zlib-1.2.3.tar.gz, http://download.youkuaiyun.com/detail/wj8987922/9820268 libpng-1.2.12.tar.gz, http://download.youkuaiyun.com/detail
2017-04-20 16:56:16
3575
1
原创 数组
1、数组声明时清空int main(){ int a[5] = {0}; //清空 int i = 0; for(i = 0 ; i< 5 ; i++) printf("[%d]",a[i]); # [0][0][0][0][0] printf("\n"); return 0;}int main(){ int a[5] = {1};
2016-11-10 10:11:08
293
原创 C语言位域操作
1、为了节省空间,操作方便,C语言提供一种数据结构:位域。申明如下: struct bitfield{ char a:2; #a占2位 char b:3; #b占3位 char c:2; #c占2位 }bf;2、基本规则: (1)如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字 段将紧邻前一个字段存
2016-11-09 16:25:39
465
原创 protected private public访问
1、类成员函数可以访问类内:private+protected+public 2、类对象可以访问类内: public (protected+private不可) 3、派生类成员函数可以访问父类内:protected+public (private不可) 4、派生类对象可以访问: public (protected+private不可) 5、总结:private和protected类之间
2016-11-02 07:57:54
403
原创 union
1、union是为了让【不同的数据项】存放到【同一段内存】空间中。 2、union数据结构中的多个成员共用一段内存空间,空间大小由最大的成员决定。 3、union使用的范例如下: 1、 union test { unsigned int a; unsigned short b; unsigned char c; }union_da
2016-11-01 14:41:09
308
原创 大小端问题
int main(){ int i; unsigned int x = 0x11223344; unsigned char *p ; p=(char *)&x; for(i=0;i4;i++) { printf("%x:%x ",p,*p); p++; }}bf80ca34:44 bf80ca
2016-11-01 08:44:02
472
原创 C++重载
1、 函数重载的关键是函数的参数列表—-也称函数特征标。 2、如果两个函数的参数数目和类型相同,同时参数的排列顺序也相同,则他们的特征标相同。 3、C++允许定义名称相同的函数,条件是它们的特征标不同。 4、虽然函数重载很诱人,但也不要滥用。仅当函数基本上执行相同的任务,但使用不同形式的数据时,才应该使用函数重载;否则可以考虑使用默认参数,这样程序只要为一个函数请求内存。 5、注意事项:
2016-10-26 16:45:40
335
原创 C++默认参数
1、默认函数本质功能:使用【不同数目】的参数调用【同一个函数】 2、与函数多态(函数重载)的区别:多态是使用【相同】或【不同】数目的参数,调用多个同名函数 3、默认参数和重载不能同时出现:使用了默认参数就不能使用重载,使用了重载也不能使用默认参数,它们是相互冲突的。因为当调用函数时如果少写一个参数,编译器就无法判定是利用函数重载还是利用默认参数,会出现二义性,无法执行。例子1:using nam
2016-10-24 16:12:52
270
原创 virtual虚函数
相关规则: 如果要在【派生类中重新定义】基类的方法,通常应该将【基类方法】声明为一个虚函数。这样,程序将根据【对象类型】而不是【引用或指针类型】来选择方法版本。 C++规定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数。因此在派生类重新声明该虚函数时,可以加virtual,也可以不加,但习惯上一般在每一层声明该函数时都加virtual,使程序更加清晰。例子
2016-10-24 15:13:21
443
原创 C++中引用和取地址的区别
废话少说,上例子:1、取地址在等号右边,引用在等号左边 int m = 3; int &n = m; //引用 int *p = &m; //取地址2、和类型一起的是引用,和变量在一起的是取地址 int fuc(int &n); //引用
2016-10-24 13:26:55
568
原创 malloc、free机制初探
最近看了一些内存管理方面的文章,思考:linux下malloc、free到底是个什么流程,free完了后那块内存是直接放进空闲内存链表,还是清空后放入内存链表;这个问题也可以理解为:malloc后的那块内存到底干部干净。闲话少说,上测试代码,very easy!int main(int argc, char ** argv) { printf("mem test!\n"); in
2016-09-19 09:16:04
333
原创 正则表达式
部分基本规则如下例程所示:#!/bin/bash echo "This is a test!" | sed -n '/test/p' #This is a test! echo "This is a tests!" | gawk '/test/{print $0}' #This is a tests! 部分匹配 echo "T
2016-09-09 17:31:27
290
原创 shell函数的使用
1、函数申明和调用#!/bin/bash function fun_add #定义方法1{ echo $[ $1 + $2 ]}value=`fun_add $1 $2` #调用方法echo $valuefun_dec() #定义方法2{ echo $[ $1 - $2 ]}value=`fun_dec $1 $2` #向函数传递参数,此处为【反引
2016-09-06 17:48:05
282
原创 shell判定文件夹下存在某种类型的文件
该例程用途: 判定/mnt文件夹下是否存在ko文件。存在则把ko文件mv到update文件夹下,不存在则从update文件夹中把ko文件mv过来#!/bin/shexist_file(){ if [ -e "$1" ] then return 1 else return 2 fi}exist_file *.kovalue
2016-09-05 14:35:25
9212
6
原创 shell 抽象变量
1、跟$符号相关的变量:#!/bin/bash echo $$echo $*echo $@echo $#echo $0 $1 $2 $3**执行:./dollar.sh aa bb cc输出: 2486 aa bb cc aa bb cc 3 ./dollar.sh aa bb cc解释: $$: 当前shell的pid $*: 参数列表 $@: 参数列表 $
2016-09-02 15:00:09
297
原创 指针函数 与 函数指针
【指针函数】与【函数指针】区别指针函数:#include<stdio.h>#include<string.h>#include<stdlib.h>static int data;int *point_func(int x){ data = x; printf("data's address is %x\n",&data); printf("data's vaule
2016-08-30 11:02:18
314
原创 替换字符串
1、将一串字符串中的空格转换成@#$.#include<stdio.h>#include<stdlib.h>#include<string.h>void conver(char *buf,char *cbuf){ int count,len,newlen,i; count =0; len = strlen(buf); for(i=0;i<len;i++)
2016-08-17 06:26:10
371
原创 Linux下文件的相关操作(fopen、fwrite、fread、fseek、ftell)
1、FILE *fopen(char *path,*mode);mode:r: 读打开, 不创建w: 写打开,创建/清空a: 写打开, 创建/追加r+: 读/写打开,不创建w+:读/写打开,创建/清空a+:读/写打开, 创建/追加 衍生:rb,rb+,wb,wb+,ab,ab+; 对二进制操作rt,rt+,wt,wt+,at,at+;
2016-08-16 11:14:18
16633
libpng-1.2.12.tar
2017-04-20
libpng-1.2.12
2017-04-20
Linux的Configure参数解释
2012-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人