自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

樊茂林的博客

天生我材必有用

原创 platform总线按键驱动分析(精华版)

驱动做了三个多星期了,从helloworld到LED再到PlatformLED,现在终于到了按键驱动,对于驱动的理解深刻了不少,从完全看不懂到现在能够独立分析,进步很大,今天完成了按键驱动,做一个总结性的分享,给后面的自己看!加油!按键驱动:与之前不同,这次将按

2017-08-28 13:53:30 2087 3

原创 UDA1341声卡驱动与madplay移植播放mp3(第三方源代码移植步骤)

首先配置声卡UDA134驱动,看原理图 我们只需要将相应的IIS管脚设置为我们开发板的原理图设计的管脚就可以了。我们只要在/arch/arm/mach-s3c2440/mach-smdk2440.c文件中注册UDA1341 平台设备的控制端口就可以了,端口如上图所示,打开mach-...

2017-04-23 20:39:27 769 0

原创 windows10 如何给应用程序设置快捷键及一些常用好玩快捷键

自己经常使用截图、画图、计算器等系统自带的实用小工具,但是每次用鼠标点来点去觉得很郁闷,就上网百度加自己研究发现它们有些根本没有快捷键需要主人自己进行设置,而且这次还发现了一些之前不怎么使用的有用的win10工具,文章所有的内容我都亲身实践过,收获满满,特此总结一下,那些复制粘贴类的基础快捷键我就...

2017-04-11 18:18:42 18233 0

原创 linux下使用ntpdate同步网络时间

为什么需要网络同步时间:Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步安装ntpdate[fanmaolin@Centeros ~]$ sudo y...

2017-09-04 17:01:38 6319 0

原创 结构体对齐详解

阅读说明1、在文中要注意#pragma pack()函数的使用2、本文中博主用于演示的是linux32位系统3、如果有不同意见可以在下面评论区一起讨论(windows下的我不是很清楚,听说例二windows下的那个分析有问题,1B+8B=13B,阅读分析时请注意)4、我觉得这篇文章解释的非常清楚,...

2017-09-04 16:43:39 422 0

转载 关于configure和Makefile

转自:http://blog.csdn.net/lltaoyy/article/details/7615833Linux下Makefile的automake生成全攻略  作为linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家...

2017-09-02 13:08:55 399 0

转载 UDA1341声卡传输基本原理

转自:http://www.cnblogs.com/TaigaCon/archive/2012/12/07/2807922.htmluda1341连接soc的引脚分为两类:数据引脚、控制引脚。  数据引脚用于音频码流的传输,  控制引脚用于该声卡芯片控制,比如说音量控制等如下图为uda1341的声...

2017-09-02 11:34:25 302 0

转载 Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解

引言前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? 在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽回事呢? 我...

2017-09-01 16:52:03 250 0

转载 C编程注意32位机器和64位机器的差别及unsigned和signed

1.64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2.64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。C/C++ 32位机器和64位机器 差异问题总结 跨平台 移植...

2017-09-01 11:21:30 1975 0

转载 Linux驱动中的platform总线分析

最近在复习platform总线相关的知识,碰到一篇感觉不错的文章。转载自:http://blog.csdn.net/pillarbuaa/article/details/7680372概述从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device 和 platform...

2017-08-27 20:48:14 5679 0

转载 版本控制系统GIT和SVN的区别

两个都使用过,但是就保存代码来说,我偏向于SVN,而且用的比较熟练。但是GIT也有它的优势所在。1)Git是分布式的,SVN不是:这 是git和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可...

2017-08-19 15:34:13 849 0

转载 串口通信数据位长度对传输数据的影响

针对串口通信,关于设置数据位长度对通信的影响,如图: 在串口数据通信中,会看到串口参数设置。其中“数据位”设置,共有四档选项,分别是8、7、6、5。那么改变这个参数会对数据的传输有什么影响呢?我来做个试验,通过示波器观察通信过程,能够分析结果如下:例如数据位设置为5。那么就相当于规定了每个传输字...

2017-08-17 20:03:43 3262 0

原创 用buildroot制作交叉编译器

以前做文件系统的时候制作过交叉编译器,现在重新做一遍总结一下。认识交叉编译器交叉编译器简介 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码。比如我们在pc下编译的代码,想要在arm开发板上运行,就需要用交叉编译器编译pc端的代码,然后才能在arm板上运行。制作交叉编译器过程把...

2017-08-17 18:27:30 476 0

原创 二叉树的操作:创建、遍历、求树的深度、叶子结点数

