自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

转载 struct和union的区别

经过网上的一番搜索,现在总算是恍然大悟,所以就小结一下。如有错误之处,敬请指正。( struct 和 union 的结构定义形式没有多大差别,只要不是初学者,相信大家不会在这方面存在什么问题。) struct 简单来说就是一些相互关联的元素的集合,说是集合,其实它们在内存中的存放是有先后顺序的,并且每个元素都有自己的内存空间。那么按照什么顺序存放的呢?其实就是按你声明的变量顺序来存

2014-09-02 20:28:23 714

原创 ubuntu下安装gvim以及插件

参考博客网址http://blog.chinaunix.net/uid-23089249-id-2855999.html

2014-08-27 17:06:34 1639

转载 sem_init,sem_post,sem_wait 信号量的用法解释

信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用来初始化一个信号量。它的原型为:  extern int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __value));  sem为指向信号量结构的一个指针;pshared不为0时此信号量在进程间共享,否则只能为当前进程的所有

2014-08-15 10:53:42 929

转载 memset函数使用详解

今天做题卡在MEMSET函数的使用上了,本来以为int a[100]; memset(a, MAX,sizeof(a));就是将a数组全部赋值为MAX,现在才知道他的填充是以字节

2014-08-13 20:24:17 441

转载 U-Boot 命令

Printenv 打印环境变量。Uboot> printenvbaudrate=115200ipaddr=192.168.1.1ethaddr=12:34:56:78:9A:BCserverip=192.168.1.5Environment size: 80/8188 bytesSetenv 设置新的变量Uboot> setenv myboa

2014-07-17 14:47:52 531

转载 C语言里的左移和右移运算