二叉树认识二叉树在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。在该图中,用’#’表示空节点,我们真正要创建的树为有ABCD字符。先序遍历的方式创建二叉树int creatBitree(stru...

2017-08-16 12:39:14 742 0

原创 排序算法学习:快速的桶排序

排序原理 假设现在要对5 3 5 2 8这几个数进行排序。我们申请一个大小为9的数组(待排序数中最大数+1),假设为9个木桶,把9个木桶置为0,如图: 然后在对应桶的编号(这就是为什么要设置为待排序数组中最大数+1了)中标记1,如图在a[5]中标记为1,表示待排数组中有5,并且5在a[5]这个...

2017-08-14 17:18:24 227 0

原创 排序算法学习:冒泡、选择、快速

排序的相关概念排序:将一组杂乱无章的数据按一定的规律顺次排列起来。数据表( data list): 它是待排序数据对象的有限集合。排序码(key):通常数据对象有多个属性域,即多个数据成员组成,其中有一个属性域可用来区分对象,作为排序依据。该域即为排序码。每个数据表用哪个属性域作为排序码,要视具体...

2017-08-13 20:22:36 226 0

原创 单向链表的逆序,不使用额外节点存储实现

链表的逆序是常见考题,今天来简单学习使用如何实现单向链表的逆序。逆序过程初始链表状态 初始状态,prev是NULL,head指向当前的头节点A,next指向A节点的下一个节点B。首先从A节点开始逆序,将A节点的next指针指向prev,因为prev的当前值是NULL,所以A节点就从链表中脱离出来...

2017-08-12 10:00:20 335 0

原创 单向链表的节点插入与删除

理解了链表的创建后,其他链表操作也变得比较简单,对上次的代码做了些修改,今天来记录一下自己对链表节点的插入与删除操作的学习。在某个节点后插入节点struct node *insert(struct node *head, int datanum, struct node *new) { s...

2017-08-10 20:33:40 522 0

原创 创建N个单向链表对它进行摧毁和清空操作

摧毁和清空的含义及区别摧毁是先销毁了链表的头,然后接着一个一个的把后面的销毁了,这样这个链表就不能再使用了,即把包括头的所有节点全部释放。清空是先保留了链表的头,然后把头后面的所有的都销毁,最后把头里指向下一个的指针设为空,这样就相当与清空了,但这个链表还在,还可以继续使用;即保留了头,后面的全部...

2017-08-09 15:43:05 307 0

原创 单向链表的创建和遍历

单向链表简介单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始; 链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点; 链表是由结点构成,head指针指向第一个成为...

2017-08-08 15:40:56 242 0

转载 c语言中基本数据类型printf()对应格式

printf() printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为: printf(“<格式化字符串>”, <参量表>);其中格式化字符串包括两部分内容:一部分是正常字符, 这些字符将按原样输出;另一部分是...

2017-08-07 16:35:28 4136 0

原创 关于Markdown,吞文本问题

若str1==str2,则返回零; 若str1为什么后面的字不显示?解决方法:若str1==str2,则返回零; 若str1< str2,则返回负数; 若str1>str2,则返回正数。 matlab中函数,strcmp(s1,s2) 判断两个字符串s1和s2是否相同,相同返回...

2017-08-07 16:31:00 240 0

原创 常见字符串函数的学习总结

str系列,mem系列,常见字符串函数

2017-08-07 16:15:18 171 0

原创 C程序内存布局学习总结

C程序的编译过程由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-链接三个阶段。编译过程把c语言文本文件生成汇编程序,汇编过程把汇编程序形成二进制机器代码,链接过程则将各个源文件生成的二进制机器代码文件组合成一个文件。C语言编写的程序经过编译-连接后,将形成一个统一格式的二...

2017-08-06 17:16:58 263 0

原创 Linux下安装及使用sqlite3数据库

数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存...

2017-08-05 20:24:29 6567 1

原创 LINUX下操作GIT远程仓库与本地仓库同步

GIT简介来源Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。功能1、从服务器上克隆数据库(包括代码和版本信息)到单机上。 2、在自己的机器上创建分支...

2017-08-05 15:36:10 490 0

原创 centos下安装使用SVN

SVN简介svn功能实现SVN 全名 Subversion,即版本控制系统,它是一个自由/开源的同时支持多种操作系统的版本控制系统。在 Subversion 管理下,文件和目录可以回到任意时刻的版本,以及比较任意两个时刻的版本变动。 我们称用来存放上传档案的地方就做 Repository。用中文...

2017-08-04 15:59:34 324 0

原创 centos下搭建ftp服务器

FTP简介FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文...

2017-08-04 13:59:43 239 0

原创 centos下安装配置TFTP服务器

TFTP简介TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。 安装TFTP服务器检查是否有TFTP服务器软件包[fanmaolin...

2017-08-03 19:22:50 291 0

原创 用C代码写贪吃蛇游戏--打印食物

贪吃蛇游戏创建食物:1、食物的产生要求是随机的 2、蛇吃掉食物后会长大 3、蛇吃掉食物后会再次产生食物因为食物的产生是随机的,要求用C产生随机数:产生1-6的10个随机数 int main(void) { int i = 0; for(i=0;i<10;i++) {...

2017-08-02 15:49:01 983 0

原创 用C代码写贪吃蛇游戏--用按键控制蛇移动

通过按键控制蛇的移动,首先需要读取按键,通过按键来控制。通过百度后得知用kbhit();用一小段代码进行测试:一直输出Hello World,直到用户按Esc结束#include "stdafx.h" #include<stdio.h> #include<co...

2017-08-02 15:03:32 6916 3

原创 用C代码写贪吃蛇游戏--创建一条蛇并移动

*********************************************** 开发工具:VC6.0中文版 ********************************************** 前段时间实习做了贪吃蛇游戏,现在抽空进行总结和整理,重点是整理思路...

2017-08-02 13:12:09 5331 0

原创 socket编程之客户--服务器通信程序学习

操作系统有五大功能,简单总结为:操作系统的五大功能: 1、进程管理 2、内存管理 3、文件系统 4、网络管理 5、设备管理 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 网络中的进程是通过socket来通信的,那什么是socket呢?socket起源...

2017-06-19 15:26:34 268 0

原创 FL2440-A7模块用程序实现GPS自动定位解析功能

**主机操作系统:Centos 6.7 交叉编译器版本:buildroot-2012.08 开发板平台: FL2440 Linux内核版本: linux-3.0 开发模块:A7模块GPS自动定位解析** 一、添加内核选项支持cp2102 因为我使用的是cp2102芯片USB转...

2017-06-12 15:16:25 361 0

原创 安信可A7模块GPS定位功能测试及解析

一、http://blog.csdn.net/zccst/article/details/4235068 http://blog.csdn.net/gyb510/article/details/51775102?locationNum=2&fps=1 http://blog.csdn....

2017-06-09 20:56:49 832 0

原创 安信可A7模块GPRS功能测试及初步学习AT指令

一、GPRS简介 GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的功能模块。GSM模块根据其提供的数据传输速率又可以分为GPRS模块、EDGE模块和纯短信模块。短信模块只支持语音和短信服务。GPRS,可...

2017-06-08 17:27:59 3032 0

原创 安信可A7模块、DB9公母头及TTL\rs232简介

一、A7模块简介 背面示意图 二、实现串口通信 要想通过计算机操作A7模块,还需要一个串口,我这里使用cp2102串口可以通过开关来转换TTL和RS232电平工作,第一次使用时需要安装驱动,因为安信可A7模块是TTL电平,所以我将串口电平开关拨到TTL端,如果两者电平不一致...

2017-06-08 16:00:58 1175 0

原创 FL2440wifi模块学习之用rt3070芯片使开发板变为路由器上网

SoftAP模式。以开发板fl2440作为一个路由器,并使自己的手机、笔记本电脑连接到这个“路由器”上网。 一、配置内核支持无线网卡softAP模式 [*] Networking support ---> Networking options ---> ...

2017-05-30 13:19:10 754 0

原创 FL2440WiFi学习之rt3070无线网卡动态获取IP上网

主机操作系统:Centos 6.7 交叉编译器版本:buildroot-2012.08  开发板平台: FL2440  Linux内核版本: linux-3.0  开发模块:rt3070无线网卡动态获取IP上网 之前我们需要自己手动设置IP来上网,现在让它动态获取IP自己...

2017-05-30 12:11:05 269 0

原创 通过secureCRT的SSH2来实现无线连接开发板

这样做可以省去每次利用串口操作开发板的步骤,因为后面设置开发板为AP模式时,一直坐在路由器旁边不舒服。 原理为通过开发板连接路由器的LAN口,电脑也连接到该路由器,这样子开发板和电脑处在同一个局域网内,设置好相应的IP就可以了。 知道原理后就开始配置咯。 一、电脑连到相应的路由器wifi上 ...

2017-05-30 10:14:55 1507 0

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