先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用int i = 1;i = i 也就是说,1的2进制是000...0001(这里1前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成000...0100,也就是10进制的4,所以说左移1位相当于乘以2,那么左移n位就是乘以2的n次方了(有符号数不完全适用,因为左移有可能导致符号变化,下面

2014-06-18 10:15:46 15992 2

转载 static和extern 的区别

一些基本概念:1. 编译单元(模块):    在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下做开发工作的话,那么你可能非常的理解编译与连接的区别!当在

2014-03-20 13:47:47 441

转载 __I、 __O 、__IO是什么意思?

这是ST库里面的宏定义,定义如下:#define     __I       volatile const        /*!< defines 'read only' permissions      */#define     __O     volatile                  /*!#define     __IO    volatile       

2014-03-18 13:49:27 559

转载 c/c++中结构体引用中箭头->与点.的区别

首先介绍一下C++中的结构。对于一个结构来说,struct MyStruct{int member_a;};如果有个变量MyStruct s,那么使用其中的成员元素时可以用s.member_a = 1;如果采用指针方法访问,比如MyStruct * ps,那么同样的访问就必须使用如下形式:(*ps).member_a = 1;或者ps->member_a

2014-02-25 16:38:39 1222

转载 STM32学习笔记(7):USART串口的使用

2011年4月19日 USART串口通信1.     串口的基本概念在STM32的参考手册中,串口被描述成通用同步异步收发器(USART),它提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互联网),智能卡协议和IrDA(红外数据组织

2014-01-17 20:49:56 1348 1

转载 STM32学习笔记(6):LCD的显示

1.     LCD/LCM的基本概念液晶显示器(Liquid Crystal Display: LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。LCM(LCD Module)即LCD显示模组、液晶模块,是指将液晶显示器件,连接件,控制与驱动等外围电路,PCB电路板,背光源,

2014-01-17 20:43:01 1853

转载 STM32学习笔记(4):通用定时器基本定时功能

2011年3月29日 TIMER基本定时功能1.     STM32的Timer简介STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描述的SysTick,看门狗定时器以后再详细研究。今天主要是研究剩下的8个定时器。其中TIM1和TIM8是能够产生3对PWM互补输出的

2014-01-17 20:38:36 1758

转载 STM32学习笔记(3):系统时钟和SysTick定时器

2011年3月21日 系统时钟和SysTick定时器1.  STM32的时钟系统在STM32中,一共有5个时钟源,分别是HSI、HSE、LSI、LSE、PLL(1)HSI是高速内部时钟,RC振荡器,频率为8MHz;(2) HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围是4MHz – 16MHz;(3)LSI是低速内部时钟,RC振荡器,

2014-01-17 20:36:04 1818

转载 STM32学习笔记(2):外部中断的使用

2011年3月20日 外部中断中断对于开发嵌入式系统来讲的地位绝对是毋庸置疑的,在C51单片机时代,一共只有5个中断,其中2个外部中断,2个定时/计数器中断和一个串口中断,但是在STM32中,中断数量大大增加,而且中断的设置也更加复杂。今天就将来探讨一下关于STM32中的中断系统。1 基本概念ARM Coetex-M3内核共支持256个中断,其中16个内部中断,240个外部

2014-01-17 20:33:57 890

转载 STM32学习笔记(1):GPIO口的使用

2011年3月19日 顺序点亮LED灯摸索了很久之后终于把ARM开发板上的LED灯点亮了,虽然是很简单的一个IO口操作,但是由于以前从来都没有什么经验,所以浪费了很多时间,也查找了很多资料。现在可以操作IO口了,证明迈出了学习ARM的第一步。实验平台清单如下:开发板:              奋斗STRIVE V3核心芯片:          STM32F103V

2014-01-17 20:30:57 1331

转载 C语言之详解#ifdef等宏

C语言之详解#ifdef等宏这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。条件编译命令最常见的形式为:1234

2014-01-15 22:09:18 504

转载 Source Insight

Source Insight,一个无比强大的工具。一个很好的查看代码的工具。到它的官网上去看一下,就知道,世界上基本上所有的大的软件公司,都在用这个工具。习惯了这个工具以后,你会无法忍受其它的代码编辑和查看工具。官方下载地址:http://www.sourceinsight.com/distribute/Si3563Setup.exe官方网站:http://www.source

2014-01-15 16:26:52 508

转载 uImage

u-boot只能识别uImage格式的内核。如果使用u-boot来启动Linux的话就需要生成uImage。在linux 2.6以上的内核中,可以用make uImage去直接生成它,但是linux 2.4或者更早的linux的话,你就要自己手动去生成它。

2014-01-06 11:22:19 734

转载 make uImage 和make zImage的区别

内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。    那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0×40之后与zImage没区别

2014-01-06 11:18:43 4031

转载 计算机类中文核心期刊

1.《软件学报》 (月刊) EI、ISTIC收录主办单位:中国计算机学会 中国科学院软件研究所地址:北京8718信箱 北京海淀区中关村《软件学报》编辑委员会邮编:100080邮发代号:82-367E-mail:jos@iscas.ac.cnhttp://www.jos.org.cn2.《计算机学报》(月刊) EI、ISTIC收录主办单位:中国计算机学会 中国

2014-01-06 10:42:40 1503

原创 make menuconfig(3g模块调试)

#make menuconfig   基于文本选单的配置界面,字符终端下推荐使用 选择相应的配置时,有三种选择,它们分别代表的含义如下:   Y--将该功能编译进内核   N--不将该功能编译进内核    M--将该功能编译成可以在需要时动态插入到内核中的模块,拷到文件系统,后面再加载

2014-01-03 19:32:45 565

转载 [hi3518] HI3518编译uboot 、kernel、rootfs、osdrv 使用说明

1.osdrv 顶层 Makefile 使用说明本目录下的编译脚本支持选用下文提到的两种工具链中的任何一种进行编译,因此编译时需要带上一个编译参数以指定对应的工具链 -- arm-hisiv100nptl-linux 和 arm-hisiv200-linux。其中,arm-hisiv100nptl-linux工具链对应uclibc库,arm-hisiv200-linux工具链对应glibc库;

2013-12-31 20:33:58 1860

原创 RF是什么意思?

RF是Radio Frequency的缩写,即射频。在电子学理论中,电流流过导体,导体周围会形成磁场;交变电流通过导体,导体周围会形成交变的电磁场,称为电磁波。在电磁波频率低于100khz时,电磁波会被地表吸收,不能形成有效的传输,但电磁波频率高于100khz时,电磁波可以在空气中传播。RF指具有远距离传输能力的高频电磁波,射频技术在无线通信领域中被广泛使用。

2013-12-27 11:19:44 5269

原创 DDR是什么,干什么用

严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。 SDRAM在一个时钟周期内只传输一次

2013-12-27 11:01:44 11560 1

原创 ppp是什么,作用是什么

.点对点协议 (PPP:Point to Point Protocol)点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。

2013-12-26 10:04:53 1839

原创 modem是什么

modem,即调制解调器,是一种计算机硬件,它能把计算机的数字信号翻译成可沿普通电话线传送的脉冲信号,而这些脉冲信号又可被线路另一端的另一个调制解调器接收,并译成计算机可懂的语言。这一简单过程完成了两台计算机间的通信。也就是说,你的电脑必须由modem连接至网络。

2013-12-26 09:56:25 1309

原创 configure时出现的错误(1)

configure: error: C++ preprocessor "/lib/cpp" fails sanity check See `config.log' for more details.

2013-12-25 16:59:27 969

转载 ./configure,make,make install的作用

1、configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/l

2013-12-25 11:22:17 472

原创 ./configure作用

./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,但并不是所有的tar包都是源代码的包,可以ls看看有没有configure这个文件,如果是二进制的包,解压后直接就能使用

2013-12-25 10:11:27 3362

原创 怎样查询自己的IP地址

点 开始--运行,输入cmd然后命令提示付输入 ipconfig

2013-12-25 09:02:50 757

原创 ubuntu12.04(32&64位)的安装

之前安装的是ubuntu12.04-64,由于在编译minigui时经常出错,所以决定安装32位的ubuntu12.04.距离上次安装时间太长了,所以很多细节都忘记了,捣鼓了半天才装好,所以必须几下,所谓好记性不如烂笔头嘛。首先,去官网下载镜像文件(否则总会出现些乱七八糟的游戏,让人心情不爽)http://www.ubuntu.com/download是官网。选Download下的Deskto

2013-12-24 20:49:38 3418

原创 启动程序BootLoader是什么

1.对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS(Basic Input /OutputSystem)完成的,但对于嵌入式系统来说,出于经济性、价格方面考虑一般不配置BIOS,因此我们必须自行编写完成这些工作的程序。这就是所需要的开机程序,在嵌入式中称为BootLoader程序。    系统加电复位后,几乎所有的CPU都从由复位地址上取指令。    因此

2013-11-20 16:03:04 1009

原创 scanf的相关知识点

和printf类似,scanf也可以用%c、%f、%s等转换说明。如果在传给scanf的第一个参数中用%d、%f或%c表示读入一个整数、浮点数或字符,则第二个参数的形式应该是&运算符加相应类型的变量名,表示读进来的数保存到这个变量中,&运算符的作用是得到一个指针类型,如果在第一个参数中用%s读入一个字符串,则第二个参数应该是数组名,数组名前面不加&,因为数组类型做右值时自动转换成指针类型。

2013-11-18 16:05:37 1022

原创 打印周一到周日任何一天

#include void print_day(int day){ switch(day){ case 1: printf("Monday\n"); break; case 2: printf("Tuesday\n"); break; case 3: printf("Wednesday\n"); break; case 4:

2013-11-18 15:47:46 1024

原创 字符串相关内容

字符串可以看作一个数组,它的每个元素是字符型的,注意每个字符串末尾都有一个字符'\0'做结束符,这里的\0是ASCII码的八进制表示,也就是ASCII码为0的Null字符,在C语言中这种字符串也称为以零结尾的字符串。字符数组,也可以用一个字符串字面值来初始化:char  a【10】=“hello”;相当于char a[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘\0’};print

2013-11-18 10:53:55 673

转载 Sizeof与Strlen的区别与联系

一、sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。    它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。    由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的

2013-10-24 09:46:11 405

转载 读取文件大小 获取文件长度

UINT read_binary_size(TCHAR file_name[]) { HANDLE hFile = CreateFile(file_name, GENERIC_READ , 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile==NULL||hFile==INVALID

2013-10-23 16:36:09 1527

转载 获取当前时间做为当前文件名

SYSTEMTIME sys; GetLocalTime( &sys ); char str_time_name[MAX_PATH]; sprintf( str_time_name,"%d%d%d%d%d%d.jpg" ,sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute,sys.wSecond);

2013-10-23 16:31:31 750

原创 (2)生成随机数,打印并统计

问题是这样的:首先生成一列0~9的随机数保存在数组中,然后统计其中每个数字出现的次数并打印。#include #include #define N 20int a[N];void gen_random(upper_bound) //生成随机数{ int i; for(i=0;i<N;i++) { a[i]=rand()%10; p

2013-10-23 11:19:50 896

原创 ++a 和a++

a++是先执行表达式后再自增,执行表达式时使用的是a的原值。++a是先自增再执行表达式,执行表达式时使用的是自增后的a。例:int a=0printf("%d",a++); //输出0,执行完后a=1int a=0printf("%d",++a);//输出1,执行完后a=1 有个口诀,方便记忆,++在前先加,意思就是先+1再赋值,比如i=++j,相当于j=j+1

2013-10-23 09:19:50 573

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除